Я пытаюсь получить файл ISO с загрузочной карты памяти USB. Название устройства для флешки - dev/sdf1
. В этом ответе: Конвертировать загрузочный USB в файл ISO , dd
было предложено для копирования. Итак, я сделал:
sudo dd if=/dev/sdf1 of=win7.iso
Однако, палка имеет размер 30G, но используются только 12G. Запустив указанную выше команду, она создает ISO-образ размером более 12 ГБ. Я остановил dd
, когда файл был> 20 ГБ, поскольку у меня не хватило места на диске. Это нормально, что файл ISO становится таким большим или есть другой способ достичь моей цели?
dd
является копией 1: 1, она копирует все устройство независимо от того, что на нем. Если вы копируете только раздел (sdf1
), он вряд ли будет загрузочным, поскольку загрузчик обычно находится в sdf MBR.
Если свободное место обнуляется, вы можете сэкономить свободное место, используя gzip.
Чтобы обнулить свободное пространство, вы можете использовать:
mount /dev/sdf1 /mnt/tmp
dd if=/dev/zero bs=1M | split -b 1G - /mnt/tmp/zerofile
sync
rm /mnt/tmp/zerofile*
umount /mnt/tmp
Чтобы создать сжатое gzip изображение:
dd if=/dev/sdf bs=1M | gzip > win7.img.gz
Чтобы восстановить из этого изображения, это:
[ 112] Другими альтернативами являются partimage
или ntfsclone
(в случае ntfs), которые хранят только файлы, а не свободное место, однако результат может не быть загрузочным, поскольку это не копия 1: 1.
Вы можете сжать изображение следующим образом
dd if=/dev/sdf1 conv=sync,noerror bs=64K | gzip -c > usb.img.gz
Таким образом, оно не будет копировать пустые части флешки.
Также dd
создает образ диска, а не iso.