红联Linux门户
Linux帮助

江湖救急!磁盘数据丢失的救星TestDisk

发布时间:2016-11-04 10:43:22来源:51cto作者:朱先忠编译
当你在朋友或家庭成员的PC上安装操作系统而突然遇到数据丢失时,这可能使你惊恐万分;而且,这也是一个大事件。当事情发生在你自己的数据上时,这自然是糟糕无比的;但当问题出现在别人家的机器上时,这种感觉是无法忍受的。
 
我就亲身经历过上述体验,因为这是我在纽约州北部最近的一次家庭团聚中发生的情况。当时,我试图在我母亲的笔记本电脑上安装Ubuntu 16.04和Windows 7双系统。我事先根本没有进行细致地分析(简直有点难于启齿),结果在备份母亲的数据时失败了。此前,我根本没有重新划分她的硬盘上Windows分区的大小。直到我试图重新启动机器切换回到Windows 7时,我才意识到我做了什么。
当时,我感到轻微的恐慌并安慰母亲说我保证可以解决这个问题。最终,我找到了一款真正能够帮我忙的程序——TestDisk(http://www.cgsecurity.org/wiki/TestDisk)。事实上,TestDisk这个工具已经出现一段时间了,甚至在2011年PCWorld网站上就有介绍。这个工具的工作原理很吸引人,只是没有提供漂亮的GUI界面帮助。事实证明,它出现在Ubuntu 16.04发行时一同部署的官方Ubuntu文件库中。(在Arch Linux Extra文件库也提供了这个工具。)
 
使用TestDisk
TestDisk的网站声称,该程序被设计为“帮助恢复丢失的分区和/或使无法再引导的磁盘可启动;前提是,这些症状是由故障软件导致的:例如某些类型的病毒或人为错误(例如意外删除分区表),等等。”有关存储驱动器需要理解的一点是,当您删除文件或分区表时,数据仍存在于磁盘上。实际上,删除操作只是删除了指向数据的指针,从而允许操作系统在这些块上进行写操作而已。(当然,您也可以删除这些数据本身,但通常这需要使用类似于shred这样的工具进行专门删除。)
 
您可以使用TestDisk作为Windows或Linux分区的救援工具,但是您需要一个Ubuntu在线USB驱动器(https://www.ubuntu.com/download/desktop/create-a-usb-stick-on-windows),以便您可以引导到PC上的一个单独环境中,然后检索丢失的文件。在Ubuntu运行环境下,您可以使用命令sudo apt-get install testdisk来安装TestDisk。此外,您还需要使用管理员权限来运行它:sudo testdisk。
江湖救急!磁盘数据丢失的救星TestDisk
【提示】虽然TestDisk是一个控制台程序,但是它的菜单和命令都很容易操作,即使对于那些不使用命令行向导的人。
 
在第一次运行时,TestDisk将询问您是否要启动新的日志文件。(你可能会做。)此后,程序便会自动寻找已安装的任何驱动器以使用该日志文件。如果没有找到驱动器,则需要将块设备指定为TestDisk的参数,例如:sudo testdisk/dev/sda。如果您不确定要恢复的驱动器位于何处,请使用命令lsblk来获取更多信息。
 
一旦您看到驱动器,TestDisk将尝试自动检测分区,包括已删除的分区。 TestDisk还会自动查找文件条目,虽然损坏或删除的分区需要进行更深入的扫描。深入的扫描将需要一些时间,因为TestDisk将逐块读取整个分区。一旦扫描完成,且你看到了所有的文件,那么你就可以把文件复制到备份媒体。
江湖救急!磁盘数据丢失的救星TestDisk
 
最后,值得特别注意的是,TestDisk只处理驱动器数据中的软件故障,而不会在驱动器发生物理故障的情况下帮助您。和往常一样,你真正应该对你的数据保持良好的备份。原因再简单不过:有了完整的和最新的备份,如果驱动器出了什么问题,那么你就可以自由地清除整个驱动器上的数据了。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/25718.html