教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 高中教育 >

DEBUG修复硬盘主引导区全透析

来源:网络收集 时间:2026-07-27
导读: DEBUG修复硬盘主引导区全透析 DEBUG修复硬盘主引导区全透析 在硬盘的数据结构中,主引导记录MBR和DOS引导记录DBR占有非常重要的地位。一旦它们出现问题,轻则无法从硬盘启动,重则造成整个硬盘或分区数据无法读取,同时它们又是硬盘数据结构中最为脆弱、故障

DEBUG修复硬盘主引导区全透析

DEBUG修复硬盘主引导区全透析

在硬盘的数据结构中,主引导记录MBR和DOS引导记录DBR占有非常重要的地位。一旦它们出现问题,轻则无法从硬盘启动,重则造成整个硬盘或分区数据无法读取,同时它们又是硬盘数据结构中最为脆弱、故障率最高的部位之一。有关MBR和DBR的修复方法很多,但是要彻底修复这个故障,还是用DEBUG来得彻底。

DEBUG是一个Windows系统自带的DOS调试程序。一些第三方的自动修复工具软件,虽然容易操作,但适用范围小。以常用的NORTON DISK DOCTOR为例,用它修复一些标志性字节(如活动分区标志80、结束标志55 AA)错误是有效的,但对于大多数非标志性错误(如引导程序错误),它则无能为力。特别是DBR中的许多错误,它不仅无法修复,而且很容易造成其他数据结构的损坏,致使修复更加困难。DEBUG虽然操作复杂,但却灵活有效。它可针对不同的故障采用不同的方法,所有的操作均在修复者的指令下进行。只要操作者头脑清醒,这种方法是相当安全的。用DEBUG修复硬盘软故障,除了应当掌握DEBUG的一些常用命令之外,更要弄清MBR和DBR的数据结构。希望那些汇编爱好者们能通过DEBUG进行理论和实践结合来修复故障,解决实际问题。

为了正确判断MBR是否出现故障,故障在哪些字节上,必须首先调出MBR字节内容。为此我们先来看一下硬盘MBR数据结构。

MBR和分区表结构

MBR位于硬盘0柱面、0磁头、1扇区上,它由以下三个部分组成:

(1)主引导程序(含出错提示信息),偏移地址为0H~1BDH;

(2)分区表,偏移地址为1BEH~1FDH;

(3)结束标志55 AA,偏移地址为1FEH~1FFH。

在这三部分中,最重要的是分区表,最难修复的也是分区表。不同容量的硬盘或者硬盘容量相同但分区不同,分区表也各不相同。寻找分区表相同的硬盘,对家庭用户来说是不现实的。而用相同DOS版本分区命令建立的引导程序,是基本一致的,修复时可以互相替代。可以这样认为:分区表修复了,MBR也就修复了。

分区表中有四个分区表项,每个表项长度为16字节。通常只使用前两个表项,后两个表项全部为零字节。分区表项中各个项目的偏移地址、字节数及含义见^07030701a^所示。

说明:整个硬盘划分为主分区和扩展分区,其中C盘属于主分区(活动分区),其他各盘均属于扩展分区(非活动分区)。以C盘为例:在第一分区表项中,第1字节必须为80,否则无法从硬盘启动。第2、3、4字节分别为C盘逻辑0扇区所在的磁头号、扇区号和柱面号,通常为1头1扇0柱。第6、7、8字节为C盘尾扇的位置信息──硬盘的末磁头(磁头号为硬盘磁头数减去1)、末扇区(63扇)、C盘的终止柱面。第9~12字节为C盘逻辑0扇区之前的隐含扇区数,常为63(3F 00 00 00)。第13~16字节为C盘上自逻辑0扇区开始的

DEBUG修复硬盘主引导区全透析

扇区总数,为方便,本文简称为C盘或主分区的逻辑扇区总数。

在第二分区表项中,首字节00表示本表项为扩展分区。第2、3、4字节为扩展分区中首扇的位置信息──0磁头、1扇区,柱面号则为主分区(C盘)的终止柱面号加1。第6、7、8字节为扩展分区尾扇(也是整个硬盘的尾扇)的位置信息──硬盘的末磁头(磁头号为硬盘磁头数减去1)、末扇区(63扇)、末柱面(柱面号为硬盘柱面数减去1)。第9~12字节为C盘逻辑扇区总数加隐含扇区数(63),本文简称为主分区扇区总数。第13~16字节为扩展分区扇区总数。上述二者之和应为硬盘扇区总数。

