Linux基础知识:Linux中DD命令详解(2)

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


2.4.4.软盘拷贝

要把一张软盘的内容拷贝到另一张软盘上,利用/tmp作为临时存储区。把源盘插入驱动器中,输入下述命令: 

$ dd if =/dev/fd0 of = /tmp/tmpfile 

拷贝完成后,将源盘从驱动器中取出,把目标盘插入,输入命令: 

$ dd if = /tmp/tmpfile of =/dev/fd0 

软盘拷贝完成后,应该将临时文件删除: 

$ rm /tmp/tmpfile 

  

2.4.5.把net.i这个文件写入软盘中,并设定读/写缓冲区的数目。 

(注意:软盘中的内容会被完全覆盖掉) 

$ dd if = net.i of = /dev/fd0 bs = 16384 

  

2.4.6.将文件sfile拷贝到文件 dfile中。 

$ dd if=sfile of=dfile

====================================================================================

提取MBR的信息

要看MBR的内容,请使用下面的命令

#从/dev/sda上读取前512个字节的内容,并将其写入mbr.bin文件中

root@:/home/linux# dd if=/dev/sda of=mbr.bin bs=512 count=1
    1+0 records in
    1+0 records out
    512 bytes (512 B) copied, 0.000798615 seconds, 641 kB/s
    #以十六进制和ASCII码格式打印这个二进制文件的内容
    root@:/home/linux# od -xa mbr.bin
    0000000 48eb 1090 d08e 00bc b8b0 0000 d88e c08e
          k  H dle dle  so  P  < nul  0  8 nul nul  so  X  so  @
    0000020 befb 7c00 00bf b906 0200 a4f3 21ea 0006
          {  > nul  |  ? nul ack  9 nul stx  s  $  j  ! ack nul
    0000040 be00 07be 0438 0b75 c683 8110 fefe 7507
        nul  >  > bel  8 eot  u  vt etx  F dle soh  ~  ~ bel  u
    ……

这个 dd 命令需要以 root 用户的身份运行,它从 /dev/hda(第一个 IDE 盘) 上读取前 512 个字节的内容,并将其写入 mbr.bin 文件中。od 命令会以十六进制和 ASCII 码格式打印这个二进制文件的内容。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/23080.html