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

    xiaoxiao2021-04-16  38

    参数说明:

    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/hdx of=/dev/hdy

     

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

    dd if=/dev/hdx of=/path/to/image

     

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

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

     

    恢复

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

    dd if=/path/to/image of=/dev/hdx

     

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

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

     

    备份MBR

    备份:

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

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

     

     

    恢复:

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

    dd if=/path/to/image of=/dev/hdx

     

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

    dd if=/dev/cdrom of=/root/cd.iso

     

    增加Swap分区文件大小

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

    dd if=/dev/zero of=/swapfile bs=1024 count=262144

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

    启用这个swap文件:swapon /swapfile

     

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

    /swapfile swap swap defaults 0 0

     

    销毁磁盘数据

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

    dd if=/dev/urandom of=/dev/hda1

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

     

    得到最恰当的block size

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

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

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

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

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

     

    修复硬盘

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

    dd if=/dev/sda of=/dev/sda

     

    转载请注明原文地址: https://ju.6miu.com/read-672993.html

    最新回复(0)