Образи файлових систем
Образ файлової системи — це файл, що містить цілу файлову систему: rootfs з оновлення маршрутизатора, побайтово скопійовану картку SD, образ пристрою, який ви досліджуєте. Додаток Linux Filesystem Images відкриває такий файл так, як Peach Commander відкриває архів: наведіть курсор, натисніть Enter — і панель опиниться всередині файлової системи. Далі переглядач, пошук і копіювання працюють точно так, як у теці.
В образ ніколи нічого не записується. Додаток вміє лише читати.
Спершу увімкніть його¶
Додаток постачається вимкненим. Відкрийте Параметри ▸ Додатки, знайдіть Linux Filesystem Images й увімкніть його.
Типово він вимкнений через те, як шукає образи. Прошивки рідко мають охайну назву — потрібний файл зветься firmware.bin, rootfs.img або просто dump принаймні так само часто, як .squashfs, — тож коли розширення нічого не каже, додаток дивиться на перші байти. Це саме те, що потрібно, якщо ви досліджуєте образи пристроїв, і марна робота, якщо ні. Увімкнення — це спосіб сказати, який із двох випадків ваш.
Файл, який виявився не образом, після цього одного погляду лишається недоторканим і відкривається так, як відкривався завжди.
Що він уміє відкривати¶
| Формат | Де ви його зустрінете |
|---|---|
| SquashFS | Rootfs майже в кожній прошивці маршрутизаторів, камер і приставок |
| ext2, ext3, ext4 | Головний розділ більшості вбудованих пристроїв на Linux |
| Btrfs | Томи NAS і новіші системи Linux, разом зі знімками |
| JFFS2, UBIFS | Сира флеш-пам'ять у старішому й сучасному вбудованому обладнанні |
| cramfs, initramfs | Завантажувальні файлові системи та довговічні старі пристрої |
| FAT12, FAT16, FAT32 | Картки SD, USB-носії та розділ EFI будь-якого сучасного ПК |
| exFAT | Картки SD й носії понад 32 ГБ |
| NTFS | Томи Windows, зокрема зі стисненими файлами |
Образи дисків із кількома розділами¶
Образ, скопійований із цілого пристрою, зазвичай має таблицю розділів, а не одну файлову систему. Такий образ відкривається як одна тека на розділ — 1-rootfs, 2-esp — і ви заходите в ту, яка потрібна. Читаються і MBR, і GPT, а там, де таблиця зберігає назви розділів, використовуються саме вони.
Розділ, який додаток не вміє прочитати, усе одно з'являється — як порожня тека, названа за своїм типом. Якщо пристрій має три розділи, ви маєте бачити, що їх три.
Прошивка без таблиці розділів¶
Файл прошивки, знятий із маршрутизатора чи камери, зазвичай узагалі не має таблиці розділів. Це заголовок виробника, завантажувач, ядро та коренева файлова система, записані одне за одним за зміщеннями, які ніде не зафіксовано. Такий файл відкривається одним записом на кожну частину, названим за зміщенням, з якого вона починається: 0x00230044-squashfs — файлова система, до якої можна увійти, а 0x00030040-kernel.uimage — файл, який можна скопіювати назовні.

Частини знаходяться так: у файлі шукаються самі файлові системи, і кожен знайдений збіг відкривається, щоб перевірити, чи справді там щось є. Байтовий взірець, що збігся випадково, коштує миті й відкидається, а не стає вигаданим записом; файл же, у якому файлової системи не знайшлося, і далі відхиляється та відкривається так, як відкривався завжди.
Те саме стосується всього, що лежить поза розділами розміченого образу. Raspberry Pi тримає свій завантажувач у мегабайтах перед розділом 1, а U-Boot на більшості плат ARM займає сталий зсув у тому самому нерозподіленому просторі. Ці ділянки перелічуються поряд із розділами, щоб їх можна було побачити та скопіювати назовні.
Записати будову¶
Команди ▸ Аналіз структури образу зберігає результат текстовим файлом поряд з образом і ставить на нього курсор: кожна ділянка зі своїм зміщенням, розміром і тим, чим вона виявилася, а також таблиця розділів, якщо образ її має. Саме ця таблиця зазвичай і потрібна розборові чи заявці, а відтворювати її, обходячи панель і переписуючи числа вручну, — виснажлива робота.
Звіт показує й те, що панель випускає, — наприклад, невеликі проміжки вирівнювання між розділами — і називає плату, для якої зібрано ядро U-Boot, якщо образ це фіксує.
Робота всередині образу¶
Усе звичне лишається чинним. F3 показує файл, F5 копіює файли назовні до справжньої теки, а Пошук файлів шукає у вмісті образу. Виходять із нього так само, як з архіву.
Символічні посилання показуються зі своєю назвою, а копіювання такого назовні дає невеликий текстовий файл із ціллю посилання замість справжнього посилання — образу не можна дозволити покласти посилання, що вказує будь-куди на вашому власному диску.
Коли образ не відкривається¶
Додаток каже чому, замість повідомляти про пошкоджений файл, бо ці два випадки ведуть вас у різні боки:
- Том Btrfs із RAID0, RAID10, RAID5 чи RAID6 або розподілений між кількома пристроями. Дані розкидані по дисках, і більшості з них немає у файлі, який ви маєте.
- Сирий дамп NAND, що досі містить свою службову ділянку. З образом усе гаразд; його скопійовано разом із байтами виправлення помилок. Скопіюйте його ще раз командою
nanddump --omitoob. - Зашифрований том ext4 або NTFS, який без ключів прочитати неможливо.
- Файлова система ext, від'єднана нечисто, усе одно відкривається, але з позначеним записом угорі кореня, який попереджає, що вміст може бути застарілим. Файлову систему копіювали під час роботи, а найновіші зміни лежать у журналі, який цей додаток не відтворює. Запустіть
e2fsckна копії, якщо подробиці важливі.
Примітки¶
- Образ читається один раз і запам'ятовується, тож повернення до нього миттєве.
- Дуже великі образи читаються за потребою, а не завантажуються цілком; перелік обмежено двома мільйонами записів.
- Образ переглядається на вбудовані файлові системи лише тоді, коли він не має ні таблиці розділів, ні файлової системи на початку, тож звичайний образ відкривається рівно так само швидко, як і раніше.
- Додаток додає одну команду меню й жодних власних налаштувань, окрім перемикача, який його вмикає.