【Linux】dd命令操作磁盘与镜像

来源:互联网 发布:软件开发 模型 编辑:程序博客网 时间:2024/06/05 09:45

参数说明:

if=输入文件(或设备名称)。

of=输出文件(或设备名称)。

ibs =bytes 一次读取bytes字节,即读入缓冲区的字节数。

skip =blocks 跳过读入缓冲区开头的ibs*blocks块。

obs =bytes 一次写入bytes字节,即写 入缓冲区的字节数。

bs = bytes同时设置读/写缓冲区的字节数(等于设置obs和obs)。

cbs =bytes 一次转换bytes字节。

count =blocks 只拷贝输入的blocks块。

conv =ASCII 把EBCDIC码转换为ASCII码。

conv =ebcdic 把ASCII码转换为EBCDIC码。

conv = ibm把ASCII码转换为alternate EBCDIC码。

conv =blick 把变动位转换成固定字符。

conv =ublock 把固定们转换成变动位

conv =ucase 把字母由小写变为大写。

conv =lcase 把字母由大写变为小写。

conv =notrunc 不截短输出文件。

conv =swab 交换每一对输入字节。

conv =noerror 出错时不停止处理。

conv =sync 把每个输入记录的大小都调到ibs的大小(用ibs填充)。

fdformat命令低级格式化软盘。


实例:
创建一个100M的空文件
dd if=/dev/zero of=hello.txt bs=100M count=1

整盘数据备份与恢复

 

备份

将本地的/dev/hdx整盘备份到/dev/hdy:

dd if=/dev/hdxof=/dev/hdy

 

将/dev/hdx全盘数据备份到指定路径的image文件:

dd if=/dev/hdxof=/path/to/image

 

备份/dev/hdx全盘数据,并利用gzip工具进行压缩,保存到指定路径:

dd if=/dev/hdx | gzip>/path/to/image.gz

 

恢复

将备份文件恢复到指定盘:

dd if=/path/to/imageof=/dev/hdx

 

将压缩的备份文件恢复到指定盘 :

gzip -dc /path/to/image.gz |dd of=/dev/hdx

 

备份MBR

备份:

备份磁盘开始的512Byte大小的MBR信息到指定文件:

ddif=/dev/hdx of=/path/to/image count=1 bs=512

 

 

恢复:

将备份的MBR信息写到磁盘开始部分:

ddif=/path/to/image of=/dev/hdx

 

从光盘拷贝iso镜像,拷贝光盘数据到root文件夹下,并保存为cd.iso文件:

ddif=/dev/cdrom of=/root/cd.iso

 

增加Swap分区文件大小

创建一个足够大的文件(此处为256M):

ddif=/dev/zero of=/swapfile bs=1024 count=262144

把这个文件变成swap文件:mkswap /swapfile

启用这个swap文件:swapon /swapfile

 

在每次开机的时候自动加载swap文件, 需要在 /etc/fstab 文件中增加一行:

/swapfileswap swap defaults 0 0

 

销毁磁盘数据

利用随机的数据填充硬盘:

ddif=/dev/urandom of=/dev/hda1

在某些必要的场合可以用来销毁数据。执行此操作以后,/dev/hda1将无法挂载,创建和拷贝操作
无法执行。

 

得到最恰当的block size

通过比较dd指令输出中所显示的命令执行时间,即可确定系统最佳的block size大小:

ddif=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file

ddif=/dev/zero bs=2048 count=500000 of=/root/1Gb.file

ddif=/dev/zero bs=4096 count=250000 of=/root/1Gb.file

ddif=/dev/zero bs=8192 count=125000 of=/root/1Gb.file

 

修复硬盘

当硬盘较长时间(比如一两年年)放置不使用后,磁盘上会产生magnetic flux point。当磁头读到
这些区域时会遇到困难,并可能导致I/O错误。当这种情况影响到硬盘的第一个扇区时,可能导致
硬盘报废。下面的命令有可能使这些数据起死回生。且这个过程是安全,高效的。

ddif=/dev/sda of=/dev/sda

 

0 0
原创粉丝点击