同硬盘和分区打交道时,我们可能需要创建所有分区的副本或备份,而不仅仅是复制内容(不仅是各个硬盘分区,而且包括引导记录、分区表等信息)。这时,我们就可以使用dd命令,它可能用于克隆任何类型的磁盘,如硬盘、闪存、CD、DVD以及软盘等。
dd命令介绍
dd命令的愿意是Data Definiton。由于不正确的使用会导致数据丢失,因此它获得了Data Destroyer这一谑称。使用dd命令时,要留意参数的顺序。错误的参数会损毁全部数据。dd基本上算是一个比特流复制器 (bitstream duplicator),它可以将来自磁盘的比特流写入文件,也可以将来自文件的比特流写入磁盘。
那么,我们一起来看看dd命令的用法吧。
dd的语法如下:
$ dd if=SOURCE of=TARGET bs=BLOCK_SIZE count=COUNT
其中:
1)、if代表输入文件或输入设备路径;
2)、of代表目标文件或目标设备路径;
3)、bs代表块大小(通常以2的幂数形式给出,如512、1024、2048等)。COUNT是需要复制的块数(整数)。
需要复制的字节总数 = 块大小 * COUNT
bs和count都是可选的。
通过指定COUNT,我们可以限制从输入文件复制到目标的字节数。如果不指定COUNT,dd会对输入文件进行复制,直到遇见文件结束标志(EOF)为止。
要将一个分区复制到文件中,可以使用:
该命令中的/dev/sda1是该分区的设备路径。
用备份恢复分区:
要留心if和of参数。错误使用会造成数据丢失。
如果要永久性删除一个分区中的所有数据,我们可以用dd向该分区中写入0值,命令如下:
/dev/zero是一个字符设备。它总是返回字符 ' '。
在容量相同的硬盘间进行克隆:
其中,/dev/sdb是第二个硬盘。
要制作CD ROM的镜像(ISO文件),方法如下:
补充:
如果将文件系统建立在一个由dd生成的文件中,那么我们可以将它挂载到挂载点上。
下面我们一起来看看其使用方法。
挂载镜像文件
用环回(loopback)的方法可以将任何由dd生成的文件镜像进行挂载,这是用linuxjishu/9952.html target=_blank class=infotextkey>mount命令的-o loop来实现的。
这样,我们就可以通过/mnt/mount_point来访问镜像文件中的内容了。
您可能感兴趣的文章:
Linux下dd命令生成指定大小的虚拟块设备文件
linux下dd命令备份磁盘的节点(主引导记录)恢复数据
linux中dd命令的用法详解
linux中dd命令使用详解
linux中dd命令详解(清除硬盘数据)
dd命令中seek和skip的用法
如何解决dd命令输出结果无法重定向到文件的问题
如何查看dd命令的拷贝进度