恢复 dd 克隆的 SD 卡(设备上没有剩余空间)

恢复 dd 克隆的 SD 卡(设备上没有剩余空间)

我用了这个命令

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卡?

答案1

我试图将其恢复到同一张 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.

答案2

当您说“相同的 SD 卡”时,您是指相同的物理对象,还是相同的品牌/容量?

SD卡的实际容量是在生产阶段确定的。相同品牌和广告尺寸的每张卡都有不同数量的缺陷块,并且容量也会略有不同。

如果您有相同的物理卡,请运行分区程序(gparted或其他程序)并使 SD 卡上的分区与备份的大小完全匹配。

如果您有物理上标称容量为 32 GB 的不同 SD 卡,您可以尝试找到最大的一张,看看是否可以创建一个足够大的分区来容纳您的备份。否则,恢复备份的唯一可靠方法是使用更大的 (64 GB) SD 卡,它肯定有足够的空间。

相关内容