Просмотр.img без монтажа

Есть ли способ просмотреть файл.img без его монтирования? У меня есть файл.img, который я сгенерировал из снимка раздела clonezilla. У меня как-то возникают проблемы с монтированием файла командой mount -o loop sda5.img /mnt/,

dmesg | tail показывает мне следующую ошибку:

[1325.395286] EXT4-fs (loop0): неверная геометрия: число блоков 11221248 превышает размер устройства (11218432 блоков)

Кто-нибудь получил идею, как просматривать без монтирования или что может быть причиной этой ошибки?

2 ответа

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

Для этого вам понадобится parted инструмент, вы можете установить его с помощью следующей команды:

apt-get install parted

После установки parted, начните с пути к вашему файлу изображения. parted подсказка будет показана:

$ parted /path/to/image/file/sda5.img
GNU Parted 2.3
.....
(parted)

В этом приглашении (с префиксом (parted)) введите следующие команды:

(parted) unit B
(parted) print
.....
Number  Start          End            Size           Type     File system  Flags
 1      1048576B       1573912575B    1572864000B    primary  ntfs         boot
 2      1573912576B    156774694911B  155200782336B  primary  ntfs
 3      156774694912B  171454758911B  14680064000B   primary  ntfs
 4      171454758912B  180044693503B  8589934592B    primary

(parted) q

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

sudo mount -o loop,ro,offset=1048576 /path/to/image/file/sda5.img /mnt/partition

Удостоверься что /mnt/partition существует в первую очередь.

Я получил эту же проблему с изображением ext4, сгенерированным из снимка Clonezilla.

На самом деле мне удалось расширить файл до размера, указанного в таблице разделов, с использованием усечения. Ошибка dmesg в моем случае была:

[15687.653868] EXT4-fs (loop0): bad geometry: block count 18482176 exceeds size
  of device (18352672 blocks)

Поэтому я скорректировал длину файла с помощью:

truncate -o -s 18482176 /path/to/partition.img

(обратите внимание, что это первое и большее из двух чисел в журнале)

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

Другие вопросы по тегам