1

У меня есть некоторые файлы в Linux, которые я должен периодически копировать на несколько SD-карт в Windows (не загрузочный, но с правами доступа к файлам, файловая система ext3). Теперь процедура выглядит следующим образом: я копирую файлы на одну флешку под Linux, затем создаю образ .bin с этого диска и клонирую этот .bin на другие USB-диски под Windows. Файлы иногда меняются, поэтому мне нужно снова создать .bin файл. Идея состоит в том, чтобы создавать файлы .bin без использования физического диска.

Есть ли решение для виртуального создания образов USB-накопителя? Или есть инструмент для записи ext3 USB-флешек из файла tag.bz2 под Windows?

1 ответ1

1

Очевидное решение - монтировать образ непосредственно в Linux и вносить изменения, но есть небольшая проблема. Эти носители разделены аналогично жесткому диску. Решение состоит в том, чтобы смонтировать правильный раздел из образа.

Убедитесь, что изображение действительно разделено:

$ file -k OpenELEC-RPi.arm-4.95.1.img
OpenELEC-RPi.arm-4.95.1.img: x86 boot sector; partition 1: ID=0xc, active, starthead 32, startsector 2048, 262145 sectors; partition 2: ID=0x83, starthead 146, startsector 266240, 65537 sectors

Работа с изображением

Сопоставьте разделы из изображения с устройствами цикла:

$ sudo kpartx -av OpenELEC-RPi.arm-4.95.1.img
add map loop0p1 (252:3): 0 262145 linear /dev/loop0 2048
add map loop0p2 (252:4): 0 65537 linear /dev/loop0 266240

В Ubuntu kpartx не устанавливается по умолчанию. Сделайте sudo apt-get install kpartx .

Смонтируйте раздел:

$ sudo mount /dev/mapper/loop0p1 /mnt/tmp1

Теперь внесите изменения в /mnt/tmp1 .

Размонтируйте раздел и удалите отображение:

$ sudo umount /dev/mapper/loop0p1
$ sudo kpartx -dv OpenELEC-RPi.arm-4.95.1.img
del devmap : loop0p2
del devmap : loop0p1
loop deleted : /dev/loop0

Другие опции

Если kpartx недоступен, вы можете определить смещение раздела, используя, например, fdisk (он работает и с изображениями, так что вы можете создать образ без физического диска вообще.) И отобразить их с помощью losetup или mount -o loop,offset=x или даже новая версия losetup (из util-linux 2.21) может отображать разделы напрямую, используя параметр --partscan .

Есть описания в других вопросах:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .