Ubuntu - монтировать файл образа с разрешением r / w


4

Ведущий: Ubuntu 15.04

С помощью Disk Image Mounterя могу смонтировать test.img и выскочить три каталога.

  1. Система-а
  2. Система-б
  3. записываемый

Поскольку я искал вокруг, я не могу редактировать каталоги, так как они доступны только для чтения.

Возможное решение, которое я нашел до сих пор, состоит в том, чтобы скопировать эти каталоги в другое новое место и создать новый файл изображения.

Однако, поскольку файл образа содержит эти три каталога, как я могу это сделать?

============= после обновления =============

mount: wrong fs type, bad option, bad superblock on /dev/loop1,
       missing codepage or helper program, or other error

       In some cases useful info is found in syslog - try
       dmesg | tail or so.

=====================================

Device                Start     End Sectors  Size Type
test_custom2.img1    8192   16383    8192    4M BIOS boot
test_custom2.img2   16384  147455  131072   64M EFI System
test_custom2.img3  147456 2244607 2097152    1G Linux filesystem
test_custom2.img4 2244608 4341759 2097152    1G Linux filesystem
test_custom2.img5 4341760 7614463 3272704  1.6G Linux filesystem

Какой тип файловой системы содержит изображение?
Андреас-Хофманн

@ andreas-hofmann ext4
Сэм,

Есть ли разделы на изображении? О чем говорит выход fdisk -l image.img?
Андреас-Хофманн

@ andreas-hofmann сообщение обновлено.
Сэм

Ответы:


1

Проблема в том, что в вашем изображении несколько разделов. Обычное старое монтирование ищет информацию о файловой системе со смещением 0, которое в вашем случае, по-видимому, указывает на некоторую информацию о загрузке BIOS, но не на нужные ext4 fs. Вы должны преуспеть, создав loopback-устройство со смещением к желаемому разделу.

Эта ссылка может вам помочь.


4

Вы должны убедиться, что ваш текущий пользовательский каталог имеет права на чтение и запись для вашей операции.

sudo mkdir -p /tmp/test && sudo mount -o loop,rw,sync image.img /tmp/test

спасибо, но я получил ошибку, набрав вашу команду
Сэм

Я обновил пост, пожалуйста, дайте мне знать, если у вас есть идеи.
Сэм

0

Вот полный процесс, основанный на ответе здесь :

Ваш файл .img - это не образ раздела, а всего диска. Это означает, что он начинается с загрузчика и таблицы разделов. Вы должны определить смещение раздела и установить его специально. Так что вы должны заниматься математикой, но это легко. Вот процесс:

fdisk -l raspberry_pi.img

Который дает вывод ниже. Обратите внимание на размер сектора в байтах (512 в данном случае) и начальный сектор раздела (94208 для раздела Linux в этом случае).

Disk raspberry_pi.img: 7.3 GiB, 7826571264 bytes, 15286272 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xbeb1a7ff

Device          Boot Start      End  Sectors  Size Id Type
raspberry_pi.img1       8192    93813    85622 41.8M  c W95 FAT32 (LBA)
raspberry_pi.img2      94208 15069183 14974976  7.1G 83 Linux

Теперь вручную умножьте начальный сектор * размер сектора, чтобы получить байты смещения, необходимые для mountкоманды. В этом случае 94208 * 512 = 48234496

sudo mkdir /media/sdcard
sudo mount -o loop,rw,sync,offset=48234496 printer_v5.img /media/sdcard

Теперь раздел образа образа смонтирован в / media / sdcard, и пользователь root может редактировать его файлы.

Наконец, когда вы закончите:

sudo umount /media/sdcard
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.