大多数情况,比如partition参数问题,或者恢复误删文件等等,如果没有时间机器备份,可以使用专门数据恢复软件,如Data Rescue 3等等,他们可以轻松恢复/找回丢失的文件。
不过有时,硬盘可能因为各种原因,什么坏道,S.M.A.R.T.状态报错,或者放置很长一段时间的硬盘等等,造成数据无法读取,无论这种不幸发生在自己身上还是朋友帮忙,总需要一种有效的方法来尽可能多地抢救数据。这就是我们这里要探讨的多种可能的软件选择。
硬件方面,你需要一台工作的Mac电脑,或者使用损坏硬盘Mac的目标模式(Target),或者外置硬盘盒连接到工作电脑;或者是一块可以启动硬盘损坏Mac的硬盘(外置最好,否则你可能需要开机,不同时代不同型号的Mac,拆机的难度可是大相径庭)。以及一块恢复后的数据存储盘,容量不小于损坏硬盘。
软件有多种选择,下面一一说说。
cp:
你可能不相信,即便使用最最普通的cp -R命令就可能完成这个任务,没有想到吧。
dd:
用Unix/Linux的肯定会想到它,没错,试试它吧。详细的参考这里。
dd bs=512 if=/dev/rXX# of=/some_dir/foo.dmg conv=noerror,sync
上面的命令把数据存放在一个dmg文件中,之后你可以或者装载dmg,或者把dmg文件恢复到一个新硬盘上。
这是一个收费软件,没有用过,不过看似不错。
ddrescue:
这个软件不错,我们的重点在这里。
使用任何一个你喜欢的ports,比如MacPort,Fink,或者homebrew等,安装ddrescue,或者到这里下载可执行命令。
命令形式如:
sudo ddrescue -v /dev/rdisk0s2 /Volumes/Backup/failing_drive_backup.dmg failing_drive_backup.log
/dev/rdisk0s2就是损坏的硬盘分区
这个log文件用处大,ddrescue可以用它来进行断点恢复,也就是从上次停止的地方继续数据恢复。
最好使用其它参数来修正软件默认的一些参数。比如,应为新硬盘都会使用大扇区,是4096字节,传统的是512,所以使用-b 4096改变默认值。使用rdisk?而不是disk?,他们的区别是disk?使用缓存而rdisk是直接读写。还可以通过修改-c的簇大小来改进速度,可以尝试 4096 to 16384。