У меня есть 8 ГБ USB-накопитель, подключенный к моей системе, который выглядит следующим образом:
[root@host]# fdisk -l /dev/sdb
Disk /dev/sdb: 8462 MB, 8462008320 bytes
255 heads, 63 sectors/track, 1028 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x5c0894d9
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 9 72261 e W95 FAT16 (LBA)
/dev/sdb2 10 103 755055 83 Linux
[root@host]#
Таким образом, мой раздел FAT занимает около 70 МБ, раздел ext2 - около 740 МБ, а остальное пространство (~ 7 ГБ) не выделено. Теперь, когда я dd мой жесткий диск USB через:
dd if=/dev/sdb of=myimage.img bs=1M
выходной файл (myimage.img) составляет около 8 ГБ, что является нормальной операцией dd.
Вопрос: Что я ищу, так это способ клонирования жесткого диска USB без нераспределенного пространства, так что мой файл результатов будет около 1 ГБ без сжатия, а не 8 ГБ. Причина, по которой я спрашиваю, заключается в том, что выходной файл (myimage.img) используется программой-симулятором для загрузки образа. Симулятор может обрабатывать 8 ГБ файлов, но я не хочу тратить свое дисковое пространство.