В этой заметке речь пойдёт об использовании утилиты IsoBuster для работы с файлами образов операционной системы и возможности записи большого образа на небольшую SD карту.
Некоторое время назад мне понадобилось прочитать пару конфигуранционных файлов с 64 ГБ образа SD карты. Под рукой подходящего носителя не было, стандартными средствами ОС (Windows) никак не получалось. Поискав на просторах Internet, нашёл небольшую утилиту IsoBuster (у меня portable версия). С её помощью сделать это оказалось проще простого. Кроме того немного попользвавшись нашел довольно простой способ записи больших образов на меньшую SD карту памяти, приведён пример записи 32ГБ образа на 16 ГБ карточку. Возможно информация будет актуална не только для меня.
Скачиваем и запускаем (устанавливаем) IsoBuster. Открываем файл образа:
Как видно на картинке, размер образа около 30 ГБ.
У меня имеется 4 раздела. При операцииях легче оперировать секторами, чем ёмкостью. В одном секторе обычно 512 байт.
0-вой неразмеченная область,
1-ый загрузочный раздел
2-ой раздел с данными
3-ий опять неразмеченная область.
Воспользовавшись стандартным окном файлового менеджера (проводника) программы IsoBuster выбираем необходимый файл. Напрямую посмотреть содежимое не получается, поэтому сначала необходимо извлечь нужный файл (папку, раздел) из образа на ПК а затем уже можно делать что вам необходимо.
Перейдём сейчас к записи образа.
В моем случае все данные вмещаются на карту памяти. Образ 30ГБ, но используются только 14.
Делается тоже довольно просто, но необходимо иметь ввиду некоторые особенности.
В правой панели вызываем контекстное меню на файл-образе и выбираем клонировать, указываем SD карту на которую собираемся записать образ, ставим галочку подтверждающую, что принимаем риск. Игнорируем предупреждение о нехватке места и копировании усеченного образа и записываем.
При записи записываются первые n секторов образа (до окнчания памяти на SD карте).
При этом часть информации может быть потеряна.
Что бы знать потеряем ли мы часть информации и какую, воспользуемся встроенным инструментом файловой информации, вызвав контекстное меню на имени раздела (в моем случае Roofs)
Можем сохранить в .xml файл, открыв его в редакторе xml или просто exel можем отсортировать его по LBA
Также можно посмотреть информацию, хранящуюся в конкретном секторе (контекстное меню) - просмотр секторов.
После влонирования пробуем загрузить образ в малинку.
У меня всё получилось, работает как и не усечённый.
Вроде бы всё, но напоследок добавлю: вся информация у нас с большего образа, в том числе и размётка дисков.
После загрузки рекомендую переназначить свои разделы, т.к. ОС не знает о действительном размере SD карточки.
Делается довольно просто:
sudo fdisk -l
получаем:
Device Boot Start End Sectors Size Id Type /dev/mmcblk0p1 8192 532479 524288 256M c W95 FAT32 (LBA) /dev/mmcblk0p2 532480 30883839 30351360 14.5G 83 Linux
sudo fdisk -c /dev/mmcblk0
Ещё раз выводим список разделов, вводим p:
p
результат тот же:
Нам нужно сохранить сектор откуда начинается второй раздел /dev/mmcblk0p2 в моём случае это 532480, он понадобится позже.
Удаляем второй раздел:
d
затем нажимаем 2 для удаления второго раздела.
Создаем новый задав команду
n
Потом p для создания Primary раздела и вводим номер раздела — 2. Когда запросят ввести начало нового раздела — указываем значение откуда начинался старый раздел (у меня это 532480). Конец раздела указываем по собственному усмотрению, либо просто нажимаем Enter во время данного вопроса для того, чтобы раздел был создан на все свободное пространство.
w
для записи новой таблицы разделов.
Теперь перезагрузимся:
sudo reboot
и после перезагрузки расширим файловую систему до размеров нового раздела:
sudo resize2fs /dev/mmcblk0p2
Проверить можно задав
df -h
Минск, Беларусь
На форуме: udvnl