TestDisk 找回丢失的硬盘分区表

分区表丢失 早晨启动笔记本,被告知未找到操作系统,有点心惊,用Linux 启动U盘引导系统,查看我的主硬盘设备:fdisk -l /dev/sda ,找不到任何分区,应该是分区表丢了,原因不知道。 从前使用Windows 软件FinalData 恢复过被快速格式化甚至重新分过区的硬盘数据,于是把硬盘拆下,装在第二块硬盘托架内,借了台thinkpad,装了FanalData,但发现它只能恢复文件,不能恢复分区表,而且对Linux 分区数据也无能为力。 恢复分区表 在尝试易我分区表医生未果之后,Google到这篇文章: 介绍一个 GPL 的分区表修复工具 TestDisk...

分区表丢失

早晨启动笔记本,被告知未找到操作系统,有点心惊,用Linux 启动U盘引导系统,查看我的主硬盘设备:fdisk -l /dev/sda ,找不到任何分区,应该是分区表丢了,原因不知道。

从前使用Windows 软件FinalData 恢复过被快速格式化甚至重新分过区的硬盘数据,于是把硬盘拆下,装在第二块硬盘托架内,借了台thinkpad,装了FanalData,但发现它只能恢复文件,不能恢复分区表,而且对Linux 分区数据也无能为力。

恢复分区表

在尝试易我分区表医生未果之后,Google到这篇文章: 介绍一个 GPL 的分区表修复工具 TestDisk | BT的花,找到TestDisk,下载了Windows 版,先读了一遍Using TestDisk 下面的文档,然后开始对故障硬盘进行Analyse ,但经过Deeper Search 之后,仅仅找前三个主分区,位于Windows 扩展分区内的两个对我而言最重要的逻辑分区未找到。记起帮助文档中介绍 Geometry下面可以调整柱面(C)、磁道(H)、扇区(S)、扇区size(SS)等参数,目前设定为:9730、255、63、512,将Head修改为240 (柱面数没有进行修改,TestDisk会自动读取剩余的柱面,如果需要计算的话,SS 不变,应该满足:new_C=9730*255/240),再次执行Analyse,TestDisk读出了所有的分区信息!

使用p 命令可以列出每个分区上的文件,经过仔细确认,分区信息无误之后,执行写入分区表。

修复MBR grub

装回硬盘,启动,屏幕左上角出现了几个字母后停住,估计是MBR grub 损坏,从U盘引导,mount 主硬盘的/boot 分区,进入/boot/grub 目录,执行grub,重新写入主硬盘MBR:

# grub
grub> root (hd0,0)
grub> setup (hd0)
grub> quit 

 

再次硬盘启动成功,进入系统,所有分区数据访问正常。

后记

如果有分区表备份,在这种情况下,可以使用Linux fdisk 按照原来的起止柱面,直接建立原类型分区,数据也同样可以找到。

看来备份分区表很重要,可以添加这样一条命令到crontab,来备份最近7天的分区表信息(还应该有机制自动将备份文件mail 出去或者同步到移动存储器,也可以scp 到本地硬盘以外的主机):

00 12 * * * fdisk -l > ~/.pt_backup_$(date '+%Y%m%d'); find ~ -name ".pt_backup_*" -mtime +7 -exec rm -f {} \;

TestDisk Windows 版本在系统安装有cygwin 的情况下,启动出错,大概是因为系统中的cygwin1.dll 版本更新,删除了TestDisk 解压目录中的cygwin1.dll 之后可正常启动TestDisk。

为软件作者实现了一个在Amazon的wish: The Engines of God,为了省运费,使用了amazon.fr,不过还好有Google 语言工具

延展阅读

mail.png


标签订阅|Tag Subscription

If you use an RSS reader, you can subscribe to a feed of all future entries tagged 'partition table'. [What is this?]

Subscribe to feed Subscribe to feed

最近更新|Recent Entries

不定期更新|Handy Entries

其它标签|Other Tags

分类栏目|Categories

按月归档|By Month

2008
11
10
07
05
04
03
02
01
2007
12
10
07
06
05
04
03
02
01
2006
12
11
10
09
08
07
06
05
04
03
02
01
2005
11
10
09
08
07
04
03
2004
12
11
10
09
08
07
06
05
04
03
02
01
2003
12
10
09
08
06
2002
09
08
04
03
02
2001
12
09
07
06
05

站内链接|Site Links

Powered by
Movable Type 3.34