Tôi có ổ USB 8GB được gắn vào hệ thống của mình, trông như thế này:
[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]#
Vì vậy, về cơ bản phân vùng FAT của tôi là khoảng 70 MB, phân vùng ext2 khoảng 740 MB và phần còn lại của không gian (~ 7 GB) không được phân bổ. Bây giờ khi tôi gửi ổ cứng USB qua:
dd if=/dev/sdb of=myimage.img bs=1M
tệp đầu ra (myimage.img) khoảng 8GB, đây là hoạt động bình thường của dd.
Câu hỏi: Điều tôi đang tìm kiếm là cách sao chép trực tiếp ổ cứng USB của tôi mà không có dung lượng chưa phân bổ để tệp kết quả của tôi có dung lượng khoảng 1 GB không nén thay vì 8 GB. Lý do tôi hỏi là vì tệp đầu ra (myimage.img) đang được sử dụng bởi một chương trình giả lập để khởi động hình ảnh. Trình giả lập có thể xử lý các tệp 8 GB nhưng tôi không muốn lãng phí dung lượng ổ đĩa của mình.