Backup
dd:將備份還原到完全相同的磁碟時“沒有剩餘空間”
不久前,我使用備份了整個磁碟
dd if=/dev/nvme0n1 conv=sync,noerror bs=64K | gzip -c > backup.img.gz
今天我使用這個備份恢復到同一個磁碟
gunzip -c backup.img.gz | dd of=/dev/nvme0n1
dd
退出並顯示以下錯誤消息:dd: writing to '/dev/nvme0n1': No space left on device 1000215217+0 records in 1000215216+0 records out 512110190592 bytes (512 GB, 477 GiB) copied, 5769.06 s, 88.8 MB/s
我是否必須假設還原過程失敗?如果是這樣,我該怎麼做才能恢復我的磁碟?
我也有 的備份
fdisk -l /dev/nvme0n1
,現在恢復操作後,輸出fdisk -l
和以前一樣,但我不知道這是否能保證成功。
在某些情況下,
dd conv=sync,noerror
(或dd conv=noerror,sync
)可能會損壞數據。但是,在您的情況下,它可能只是文件末尾的多餘零。如果您的設備不是 64K 的精確倍數,您的
dd
命令將在圖像文件中用零填充最後一個 64K 塊。並且那些額外的零無法恢復。這將是無害的。要驗證該理論,您可以執行一些命令:
# blockdev --getsize64 /dev/nvme0n1 expected result: 512110190592 # gunzip < backup.img.gz | wc --bytes expected result: 512110231552 (next multiple of 64K)
如果這是正確的,那麼你在這裡可能沒問題。