Просмотр.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
(обратите внимание, что это первое и большее из двух чисел в журнале)
После этого монтировка была счастлива, и я смог получить доступ к своим данным.