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