dd命令是一个在Linux/UNIX下非常有用的命令,通过它可以用指定大小的块复制文件,并在复制的同时进行指定的转换。 大多数用户只知道dd命令的这个用途,但意外的是dd命令对于制作usb启动盘也非常方便。 下面我们来看看dd命令是如何用于写引导usb存储器的。
dd命令便于制作usb启动盘,只有:sudo
dd if=xxx.iso of=/dev/sdb bs=1M
使用以上命令前必须卸下u盘。 sdb是你的u盘,bs=1M是块的大小,后面的数值大,写速度相对于块来说有点,但不是无限的。 我一般选择2M。 请注意。 执行命令后,块已完成,但u盘仍在闪烁。 不要闪烁,安全删除。
注意:你的镜像需要支持dd命令。
dd命令参数:
1. if=文件名输入:文件名。 默认值为标准输入。 也就是说,指定源文件。 if=input file
2. of=文件名:输出文件名,默认为标准输出。 也就是说,指定目标文件。 of=output file
3. ibs=bytes:一次读取字节。 也就是说,将块大小指定为字节。
obs=bytes:一次输出bytes字节。 这意味着将块大小指定为字节。
同时将bs=bytes:读取/输出的块大小设置为bytes字节。
4. cbs=bytes:一次转换bytes字节,即指定转换缓冲器大小。
5. skip=blocks:从输入文件的开头开始跳过blocks个块,然后开始复制。
6. seek=blocks:从输出文件的开头跳过blocks个块,然后开始复制。
注意:通常仅在输出文件为磁盘或磁带,即备份到磁盘或磁带时有效。
7. count=blocks:仅复制blocks块,块大小等于ibs指定的字节数。
8. conv=conversion:用指定的参数转换文件。
ascii:将ebcdic转换成ascii
ebcdic:将ascii转换成ebcdic
ibm:将ascii转换为备用
block:将每行变换为长度cbs,不足的部分用空格填充
在unblock:中,每行的长度为cbs,不足的部分用空格填充
lcase:将大写字母转换为小写字母
ucase:将小写字符转换为大写字符
swab:交换输入的字节对
noerror:错误时不停止
notrunc:不会截断输出文件
sync:用ibs字节填充每个输入块,用空字符填充缺少的部分。
DD APP应用示例:
1 .将整个本地/dev/hdb磁盘备份到/dev/hdd
dd if=/dev/hdb of=/dev/hdd
将/dev/hdb中的所有数据备份到指定路径的image文件中
dd if=/dev/hdb of=/root/image
3 .将备份文件恢复到指定的磁盘
dd if=/root/image of=/dev/hdb
备份/dev/hdb的所有数据,使用gzip工具压缩并保存到指定路径
ddif=/dev/hdb|gzip/root/image.gz
5 .将压缩的备份文件恢复到指定的磁盘
GIP-DC/root/image.gz|ddof=/dev/hdb
6 .将磁盘前512字节大小的MBR信息备份到指定文件中
ddif=/dev/hda of=/root/image count=1bs=512
count=1意味着只复制一个块。 bs=512是指块大小为512字节。
恢复3: ddif=/root/image of=/dev/hda
7 .备份软盘
ddif=/dev/fd0of=disk.img count=1bs=1440 k (即块大小为1.44M ) )。
8 .将内存内容复制到硬盘
ddif=/dev/memof=/root/mem.binbs=1024 (指定的块大小为1k ) )。
9 .将光盘内容复制到指定文件夹,并另存为cd.iso文件
DDif=/dev/cdrom(HDC ) of=/root/cd.iso
10 .增加swap分区文件大小
第一步:创建大小为256米的文件:
ddif=/dev/zero of=/swap file bs=1024 count=262144
步骤2:将此文件转换为swap文件3360
mkswap/swap文件
步骤3:启用此swap文件3360
swapon /swapfile
编辑步骤4:/etc/fstab文件,以便每次通电时自动加载swap文件3360
/swap文件交换默认0
11 .销毁磁盘数据
dd if=/dev/urandom of=/dev/hda1
注意:可以在硬盘中嵌入随机数据,并在必要时销毁数据。
12 .测试硬盘读写速度
ddif=/dev/zero bs=1024 count=1000000 of=/root/1gb.file
ddif=/root/1gb.filebs=64k|ddof=/dev/null
可以从从两个命令输出的命令执行时间中读取、写入硬盘。
13 .确定硬盘的最佳块大小
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
通过比较上述命令输出中显示的命令执行时间,可以确定系统的最佳块大小。
14 .修复硬盘或u盘
dd if=/dev/sda of=/dev/sda
如果硬盘长时间放置一两年不使用,例如,磁盘将出现幻灯片点。 磁头读取这些区域很困难,可能会导致I/O错误。 如果这种情况影响到硬盘的第一个扇区,硬盘可能会被丢弃。 上面的命令有可能复活这些数据。 这个过程安全高效。
使用linux dd命令启动USB存储器对一般用户来说很难。 如果你感兴趣的话,如果你看很多次,你会发现其实并不那么复杂。 没有必要死记硬背这些dd命令。 写启动u盘的过程时,知道自己下一步想做什么,查一下对应的dd命令输入就可以了。