Tôi có một kho lưu trữ tar của một hình ảnh đĩa đơn. Hình ảnh bên trong tập tin tar này có kích thước khoảng 4GB. Tôi chuyển đầu ra tar xf
thành dd
để ghi ảnh đĩa vào thẻ SD. Đĩa mềm không bao giờ dừng cho đến khi thẻ đầy. Đây là phiên shell của tôi:
$ ls -l disk.img.tgz
-rw-r--r-- 1 confus confus 192M Okt 5 00:53
$ tar -tvf disk.img.tgz
-rw-r--r-- root/root 4294968320 2018-10-05 00:52 disk.img
$ lsblk -lb /dev/sdc
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdc 8:32 1 16022241280 0 disk
$ tar zxf disk.img.tgz -O | sudo dd status=progress conv=sync bs=1M of=/dev/sdc
[sudo] password for user:
15992881152 bytes (16 GB, 15 GiB) copied, 212 s, 75,4 MB/s
dd: error writing '/dev/sdc': No space left on device
0+15281 records in
15280+0 records out
16022241280 bytes (16 GB, 15 GiB) copied, 217,67 s, 73,6 MB/s
Tại sao? Nó nên dừng lại sau khi nhấn đã ghi hình ảnh 4GB vào giỏ hàng 16 GB và không bao giờ hết dung lượng!
conv=sync
? Có phải bạn muốn sử dụng conv=fsync
có lẽ?
dd
và ghi nó vào một tập tin khác không?tar zxf disk.img.tgz -O | dd status=progress conv=sync bs=1M of=/path/to/some/file/on/disk
? Nếu vậy, điều đó có giúp bạn có một bản sao chính xác của tập tin gốc không?