dd命令翻译自LQ wiki
英文原文:http://wiki.linuxquestions.org/wiki/dd
中文翻译:I
dd是一个通过读取硬盘(比如你的硬盘)的全部块实现磁盘转储的工具. However,its architecture is laid out so it can do much more than creating a dump. 看下面表格的内容.
1. 磁盘备份
1.1 创建备份
1.2 还原备份
1.3 克隆一个硬盘
1.4 传输磁盘镜像
2. 创建CD光盘iso镜像
3. 急救一个包含有坏块的文件
4. 分析你的磁盘
5. 创建你自己的引导器
6. 测试你的磁盘表现
7. Windows pendant
8. 请参阅
磁盘备份
创建一个备份
假定我们有一个硬盘/dev/sda,我们想全部把它(一扇区一扇区地)备份到一个USB存储器/dev/sdb1(挂载在/mnt/sdb1). 我们可以称这个为/dev/sda的转储或者镜像. 这个转储我们命名它为backup.img. 以下是这个操作的命令:
dd if=/dev/sda of=/mnt/sdb1/backup.img
在这个命令,if代表输入文件,of代表输出文件.
还原备份
还原备份,我们从一个Live CD引导,反向执行那个命令. 这个操作将全部覆盖你硬盘上的内容,亦即此操作之目的也!
dd if=/mnt/sdb1/backup.img of=/dev/sda
克隆一个硬盘
克隆硬盘A到硬盘B,这两个硬盘的容量必须是同样大小的. 这对于USB磁盘(原文是:USB disks)来说是很方便的. 假如我们的源USB磁盘是/dev/sdb,目标盘是/dev/sdc. 依以下方法来做:
dd if=/dev/sdb of=/dev/sdc
如果sdc比sdb大,那么超出的部分容量将会会丢失(处于未分配状态),因为文件系统不会意识到sdc比sdb大.
传输磁盘镜像
我们通过网络把磁盘镜像到一个名叫target的计算机,使用以下命令
dd if=/dev/sdb | ssh root@target "(cat >backup.img)"
创建CD光盘iso镜像
创建CD光盘iso镜像,分块读取并保存块到一个文件:
dd if=/dev/cdrom of=cdimage.iso
急救一个包含有坏块的文件
如果你最喜爱的电影或者音乐因为文件损坏而不能播放,你可以使用dd来忽视损坏的部分:
dd if=movie.avi of=rescued_movie.avi conv=noerror
分析你的磁盘
DD是一个不错的工具对于你去了解你的系统来说. 通过显示选定的块来分析你的磁盘,在这里我们选择块1001:
dd if=/dev/sdc1 count=1 skip=1000
创建你自己的引导器
创建你自己操作系统的引导器,它是通过转储你的引导器到可引导磁盘的引导扇区来实现的. 使用以下命令:
dd conv=notrunc if=bootloader of=qemu.img
测试你的磁盘表现
测试你的磁盘/dev/sda1的表现,比如使用不同的块大小,像如下一样进行:
# dd if=/dev/sda1 of=/dev/null bs=512 count=1000000
1000000+0 records in
1000000+0 records out
512000000 bytes (512 MB) copied,5.16588 s,99.1 MB/s
# dd if=/dev/sda1 of=/dev/null bs=4096 count=1000000
1000000+0 records in
1000000+0 records out
4096000000 bytes (4.1 GB) copied,36.0667 s,114 MB/s
然而,确保你已经阅读了Background:How caching works,否则像以下的神秘的(磁盘)加速会让你感到奇怪.
# dd if=/dev/sda1 of=/dev/null bs=512 count=1000000
1000000+0 records in
1000000+0 records out
512000000 bytes (512 MB) copied, 5.32254 s, 96.2 MB/s
# dd if=/dev/sda1 of=/dev/null bs=512 count=1000000
1000000+0 records in
1000000+0 records out
512000000 bytes (512 MB) copied, 1.09851 s, 466 MB/s
Windows pendant
The WinDos pendant of dd is rawrite.
请参阅
- Tutorial at LinuxQuestions
- imAge
- Blanking a hard drive
- dd_rescue - recover media with errors on it.
- Cloning
- vmStat - find out how many reads per time occur in your system
- dd man page