образ диска без свободного места

Для этого есть «спецификатор преобразования», например:

$ printf '%#o' 8
010
$ printf '%#x' 16
0x10
1
20.06.2018, 18:02
2 ответа

Отвечая на ваш первый вопрос :, учитывая, что у вас есть MBR, я предлагаю вам сделать что-то вроде dd'проверки первого мегабайта исходного диска (, который содержит загрузочную запись и, возможно, загрузчик ). ], затем перебирая содержащиеся в нем разделы : dev=/dev/sda fdisk -l "$dev" | sed -ne '/^\//s,\(^[^ ]*\).*,\1,p' | while read part do dd "if=$part" "of=$(basename "$part")" done И после того, как вы запишете первый мегабайт на целевой диск, попросите ядро ​​прочитать таблицу разделов с помощью partprobeили kpartx. После этого вы сможете ddперенести содержимое соответствующих изображений на новые разделы.

1
27.01.2020, 23:32

Записать в конец последнего раздела (и еще немного, например всего 2G (гибибайт )в данном случае ).

Для этой цели можно использовать dd. Проверьте и перепроверьте , что вы будете записывать на правильную SD-карту (, а не на другой диск ), прежде чем нажимать клавишу Enter, потому что ddделает то, что вы говорите, без вопросов.

Эта командная строка работает с несжатым файлом изображения

$ sudo dd if=sdcard.img of=/dev/sdx bs=1M count=2K

где x — буква диска.

Но в данном случае это сжатый файл изображения. Запустите как root(, например, через sudo -s, и соответствующая командная строка может выглядеть так, где zcatизвлекается из сжатого файла gzip.

# < sdcard.img.gz zcat | dd of=/dev/sdx bs=4096 count=524288
524288+0 records in
524288+0 records out
2147483648 bytes (2,1 GB, 2,0 GiB) copied, 56,6886 s, 37,9 MB/s
1
27.01.2020, 23:32

Теги

Похожие вопросы