dd命令翻译自LQ wiki

danny posted @ 2010年1月04日 22:06 in linux with tags linux dd命令 翻譯 , 2642 阅读

英文原文: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.

请参阅


 

 


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter