如何使用 dd 将图像从内置硬盘复制到外置硬盘?这是我的硬盘信息
root@PartedMagic:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931.5G 0 disk
├─sda1 8:1 0 44.3M 0 part
├─sda2 8:2 0 753M 0 part
└─sda3 8:3 0 930.7G 0 part
sdb 8:16 0 931.5G 0 disk
└─sdb1 8:17 0 931.5G 0 part
sr0 11:0 1 595M 0 rom
loop0 7:0 0 39.3M 1 loop
loop1 7:1 0 184.1M 1 loop
sda 是我的内置硬盘
sdb 是我的外置硬盘
答案1
警告
dd
是一个功能强大但也很危险的工具。在启动命令行之前,请反复检查以确保一切正确!它dd
会毫无疑问地执行您的指令。一个小错误(输入错误)可能会导致您覆盖并破坏有价值的文档,例如家庭照片。
命令行
字符后面的文本#
是人眼的注释,不被 shell 解释器使用。
如果你是当然这/dev/sdx
是正确的目标设备,您可以使用命令
sudo dd if=/dev/sda of=/dev/sdx bs=64K # should be upper case K
将驱动器克隆到设备/dev/sdx
,其中 x 可以是 b、c、...
如果你想创建一个图像文件(不压缩),你可以使用命令
sudo dd if=/dev/sda of=dd-clone.img bs=64K # should be upper case K
如果要创建压缩映像文件,可以使用命令
sudo -s # to get the root prompt `#`
dd if=/dev/sda bs=64K | xz -c > dd-clone.img.xz
exit # to get the user prompt `$`
可以使用以下方法提取此类压缩图像:
sudo -s # get the root prompt `#`
xzcat dd-clone.img.xz > dd-clone.img # get a big uncompressed file
xzcat dd-clone.img.xz | dd of=/dev/sdx bs=64K # clone to `/dev/sdx`
exit # get the user prompt `$`
尖端
如果您希望压缩更有效,则应使用零覆盖可用驱动器空间。您可以按以下方式执行此操作:
用于zerofree
Linuxext
分区。
挂载其他分区,并对具有其他文件系统的分区使用以下命令行。假设您已在挂载点挂载了一个分区/mnt
,并且整个驱动器都用于分区。检查您是否已在那里安装分区!否则,您将填满根分区,并且正在运行的操作系统将停止工作。
sudo dd if=/dev/zero of=/mnt/blank bs=4096 # Let it fill the partition
sudo rm /mnt/blank
看工具在此链接:SanDisk SSD Plus:Linux 上的性能只有 Windows 上的一半?
选择
克隆兹拉是 的替代方案dd
。它更安全,速度更快,尤其是在有大量可用空间的情况下。Clonezilla 将仅复制已使用的块(并跳过可用块),这将使复制速度更快,尤其是在主分区的相当一部分/dev/sda3
是空闲的(未被文件使用)的情况下。