修复硬盘分区表的方法(100分)

  • 主题发起人 主题发起人 Langzii
  • 开始时间 开始时间
L

Langzii

Unregistered / Unconfirmed
GUEST, unregistred user!
在安装Linux时无意中弄乱了硬盘分区表(不是把哪个分区删了,
而是分区表本身出错).从现象上看是:一个分区内容完全丢失,卷标消失,
文件系统变成了FAT(原来是FAT32);另一个分区在98和nt5下皆可识别,
内容也完好无损,但在MS_DOS方式下(当然是退出Win)就不可识别了.用
pqmagic的partinfo检测了一下,发现有很多错误.不知道有没有什么办法
修复(本人分区表的知识有限,最好是有什么安全可靠的工具)
 
用norton磁盘工作试试看。
 
hehe, pqmagic不是可以修复吗?
用fdisk /mbr试试先:-)
 
norton系统比较成熟,也许它还能修正你未发现的错误
 
用pqmagic应该可以,
先不要fdisk/mbr,会把lilo冲掉的。
要不试试手工恢复:
硬盘的主引导记录在硬盘的0磁头0柱面1扇区。 主引导记录由三部分组成:
(1)主引导程序;(2)四个分区表;(3)主引导记录
有 效 标 志 字。 详 见 表1。
---- 表1 主引导记录结构
位   置 内   容
0000H -00D9H   主 引 导 记 录 代 码 区
00DAH -01BDH   空 闲 区
01BEH -01CDH   分 区1 结 构 信 息
01CEH -01DDH   分 区2 结 构 信 息
01DEH -01EDH   分 区3 结 构 信 息
01EEH -01FDH   分 区4 结 构 信 息
01FEH -01FFH   55 ?AAH 主 引 导 记 录 有 效 标 志
---- 分区表自偏移1BEH处开始, 分区表共64个字节,表中可填入四个分区信息,
每十六个字节为一个分区说明项, 这16 个字 节 含 义 详 见 表2。
---- 必须注意: 扇区号的高二位占用柱面号所在字节的最高二位,即柱面号为10
位,扇区号6位。
---- 表2分区结构信息
偏 移 长 度   含 义
00H  1   活 动 分 区 指 示 符, 该 值 为80H 表 示 为 可 自 举 分 区
( 仅 有 一 个), 该 值 为00H 表 示 其 余 分 区。
01H  1   分 区 起 始 磁 头 号。
02H  1   低6 位 是 分 区 开 始 的 扇 区, 高2 位 是 分 区 开 始 的
柱 面 的 头 两 位。
03H  1   分 区 开 始 的 起 始 柱 面 号 的 低8 位。
04H  1   系 统 标 志, 该 值 为01H 表 示 采 用12 位FAT 格 式
的DOS 分 区, 该 值04H 表 示 采 用16 位FAT 格
式 的DOS 分 区, 该 值 为05H 表 示 为 扩 展DOS 分
区, 为06H 表 示 为DOS 系 统。
05H  1   分 区 终 止 头 号
06H  1   低6 位 为 分 区 结 束 的 扇 区 号, 头2 位 为 结 束 柱 面
号 的 前2 位。
07H  1   分 区 结 束 柱 面 号 的 低8 位。
08H  4   本 分 区 前 的 扇 区 数, 低 位 字 节 在 前。
0CH  4   本 分 区 总 的 扇 区 数, 低 位 字 节 在 前。
---- 1.逻辑盘分区表的寻找
---- 下面以一台微机硬盘分区表为例,说明如何用Diskedit.exe寻找逻辑盘分区表。
---- 首先运行Diskedit.exe, 用object菜单的Partition table(分区表)将硬盘
0磁头0柱面1扇区的数据读出, 这是第一个分区表(自偏移01BEH处开始),详见表3。
---- 表3 第一个分区表
80 01 01 00 06 1F 3F 98 3F 00 00 00 A1 B4 04 00
00 00 01 99 05 1F BF 0E E0 B1 04 00 40 81 0B 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
---- 这里, 每行十六个字节, 为一个分区说明, 数据为十六进制。
---- 第一个分区:活动分区指示符为80H, 表示该分区为可自举分区。
---- 系统标志为06H 表示是DOS 系统, 即C 盘。
---- 第二个分区: 系统标志为05H, 说明该分区是扩展Dos 分区。
---- 第三、四个分区数据均为00H, 没有定义。
---- 从扩展DOS分区说明项(即第二个分区) 知下一个分区表位于:起始磁头为0
头,起始柱面为99H=153D, 起始扇区为1扇区。
利用Diskedit 的Physical Sector 项。 把 第153 簇,0 磁头1 扇区的数据读
出,得到第表2个分区表, 详见表4( 自偏移1BEH 处开始)。
---- 表4第二个分区表
00 01 01 99 06 1F 7F C9 3F 00 00 00 A1 61 09 00
00 00 41 CA 05 1F BF 0E E0 61 09 00 60 1F 02 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
---- 该分区表的格式和含义同第一个分区表。
---- 第一个分区说明项: 该分区指示符为00H, 说明为不可引导分区。系统标志
字节为06H 说明为DOS 分区, 即逻辑D 盘。
---- 第二个分区说明项:系统标志字节为05H, 说明是扩展DOS分区
---- 第三,四个分区说明项数据均为00H 没有定义。
---- 由第一个分区说明项知D盘开始于153 簇0 为1 扇区。
---- 由扩展分区说明项知, 扩展分区表起始簇号为01CAH=458D,起始磁头为0头,
1扇区。
---- 再次利用Diskedit 的Physical Sector, 把458 簇0磁头1 扇区的内容读出
( 自偏移0 1BEH处开始), 得到第三个分区表, 详见表5。
---- 表5 第三个分区表
00 01 41 CA 06 1F BF 0E 3F 00 00 00 21 1F 02 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
---- 这是第三个分区表
---- 该分区表的第一个分区说明项表明, 本分区是DOS 分区,不可引导。
---- 自第二个分区说明项开始, 全为00H 说明后面不再有分区表。
---- 由上可知:
---- 每一个分区表中扩展分区说明项实际上指示下一个分区表的位置(簇,磁头
号,扇区号)。 最后一个分区表没有扩展分区说明项。
---- 每一个分区表都会有一个实际分区说明项, 也就是对逻辑盘的实际起始、终
止位置进行说明。
---- 除逻辑盘C主引导记录及分区表共占用一个扇区, 其它分区表则各占一个扇
区,自该扇区01BEH 处开始, 以55AAH 结束。
 
amo已经说的很清楚了,我就不必补充了.
 
先用Fdisk/MBR
再用Norton 4 For windows,反复查分区,一定要做NDD的恢复盘呀
我以前装NT的时候就出过这样的问题
一定要在NDD修复之前关掉一切的防毒软件,防止出错
对FAT表NDD很有用的,ntfs不知道呀
 
多人接受答案了。
 

Similar threads

后退
顶部