硬盘主引导扇区MBS结构,代码已注释
硬盘主引导扇区(MBS)结构,代码已注释 有的网友反映第五部分MBR源代码看不懂,我注释一下我们经常遇到各种各样的硬盘故障,其中有相当部分是硬盘软故障,如有些朋友在__Linux后,发现无法__Win
硬盘主引导扇区(MBS)结构,代码已注释 有的网友反映第五部分MBR源代码看不懂,我注释一下 我们经常遇到各种各样的硬盘故障,其中有相当部分是硬盘软故障,如有些朋友在__Linux 后,发现无法__Windows等,但很多朋友由于在对硬盘的逻辑结构不是很了解,无法判断合 解决该类问题。 为了普及这些知识,增强大家的兴趣和做试验成功后的成就感,本人以提问的形式给大家展 现这方面的知识,同时也提醒大家在实做时先用一个多余而且无重要数据的硬盘做试验,免 得造成不必要的损失。另外,对于汇编不了解但有一定计算机基础的朋友,建议自己查找资 料进一步学习,也可以记下本文中的代码,实做中灵活应用。 问题:我们在__所有版本的Windows时,一般不管使用Win9X的Fdisk命令对硬盘进行分 区,还是由__程序进行分区,基本上都只能分一个主分区和一个扩展分区,扩展分区里面又 分若干逻辑分区,很少人尝试过分多个主分区或多个扩展分区,今天有空出下面问题,随便 做了个试验(Linux下做直接读Linux分区的文件试验导致硬盘Linux__被破坏,干脆。。。), 结果如下:10G硬盘分为了3个主分区,而且还可以从任何一个主分区启动,也就是说,3 个主分区装了3个操作系统。 问题: (1)在只有基本的DOS情况下是如何做到的?(除了DOS,不允许用其它任何软件) (2)一块硬盘最多可分为几个主分区和几个扩展分区? 目的:通过讨论,让大家 (1)深刻理解硬盘0面0道1扇区的MBR+DPT+BRI结构; (2)掌握手动修改MBR和DPT的手段,具备手动备份和还原硬盘0面0道1扇区的能力; (3)了解计算机从硬盘启动的过程,了解编写多重启动程序的基本方法; (4)为将来学习其它操作系统打下良好的基础。 答案:(由于编辑窗口太小,可能有不少错误,也已修改不少,剩下的请指出) 关键词: MBS-__sterBootSector主引导扇区 MBR-__sterBootRecord主引导记录 DPT-DiskPartitionTable硬盘分区表 BRI-BootRecordID引导记录标志 CHS-(Cylinder柱面,也就是磁道编号0-mHead头,编号0-nSector扇区编号1-t) 参数。 一、硬盘结构和逻辑编号 (1)硬盘物理结构 传统硬盘由多个双面磁碟组成,每个面都有一个读写磁头,磁头编号从0开始,所谓0面就 是指0磁头所对应的面;每个面被划为若干磁道,编号从负数开始,磁道数越小,越靠近磁 碟边缘,因为线速度越大,所以读写速度也越快;用户只能使用0道以后的磁道,负磁道为 硬盘所带的微处理器使用的一些代码(Fireware)和本硬盘一些重要参数存放的地方;每个

