- dd,是 device driver 的缩写,它可以称得上是“Linux 世界中的搬运工”,它用来读取设备、文件中的内容,并原封不动地复制到指定位置。
- 其实现在的主流硬盘已经是 SATA 接口的了,下面我要备份的硬盘是 dev/sda,它就是块 SATA 盘。
- [root@roclinux ~]# dd if=/dev/sda of=/root/sda.img
- 这个命令将 sda 盘备份到指定文件 /root/sda.img 中去,其中用到了如下两个选项:
- if=文件名:指定输入文件名或者设备名,如果省略“if=文件名”,则表示从标准输入读取。
- of=文件名:指定输出文件名或者设备名,如果省略“of=文件名”,则表示写到标准输出。
- 通过上面的 dd 命令,我们得到了 sda.img 文件,它就是已经备份好了的磁盘映像文件,里面存储着 /dev/sda 整块硬盘的内容。在未来的某天,假如 /dev/sda 硬盘真的出现了故障,我们就可以将曾经备份的 sda.img 复制到另一台电脑上,并将其恢复到指定的 sdb 盘中去。
- [root@roclinux ~]# dd if=/root/sda.img of=/dev/sdb
- 如果能把目标硬盘直接连接到我们现在的电脑上,并让系统识别到这块新硬盘,例如识别成 /dev/sdc,那么我们可以直接使用 dd 命令将 sda 盘复制到 sdc 中去。这种用法既可以用来整盘备份,也可以用来快速复制系统环境。下面来看看具体的命令:
- [root@roclinux ~]# dd if=/dev/sda of=/dev/sdc
- 对 dd 来说,所有设备和文件都一视同仁,所谓的“备份”和“恢复”,dd 都认为是一种内容的复制。
- 参考链接