Linux - это интересно!
Вы не вошли.
Предыстория: на виндовом разделе лежит образ диска файловой системой ext4.
Диск создавался при помощи QEMU (qemu-img create -f raw 0data.img 5G) специально указал формат raw для совместимости.
Беда в том, что монтируется из арчика только на просмотр, читаю man mount, пробую разные парамы, но пока безрезультатно.
sudo mount -t ext4 -o rw,loop,user,offset=$((2048 * 512)) /run/media/-NTFS-раздел-винды-/0data.img /mnt/winimg
права на запись в /mnt/winimg у меня есть и могу создать там файл, но когда монтирую туда образ, то вижу содержимое, однако ничего там редактировать не могу.
~$ file /run/media/-NTFS-раздел-винды-/0data.img
/run/media/lime/D256EFB856EF9C0B/OEM/0data.img: DOS/MBR boot sector; partition 1 : ID=0x83, start-CHS (0x0,32,33), end-CHS (0x28c,180,40), startsector 2048, 10483712 sectors
~$ sudo fdisk -l
Диск /dev/nvme0n1: 119,24 GiB, 128035676160 байт, 250069680 секторов
Disk model: WDC PC SN520 SDAPNUW-128G-1014
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: gpt
Идентификатор диска: XXX-XXX...
Устр-во начало Конец Секторы Размер Тип
/dev/nvme0n1p1 2048 1085439 1083392 529M Среда для восстановления Microsoft
/dev/nvme0n1p2 1085440 1290239 204800 100M EFI
/dev/nvme0n1p3 1290240 1323007 32768 16M Зарезервированный раздел Microsoft
/dev/nvme0n1p4 1323008 248756298 247433291 118G Microsoft basic data
/dev/nvme0n1p5 248758272 250066943 1308672 639M Среда для восстановления Microsoft
. . . . . . . . . . . . . . .
Диск /dev/loop1: 5 GiB, 5367660544 байт, 10483712 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
~$ groups
lp wheel games ntp video audio optical storage scanner power users alsa
Как дать права на редактирование?
Может это связано с тем, что файл образа лежит на NTFS разделе, или с тем, что он создан при помощи qemu-img.exe?
Отредактировано BigOrange (12-02-2022 09:35:38)
Долой DE! Даёшь WM!
Вне форума
Увы, нет возможности проверить.
А что говорит
losetup -l
?
Формат вывода примерно такой:
ovans@ThinkPad-X250:~$ losetup -l
NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE DIO LOG-SEC
/dev/loop1 0 0 1 1 /mount/... 0 512
Ещё говорят, что можно uid задавать:
You can force a default uid by passing uid=$(id -u) as an option
И народ любит "синк" добавлять в опции, хотя тут это едва ли поможет:
loop,rw,sync
Добавлено спустя 02 мин 53 с:
Пишут ещё про "guestmount libguestfs":
sudo apt-get install libguestfs-tools
# /dev/sda becuase we have a raw filesystem.
guestmount -a sysroot.ext2.qcow2 -m /dev/sda mnt
cmp sysroot/myfile mnt/myfile
guestunmount mnt
Добавлено спустя 04 мин 05 с:
http://libguestfs.org/guestmount.1.html
zenway admin
Вне форума
Выбросил созданный в qemu файл, взял нормальный проверенный, который неоднократно заливал на флешки
~$ fdisk -lu /run/media/ . . . /archusb.img
Диск /run/media/ . . . /archusb.img: 14,32 GiB, 15376318464 байт, 30031872 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: dos
Идентификатор диска: 0x8b27073d
Устр-во Загрузочный начало Конец Секторы Размер Идентификатор Тип
/run/media/ . . . /archusb.img1 * 2048 4095999 4093952 2G c W95 FAT32 (LBA)
/run/media/ . . . /archusb.img2 4096000 30031871 25935872 12,4G 83 Linux
~$ losetup -l
NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE DIO LOG-SEC
/dev/loop1 0 2097152000 1 0 /run/media/ . . . /archusb.img 0 512
монтировал так
~$ sudo mount -t ext4 -o rw,user,loop,offset=$((4096000 * 512)) /run/media/ . . . /archusb.img /mnt/winimg
Добавлено спустя 16 мин 07 с:
libguestfs-tools
в арче вместо libguestfs-tools предлагают такое
community/libguestfs 1.46.2-2 (3.9 MiB 17.6 MiB)
Access and modify virtual machine disk images
наверное оно и есть, и судя по зависимостям оно qemu-шные форматы понимает
буду упражняться
Добавлено спустя 4 ч 58 мин 55 с:
вот, что ..., характерно:
~$ mount | grep /run/media/ . . . /data-disk-14g.img
/run/media/ . . . /data-disk-14g.img on /mnt/winimg type ext4 (rw,relatime)
но это всё неправда
Добавлено спустя 22 ч 45 мин 58 с:
Проблема решилась, но весьма странным способом.
Всё дело было в правах на запись.
А решил так:
Перебирая всевозможные варианты, решил подключить образ к виртуальной машине и там уже обнаружил, что обычный пользователь не имеет прав на запись.
Образ был cмонтирован как /media/sda, психанул и выставил на него права 777 рекурсивно. Как ни странно, трюк сработал. Загрузившись в десктопную систему, имею полный доступ не используя особых праметров mount
sudo mount -t ext4 -o loop,offset= . . .
Долой DE! Даёшь WM!
Вне форума
Да уж )))
А трюк с uid=$(id -u) не помогал?
zenway admin
Вне форума
@vovans,
Сделал для тестов 128М диск на поиграться
я наверное что-то не так делаю с uid
~$ sudo mount -t ext4 -o uid=$(id -u),loop,offset=$((2048 * 512)) /run/media . . . /128ext4.img /mnt/test
mount: /mnt/test: wrong fs type, bad option, bad superblock on /dev/loop1, missing codepage or helper program, or other error.
~$
sudo mount -t ext4 -o loop,offset=$((2048 * 512)) . . . - так монтируется, но на просмотронли
всё несколько проще оказалось, *.img нужно сначала куда-то смонтировать а потом уже у точки монтирования права менять
Долой DE! Даёшь WM!
Вне форума
[ Сгенерировано за 0.034 сек, 9 запросов выполнено - Использовано памяти: 1.62 Мбайт (Пик: 1.74 Мбайт) ]