Zenway

Linux - это интересно!

Вы не вошли.

#1 10-02-2022 17:57:09

BigOrange
Модератор
Откуда: Саратов
Здесь с 20-11-2010
Сообщений: 2,297
LinuxFirefox 68.0

[РЕШЕНО] права на запись в примонтированный образ диска (raw.img)

Предыстория: на виндовом разделе лежит образ диска файловой системой 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!

Вне форума

#2 10-02-2022 23:14:23

vovans
Администратор
Откуда: Ростов-на-Дону
Здесь с 19-10-2010
Сообщений: 510
Сайт
LinuxChrome 98.0

Re: [РЕШЕНО] права на запись в примонтированный образ диска (raw.img)

Увы, нет возможности проверить.

А что говорит

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

Вне форума

#3 11-02-2022 11:05:41

BigOrange
Модератор
Откуда: Саратов
Здесь с 20-11-2010
Сообщений: 2,297
LinuxFirefox 68.0

Re: [РЕШЕНО] права на запись в примонтированный образ диска (raw.img)

Выбросил созданный в 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)
rw !!!

но это всё неправда

Добавлено спустя 22 ч 45 мин 58 с:
Проблема решилась, но весьма странным способом.
Всё дело было в правах на запись.
А решил так:
Перебирая всевозможные варианты, решил подключить образ к виртуальной машине и там уже обнаружил, что обычный пользователь не имеет прав на запись.
Образ был cмонтирован как /media/sda, психанул и выставил на него права 777 рекурсивно. Как ни странно, трюк сработал. Загрузившись в десктопную систему, имею полный доступ не используя особых праметров mount

sudo mount -t ext4 -o loop,offset= . . .


Долой DE! Даёшь WM!

Вне форума

#4 12-02-2022 15:08:14

vovans
Администратор
Откуда: Ростов-на-Дону
Здесь с 19-10-2010
Сообщений: 510
Сайт
LinuxChrome 98.0

Re: [РЕШЕНО] права на запись в примонтированный образ диска (raw.img)

Да уж )))

А трюк с uid=$(id -u) не помогал?


zenway admin

Вне форума

#5 13-02-2022 12:44:28

BigOrange
Модератор
Откуда: Саратов
Здесь с 20-11-2010
Сообщений: 2,297
LinuxFirefox 68.0

Re: [РЕШЕНО] права на запись в примонтированный образ диска (raw.img)

@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, гостей: 3
[Bot] CCBot

Подвал форума

Под управлением FluxBB
Модифицировал Visman

[ Сгенерировано за 0.017 сек, 10 запросов выполнено - Использовано памяти: 1.68 Мбайт (Пик: 1.76 Мбайт) ]