Переглядайте .img без монтажу


13

Чи все-таки можна переглядати .img-файл, не встановлюючи його? У мене є файл .img, який я згенерував із знімка розділів клонезила. У мене якимось чином виникають проблеми зі встановленням файлу з командою mount -o loop sda5.img /mnt/.

dmesg | tail показує мені таку помилку:

[1325.395286] EXT4-fs (loop0): неправильна геометрія: кількість блоків 11221248 перевищує розмір пристрою (11218432 блоки)

Хтось мав ідею, як переглядати без монтажу або що може спричинити цю помилку?



Відповіді:


18

Якщо це зображення цілого жорсткого диска або, як у вашому випадку це може бути зображення розширеного розділу, вам потрібно знати компонування розділу та зсуви кожного розділу у файлі, щоб мати змогу їх встановити.

Для цього вам знадобиться 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існує спочатку.


1
Гаразд, я думаю, що проблема може полягати в тому, що я отримую помилку під час виконання команди друку, оскільки вона говорить про невідому таблицю розділів. Здогадаєтесь, зображення порушено?
Ахатій

Дуже схоже, що він зламаний. Але спробуйте спочатку просити вашу помилку в Google.
Бендер

1
Can't have a partition outside the disk!помилка з
розірваним,

8

Я отримав цю саму проблему із зображенням 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

(^ зауважте, що це перший і більший з двох чисел у журналі)

Після цього гора була задоволена, і я мав доступ до своїх даних.


Це працювало для мене, хоча розмір був неправильним, я думаю, розміри блоків були різними, тому мені довелося вказати розмір у байтах. Будьте обережні, оскільки ви можете втратити дані, якщо обрізати файл зображення до розміру, меншого від початкового розміру.
голумар

1
Як ви знаєте правильний розмір? будь ласка, додайте сюди команди.
Хунсу

@Hunsu Розмір повідомляється у повідомленні про помилку (dmesg).
Мелебій
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.