CATEGORY / Software

修复被 PartitionMagic 损坏的 Vista 分区表

Permanent Link: http://wutiam.net/notes/34

DELL C521 台机(160GB)预装的 Windows Vista,默认仅分了一个系统分区(140GB)和一个特殊的备份分区(10GB)。由于我第一次接触 Vista,很无知,想当然的企图用 PowerQuest PartitionMagic 8.0 for DOS 来对硬盘进行重分区。一进 PQMagic 就提示“硬盘上有错误,是否要修复”,不假思索地就按了“是”,结果,分区表被损坏了,连 PQMagic 自己都无法再识别该硬盘上的分区了(错误 #105,进去时报分区有重叠),靠!当然,机器也乖乖地报找不到硬盘还是操作系统之类的错误(# 具体文字我记不清了)。

由于硬盘里保存了很多有用信息,不到万不得已我可不想重格硬盘重装系统,先找办法恢复分区表和系统吧。查了大量文章,最先尝试“fdisk /mbr”,无效(我也觉得应该不关MBR的事);用 Windows XP/Vista 系统光盘自动修复,无效;用 DiskGenius(原 DiskMan)的“重建分区表”,结果建出一大堆乱七八糟的分区,总容量 1TB+,我抓狂了。

正当无奈之际,想起刚才 PQMagic 报的分区有重叠错误,在 DiskGenius 里果然看到一个不知名分区和那个 DELL 的特殊分区的中止柱面/磁头/扇区数值明显有误,都被改成了磁盘最后一个扇区的值了。手边另有两台本本(一台 Vista 一台 Xp),立马分别运行 DiskGenius 查看分区表信息,估摸着该怎么改这损坏了的分区信息(因为我不懂这个。。。)。我猜就是把上一分区的结束位置和下一分区的起始位置接上(刚好相差一个扇区),试试吧,改好,存盘重启。

————
Updated: 不少朋友都要求我的分区表信息,可我当时没记录下来,现在已经没了,只好贴个 sample:

比如三个分区序号分别为 0、1、2,被损坏时用 diskgenius 看到的信息假设如下(具体数据我编造的,但是错误原因一致):

第 0 分区 起始位置 0 柱面 1 磁头 1 扇区,中止位置 1558 柱面 164 磁头 63 扇区
第 1 分区 起始位置 301 柱面 180 磁头 1 扇区,中止位置 1558 柱面 164 磁头 63 扇区
第 2 分区 起始位置 1055 柱面 15 磁头 21 扇区,中止位置 1558 柱面 164 磁头 63 扇区

而正确的应改为如下:

第 0 分区 起始位置 0 柱面1 磁头1 扇区,中止位置 301 柱面 179 磁头 63 扇区
第 1 分区 起始位置 301 柱面 180 磁头 1 扇区,中止位置 1055 柱面 14 磁头 20 扇区
第 2 分区 起始位置 1055 柱面 15 磁头 21 扇区,中止位置 1558 柱面 164 磁头 63 扇区

我当时猜想的原理是:每个柱面包含有 0~254 共 255 个磁头,每个磁头中包含有 0~63 共 64 个扇区,而上一分区的中止位置的下一位应该是当前分区的起始位置,而 PartitionMagic 提示我的正是各分区间有重叠,因此我就按照这种想法把几个分区的中止位置修改了。

————

Jesus!我是从 Vista 光盘启动的,居然说找到了一个系统,马上修复,再重启(这里其实修复的是处于硬盘上的 Vista 的恢复菜单那东西,估计跟之前 fdisk /mbr 被改掉了有关),出现了 Vista 的恢复菜单,进去,也看到可以被修复的系统了,再一次修复,重启,哈,这次彻底把系统给恢复过来了,Hooray!!!

一波三折,折腾了远不止上述这些时间才找回了我的系统,但毕竟成功了,激动。蹩脚的电脑医院和DELL客服都只会重格硬盘(用debug命令),BS。

这里是我从光盘启动执行 diskgen.exe 用的刻盘文件——王牌启动盘 V2.1:[1] [2]

强烈推荐装机必备。

————

16 Comments

# Duck on August 21st, 2007 at 1:03
dell历险记啊:)

# sfufoet on August 21st, 2007 at 21:12
我来顶帖了。哈哈

# h.qiu on August 22nd, 2007 at 5:35
完了,我完全成了技术文盲了……

# islet8 on August 22nd, 2007 at 13:17
@h.qiu:这么快就忘了你很依赖我的啦~~LOL

# Vanish on August 26th, 2007 at 17:44
我要是早两天看到这篇文章就好了…
可怜我的磁盘上所有数据…

# Vanish on August 26th, 2007 at 21:05
看到你在煎蛋里写的Windows精彩报错集锦, 然后顺带逛下你的博客才看到的…
Damn百度和Google都不知道给了我些什么搜索结果…

# islet8 on August 26th, 2007 at 22:36
@Vanish:很高兴你关注煎蛋,搜索引擎的确还是比较笨的,需要我们自己去挖掘信息

# baogq on October 18th, 2007 at 14:01
WOW, 我的机器(inspiron530)(250g)与你的出现了一样的问题。现在还没有解决呢。看到了你的文章,真是如获至宝啊。你能不能把你用 DISKMAN修改的硬盘分区( 具体数据给我发过来呢。我的邮箱是:baogq@nic.bmi.ac.cn 如能解决问题可就太好了。

# daemon on October 31st, 2007 at 0:43
我也一样,看了分区表不知道如何修改,扩展区上的两个分区如何设置啊,我看不出错误,可否将你的硬盘分区信息发我一份,谢谢了!
chris2005@citiz.net

# freewalk on December 5th, 2007 at 13:01
同daemon的問題….可否將你的硬盤分區信息發我一份,謝了! freewalk7@gmail.com

# samxman on March 11th, 2008 at 23:19
我也有同样的问题 是否可以发一份给我呢 谢谢!samerics@126.com

# islet8 on March 11th, 2008 at 23:21
@samxman 我已经把分区信息 update 在文章当中了

# sun on March 13th, 2008 at 16:11
同样的问题,按你说的方法修复成功了.谢谢!

# islet8 on March 13th, 2008 at 16:15
@sun 恭喜啦,非常高兴我的经验对你有用 :)

# amigd23 on March 16th, 2008 at 1:38
感谢大侠,花了我两天才找到你这个Blog,终于解决了我的问题。

# islet8 on March 20th, 2008 at 9:20
@amigd23 Congratulations! 8)

No Comments / Trackbacks / Pingbacks

Leave a Reply

:) :wink: 8-O :lol: :-D 8) :-| :mrgreen: :oops: :-o :-? :( :twisted: :cry: more »