2017多媒体课件大赛:修复被 PartitionMagic 损坏的 Vista 分区表

来源:百度文库 编辑:偶看新闻 时间:2024/05/08 01:08:09

修复被 PartitionMagic 损坏的 Vista 分区表

Monday, August 20, 2007 @ 23:45 by islet8

Permanent Link: http://wutiam.net/2007/08/how-to-repair-vistas-partition-table-miswriten-by-partitionmagic/

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]

强烈推荐装机必备。