重建分区表时必须掌握以下数据:

(1)硬盘的磁头数、柱面数和扇区数。这三个数可由FDISK/MBR创建的分区表项中获取,也可由CMOS设置中获取。二者应当一致。此三个数之乘积即为硬盘的扇区总数。

(2)文件系统类型是FAT16或是FAT32。此信息应由硬盘的使用者提供,或者从该盘DBR中获取,还可由FDISK/MBR创建的分区表项中看出。另外,根据C盘的大小也可作出判断。

(3)C盘的逻辑扇区总数,可由DBR中获取。它与隐含扇区数之和即为主分区扇区总数。当然,在知道本盘起止柱面号时,也可计算出这两个扇区总数。

(4)主分区的末扇区所在的柱面号及扩展分区首扇区所在的柱面号,后者比前者多一个柱面。扩展分区首扇区所在的柱面号按下式计算:

扩展分区起始柱面号=主分区扇区总数/(63×硬盘磁头数)

(5)扩展分区扇区总数=硬盘扇区总数-主分区扇区总数。

除了上述MBR之外,如果一个硬盘有多个分区,在其他各盘的起始柱面、0磁头、1扇区上,均有该盘的分区表。但没有引导程序。第一表项为本盘的起始磁头/扇区/柱面、分区类型、终止磁头/扇区/柱面、隐含扇区数、逻辑扇区总数;第二表项为下盘(后续盘)的起始磁头/扇区/柱面、分区类型和终止磁头/扇区/柱面,本盘之前的扩展分区扇区总数、下盘(后续盘)的扇区总数。以此来构成各盘间的链接。

查看MBR的HEX显示

了解了以上情况后让我们来实际解决一下如何查看MBR的HEX显示。

A:>DEBUG

-A 100

1D2F:0100 MOV AX,0201

1D2F:0103 MOV BX,1000

DEBUG修复硬盘主引导区全透析

1D2F:0106 MOV CX,1

1D2F:0109 MOV DX,80

1D2F:010C INT 13

1D2F:010E INT 20

1D2F:0110

-G=100

-D1000 显示读入内存的内容

出现MBR的HEX显示后,对照前文MBR结构进行检查,特别注意关键字节(如55 AA、活动标志80和非活动标志00等)的内容和偏移地址是否正确。

例1 重建MBR

一个3.5GB硬盘,系统启动时在更新ESCD之后无法继续,提示信息为:“Disk boot failure,insert system disk and press enter.”只知道该硬盘有多个分区,但不清楚各盘容量大小。

用软盘启动后,发现各盘全部丢失。可以判断为MBR故障,因为DBR故障一般不会造成各盘同时丢失。在MBR故障中,这有多种可能:一是活动分区标志损坏,二是结束标志55 AA出错,还有可能是整个MBR被破坏。用前面查看MBR的方法,发现MBR全为乱码,需要重建。

用备份的MBR恢复

这是最简单的解决方案,假定备份MBR在软盘的第2870逻辑扇区中(见例1),恢复方法为:

-L1000 0 B36 1

-D1000

确认备份MBR正常后,继续:

-A100

1D2F:0100 MOV AX,0301

1D2F:0103 MOV BX,1000

1D2F:0106 MOV CX,1

DEBUG修复硬盘主引导区全透析

1D2F:0109 MOV DX,80

1D2F:010C INT13

1D2F:010E INT20

1D2F:0110

-G=100

退出DEBUG,取出软盘,重新启动即可。

在上篇文章中,谈到了用备份的MBR来恢复损坏的MBR,而备份的MBR保存在启动盘的末尾扇区中(第2870扇即B36H扇区。因1.44MB软盘共2880个扇区,末尾扇区通常空闲未用)。这样既不影响启动盘的正常使用,同时又给备份文件恢复带来了方便。为将正常MBR备份到启动盘,可将启动盘置入软驱,在上篇查看MBR 显示的程序后面接着执行:

-W1000 0 B36 1

…… 此处隐藏:4578字,全部文档内容请下载后查看。喜欢就下载吧 ……

DEBUG修复硬盘主引导区全透析.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1732174.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)