dd 备份硬盘

dd 硬盘对刻

xp下是用ghost,但是linux下因为内核用ghos备份后 总是用不了  所以就只有用dd

fdisk -l

fdisk /dev/sab

n(新建分区)

e(扩展分区)/l(主分区)

p

1

w


dd if=/dev/sda of=/dev/sdb bs=10240   //4096
dd if=/dev/hda of=/dev/sdb bs=32256 conv=notrunc,noerror(notrunc表示不要跳过空闲处,noerror表示忽略警告)
-----------------------------------------------


IDE硬盘,可以设置bs=20000k或30000k
scsi硬盘设置到50000k
还可以再设得再大些。

 

dd指令 进行物理拷盘

dd

if

of

bs

count

硬盘对拷

一次一track

mbr拷贝

磁带拷贝

杂谈

    dd命令的实质——在Linux下所有的硬件都表示为文件,所以dd可以进行任何复制、克隆磁盘(文件),磁带(文件),或映像文件


   为什么说dd是最保险最准确的复制?

·    dd的复制是完全基于二进制的物理复制,从硬盘的第一个字节道最后一个字节,完全一样的克隆了一遍。 

·    无论dd所基于的系统是否认识,都可以原原本本的复制。 

例如linux下用dd复制FreeBSD分区、其他操作系统的分区,甚至加密扇区什么的。


    dd指令格式

dd  if =  of =  bs=

if =输入文件(或设备名称)。
of =输出文件(或设备名称)。
bs = bytes 同时设置读/写缓冲区的字节数

dd复制硬盘
dd   if=/dev/sda   of=/dev/sd2     bs=1024K




  用dd平滑备份(复制)两块硬盘的操作:

·        最好两块硬盘是同一容量和同一型号 

·        连接好新硬盘,开机(复制硬盘最好在单用户下做) 

·        fdisk  -l 指令查设备号 

 fdisk -l出来的结果是sda(旧) sdb(新)

·        复制 

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

·        等待,漫长的等待 

     因为没设bs,而缺省是1024,值太小,所以很慢

·        关机,将两个硬盘的接口更换一下。 

·        重起,用新硬盘启动 



    参数bs的设置问题:bs设置的大小直接影响读取写入的速度

dd if=/dev/sda of=dev/sdb bs=4096

复制硬盘发现可是一个73G的硬盘做了好几个小时还没完
建议改成:

dd if=/dev/sda of=dev/sdb bs=1024k

主要: bs单位是字节,但允许加k这个单位
上面的设置还是太慢了
IDE硬盘,可以设置bs=20000k或30000k
scsi硬盘设置到50000k
还可以再设得再大些。

    实验:复制一个4G硬盘,上装minilinux(大约1.5G),bs=4096k,20分钟完成
fdisk -l 看两个硬盘的盘符(注意不要看带数字的,那是分区,不是整个硬盘,如hda1,hda2等,要看无数字的,hda,sda,hdb,sdb)
dd if=/dev/hda of=/dev/hdc bs=4096k
20分钟完成


   标准克隆(一次一track) bs=32256

dd if=/dev/hda of=/dev/sdb bs=32256 conv=notrunc,noerror

bs=32256表示一次复制一个轨道,一个轨道共有63个扇区,每扇区512个字节,512x63=32256
conv=notrunc表示不要跳过空闲处
noerror表示忽略警告



    不同大小的分区之间克隆,会是什么样的情况?
答案是:如果80G的硬盘(假设只有一个分区)克隆到250G的分区,250G的分区会变成80G,剩余的空间未分配。
这个时候就需要用分区工具来Resize分区。


   使用dd命令把本机硬盘8G的东西倒到另有一块硬盘/temp目录下面的systemos.img成一个文件

dd if=/dev/sda of=/temp/systeoms.img bs=1k

    使用dd命令把systemos.img倒入到这台机器

dd if=/temp1/systemos.img of=/dev/sda bs=1k



    最简单的dd指令应用,软盘对拷

dd if=/dev/fd0 of=/tmp/dcopy.tmp   内容拷出到硬盘

dd if=/tmp/dcopy.tmp of=/dev/fd0 再将内容拷入新盘


    磁带COPY也类似

dd if=/dev/mt/0 of=/tmp/dcopy.tmp   内容拷出到硬盘

dd if=/tmp/dcopy.tmp of=/dev/mt/0 再将内容拷入新盘



   用dd做iso

dd if=/dev/cdrom of=/tmp/aaa.iso



    dd参数count 的作用

dd if= of= count=blocks

只dd 用count指定的的blocks块(No.)

dd if=/dev/hda of=/dev/hdb bs=512 count=1

复制硬盘hda的MBR到hdb


 
   dd用来彻底擦除数据

dd if=/dev/zero of=/dev/sda conv=notrunc


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值