当前位置: 首页>>技术问答>>正文


使用dd命令进行SD卡克隆

, ,

问题描述

我正在尝试克隆可能包含许多分区的SD卡,其中一些分区是Ubuntu无法识别的。通常,我想克隆整个卷,而不仅仅是一些分区。所以,我挂载SD卡,在日志查看器中看到这样的内容:

kernel: [  262.025221]  sdc: sdc1 sdc2

alex@u120432:~$ ls /dev/sdc*
/dev/sdc  /dev/sdc1  /dev/sdc2

由于我想复制整个磁盘,我执行:

dd if=/dev/sdc of=sdimage.img bs=4M

创建文件sdimage.img,创建7.9 GB(7,944,011,776字节)(SD卡为8 GB)。现在我挂载另一张SD卡并执行:

dd if=sdimage.img of=/dev/sdc bs=4M

问题是第二个dd命令在某个阶段挂起,并且永远不会成功。在此之后,我无法重启或关闭计算机,我只需关闭电源即可。

这是正确的方法吗?也许有另一种克隆SD卡的方法?

操作系统:Ubuntu 12.04(精确穿山甲),32位。

最佳解决方案

您不应该在已安装的设备上使用dd。首先卸载所有分区,然后你的命令应该工作。

次佳解决方案

插入原始SD卡并检查设备名称(通常为mmcblkXsdcX):

sudo fdisk -l

在我的情况下,SD卡是/dev/mmsbkl0。现在您必须卸载设备:

sudo umount /dev/mmcblk0

现在创建设备的图像:

sudo dd if=/dev/mmcblk0 of=~/sd-card-copy.img

这需要一段时间。

完成后,插入空SD卡。如果设备不同(USB或其他类型的SD卡读卡器),请验证其名称并确保卸载它:

sudo fdisk -l
sudo umount /dev/mmcblk0

将图像写入设备:

sudo dd if=~/sd-card-copy.img of=/dev/mmcblk0

写操作比以前慢得多。

第三种解决方案

我正在使用dd工具克隆带有多个分区的usb棒,这是我的命令:

sudo dd if=/dev/sdb of=/dev/sdc bs=4096 conv=notrunc,noerror

notrunc – 不截断输出文件noerror – 读取错误后继续

第四种方案

dd很好,但我更喜欢cat /dev/sdc/ > ~/backup.iso如果你想再次把它放在SD卡上,只需运行cat ~/backup.iso > /dev/sdc

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/2585.html,未经允许,请勿转载。