dd 是一个在 UNIX 和 Linux 操作系统上的命令行实用程序,它的主要目的就是转换和复制文件。因为一个硬盘启动扇区的内容是在安装文件系统之前就已经生成的,所以它无法进行操作系统的复制命令来备份。这时候我们就需要使用 dd 程序来完成硬盘的启动扇区的备份工作,也可以使用 dd 命令将一个硬盘上的数据彻底的清除掉,还可以在复制数据的时候完成数据的转换工作。
dd 的名字来源于 IBM 的作业控制语言(Job Control Language JCL)中的 DD 语句,dd 代表的是 Data Definition(数据定义)两个字的首字母。因此与大多数其他的 UNIX 命令的语法格式的不同,dd 命令更像是 IBM 的 JCL 语句,而不像是 UNIX 命令。
在 dd 命令中可以使用很多选项,这些选项的语法格式如下:
选项=选项值...
每个选项之间需要使用空格分割。
dd if=/dev/sda of=/dev/nvme0n1 bs=4096 conv=noerror,sync
需要注意的是dd命令并没有进度显示,在使用noerror的情况下虽然报错但是仍然在继续,请通过系统监视的dd命令cpu占用来判断是否完成
$ sudo dd if=/dev/sdc1 of=/dev/sda1
dd: reading `/dev/sdc1': Input/output error
11233976+0 records in
11233976+0 records out
5751795712 bytes (5.8 GB) copied, 187.731 s, 30.6 MB/s
以上是一些使用 dd 命令行程序进行 Linux 系统维护工作的一些例子,其中包括了整个硬盘的备份与恢复、光盘的刻录及清除磁盘或者文件中所有的数据和将内存中的数据复制到硬盘上。
另一种方式可以尝试ddrescue
,它可能能够绕过破损的路径。不过,请注意,您将丢失数据。
从备份恢复将更容易:)
ddrescue
的正确用法如下:
sudo apt-get install gddrescue
sudo ddrescue /dev/sdc1 /dev/sda1
或者,如果您想将stdout
输送到进度监视工具:
sudo ddrescue /dev/sdc1 /dev/sda1 | pv
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:http://m8box.cn:8084/dd%e6%8c%87%e4%bb%a4%e5%a4%87%e4%bb%bd%e7%b3%bb%e7%bb%9f/
共有 0 条评论