如何使用dd工具将SSD上的成对分区复制到目标USB设备?
如何使用dd工具将SSD上的成对分区复制到目标USB设备?
哈哈,Ubuntu用着确实香!dd这个工具够高效还靠谱,我来给你捋捋怎么搞定这个分区复制的事儿。
首先明确你的需求:把SSD上的成对分区(比如sdc1+sdc2、sdc3+sdc4这类组合)分别复制到USB设备上对吧?这里有两种靠谱的方法,你可以根据自己的情况选:
方法一:逐个复制对应分区(最稳妥)
这是最不容易出错的方式,前提是你得先给目标USB做好对应的分区——分区大小至少不小于源分区,类型也要匹配(比如EFI分区要选EFI System类型)。
步骤很简单:
- 先确认源设备和目标设备的分区名,别搞混!可以用
lsblk或者sudo fdisk -l命令查看,比如你的SSD是/dev/sdc,目标USB是/dev/sdb。 - 先复制EFI分区:
sudo dd if=/dev/sdc1 of=/dev/sdb1 bs=4M status=progress
- 再复制对应的主安装分区:
sudo dd if=/dev/sdc2 of=/dev/sdb2 bs=4M status=progress
- 每复制完一个分区,最好敲一下
sudo sync,强制把缓存里的数据写入设备,避免拔USB时丢数据。
如果还有sdc3+sdc4这样的组合,重复上面的2-4步,对应到USB的sdb3和sdb4就行。
这里的关键参数解释下:
bs=4M:设置块大小为4MB,比dd默认的512字节大很多,能大幅提升复制速度;status=progress:让你能看到实时复制进度,不用傻等;- 一定要反复核对
if(源)和of(目标)的路径,写错of会直接覆盖目标设备的数据,千万要小心!
方法二:连续分区整体复制(适合分区连续的场景)
如果你的成对分区是连续的(比如sdc1后面直接就是sdc2,中间没有其他分区),而且想把这两个分区作为一个整体复制到USB(比如让USB直接变成可启动镜像),可以用这种方法,但风险稍高——如果分区不连续就会出错。
- 先计算两个分区的总大小:比如sdc1是200MB,sdc2是16GB,总大小就是16200MB(换算成字节是1620010241024=16986931200字节)。
- 从SSD的起始位置开始复制对应大小的数据到USB:
sudo dd if=/dev/sdc of=/dev/sdb bs=4M count=$((16200/4)) status=progress
这里的count是块的数量,总大小除以bs的大小就是count的值。不过这种方法只适合把连续分区做成整体镜像的场景,日常用还是推荐方法一,灵活又稳妥。
总结下,日常操作优先选方法一,稳扎稳打,毕竟数据安全最重要嘛!
备注:内容来源于stack exchange,提问作者wertyu2007
相关产品推荐
相关产品推荐

