昨天收到了笤帚大(头像是一扫把所以我给起的笤帚大)送的1TB硬盘,欣喜若狂。拯救了我250G小机械的快要爆满的状态。感激涕零。待日后定当作以回报。下来说说我在把250G硬盘克隆到这个新1T上面的曲折。
ps:我的250G上面就一个ubuntu系统,1T未建立分区的空盘
首先知道dd命令可以克隆硬盘但是一直没用过所以试一下,我的1T为/dev/sda 250G是/dev/sdb ,运行如下命令:
sudo dd if=/dev/sdb of=/dev/sdb
ok这时候什么也看不到没用进度显示哦,下来另外开个terminal,给dd进程发送SIGUSR1 信号让dd返回当前进度如下:
sudo watch -n 5 killall -USR1 dd
这个时候坑爹的来了,你会看到速度8m/s。这尼玛不是忒坑爹啊比USB2.0还慢虽然我是IDE转SATA的接口也不至于这样啊,好吧我忍,上床睡觉200多G也得一会,睡醒了远程登陆上来看看,在82G的地方停了,心中千万草泥马啊。
错误如下图:
先解释下图中数据,records in /records out 都是指的block是数目,dd默认块大小512 byte,你给 block*512 看看是不是copied数目嘿嘿.好了,那么错误就是I/O error,估计我的250G物理坏道啊什么的.反正不管了.后来上网查了下强制复制也就是遇到错误不停止,就是给dd 加conv 参数是noerror和sync 用法如下:
sudo dd if=/dev/sdb of=/dev/sda conv=noerror,sync
接下来又是漫长的等待,就这么简单结束了就clone好了?不不不,结果看文章标题就已经知道了,坑神坑.依旧在原来出错的地方出错了停止,noerror无效呵呵.我想用skip 和seek跳过这块又怕数据损坏.好吧我放弃dd了垃圾一个啊再硬盘克隆上,我没说其他地方仅指硬盘clone上可能是我自己不会算bs吧.
接下来我换工具了,我用神器gparted,人家克隆用啥用e2image,这是谁开发的http://web.mit.edu/tytso/www/home.html 链接在此快去膜拜.然后gparted你就做个usb启动盘就弄吧,我硬盘按30M/s
一个多小时完成克隆现在我已经在克隆好的硬盘上写这篇文章了,给你看看哦
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 798G 147G 611G 20% /
最后建议以后克隆硬盘不要用dd了,用gparted吧,快速便捷安全可靠.