猫咪摄影师
Add comment November 17th, 2008
dd是linux下常用命令,通常用于设备之间导数据
标准用法:
dd if=/dev/hda of=/dev/hdb
其中if是输入设备,of是输出设备
可用参数包括bs=xxxx 字节大小 count=n 次数
例如dd if=/dev/hda of=/dev/hdb bs=512 count=1 将复制hda的MBR到hdb,512 Bytes.
dd可以有很多很强大的用法,这个小巧的工具完全可以作为Ghost使用,并且也可以通过TCP/IP来Ghost。
dd用来擦除数据Wipe Data
如今不少人都知道了要彻底清除数据,删除是没用的,清空回收站也没用,陈冠希同学肯定不知道。
现在有商业的软件可以删除之后,用空白数据反复写,这样就可以毁尸灭迹。
dd也可以这样做。
dd if=/dev/zero of=/dev/sda conv=notrunc
制作镜像
dd if=/dev/hda1 of=hdimage.img conv=noerror,notrunc
对于光盘,每个扇区是2048字节,因此dd if=/dev/hdc of=/home/kevin/mycd.iso bs=2048 conv=notrunc 将生成光盘iso
克隆硬盘
dd if=/dev/sda of=/dev/sdb notrunc,noerror
网络克隆
通过netcat来实现的,netcat堪称网络调试的瑞士军刀。
目标机上运行 netcat -l -p 1234 | dd of=/dev/hdc bs=16065b
源机上运行dd if=/dev/hda bs=16065b | netcat targethost-192.168.3.33 1234
这里面有一个问题,就是不同大小的分区之间克隆,会是什么样的情况?
答案是:如果80G的硬盘(假设只有一个分区)克隆到250G的分区,250G的分区会变成80G,剩余的空间未分配。
这个时候就需要用分区工具来Resize分区。
你可以选择Partition Magic或者是Acronis Disk Director,一个是无损分区的老牌劲旅,一个是如日中天的后起之秀。
不过这次我选择了开源的Gparted LiveCD,一个原因是USB设备会被识别为可移动存储,至少Acronis Disk Director认不出来。另一个原因,Gparted是LiveCD,相当绿色环保。
命题:80G的旧硬盘上面的系统,迁移到500G的新硬盘,应该如何操作?
Step 1. 使用LiveCD,任何一个发行版的LiveCD都可以,dd命令很流行,几乎所有发行版都带有。
Step 2.分清楚新旧硬盘的设备号,例如,旧硬盘通常是HDA 新硬盘通常是SATA的,因此往往是SDA SDB之类的,弄错了设备号可能会导致严重后果。
Step 3.使用LiveCD 好像比较流行Ubuntu LiveCD,不过其实Gparted LiveCD就够了,不到100M。
Step 4.LiveCD的Terminal窗口,dd if=/dev/hda of=/dev/sdb bs=32256 conv=notrunc,noerror
参数说明:32256表示一次复制一个轨道,一个轨道共有63个扇区,每扇区512个字节,notrunc表示不要跳过空闲处,noerror表示忽略警告
Step 5.用Gparted查看新硬盘,可以看到有大量未分配空间,Resize至100%,Apply,Reboot,搞定!
在下一篇文章中,我们来研究rsync命令。
Add comment September 1st, 2008
| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| « Nov | ||||||
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 | |