Dd

恢復 dd 複製的 sd 卡(設備上沒有剩餘空間)

  • November 9, 2015

我用了這個命令

sudo dd bs=4M if=/dev/sdb1 | gzip > /home/username/image`date +%d%m%y`.gz

複製我的 32gb sd 卡(為 odroid U3 安裝了 linux)現在我嘗試使用命令在同一張 SD 卡上恢復它

gzip -dc /home/username/image*.gz | sudo dd bs=4M of=/dev/sdb1

但我得到錯誤

dd: error writing ‘/dev/sdb1’: No space left on device
0+502552 records in
0+502551 records out
32110542848 bytes (32 GB) copied, 5508,32 s, 5,8 MB/s

我可以提取這個文件,它在提取時有 32,1 GB(32 111 591 424 字節)。

如何恢復 SD 卡?

我試圖將其恢復到同一張 SD 卡(同一個物理對象)

dd複製是使用命令創建的:

sudo dd bs=4M if=/dev/sdb | gzip > /home/username/image`date +%d%m%y`.gz

sdb而不是sdb1(所以我創建了整個卡的副本,而不僅僅是sdb1分區)來恢復我使用的 SD 卡:

gzip -dc /home/username/image*.gz | sudo dd bs=4M of=/dev/sdb

再次sdb而不是sdb1.

當您說“相同的 SD 卡”時,您是指相同的物理對象,還是相同的品牌/容量?

SD卡的實際容量是在生產階段確定的。同一品牌和廣告尺寸的每張卡具有不同數量的缺陷塊,並且容量會略有不同。

如果您有相同的物理卡,請執行分區程序(gparted或其他程序)並使 SD 卡上的分區與備份的大小完全匹配。

如果您有不同的 SD 卡(標稱容量為 32 GB),您可以嘗試找到最大的 SD 卡,看看是否可以創建一個足夠大的分區以容納您的備份。否則,恢復備份的唯一可靠方法是使用更大的 (64 GB) SD 卡,它肯定有足夠的空間。

引用自:https://unix.stackexchange.com/questions/228589