我用了这个命令
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 卡,它肯定有足够的空间。