硬盘主引导扇区(mbs)结构,代码已注释

硬盘主引导扇区(mbs)结构,代码已注释

ID:14293317

大小:58.00 KB

页数:21页

时间:2018-07-27

硬盘主引导扇区(mbs)结构,代码已注释_第1页
硬盘主引导扇区(mbs)结构,代码已注释_第2页
硬盘主引导扇区(mbs)结构,代码已注释_第3页
硬盘主引导扇区(mbs)结构,代码已注释_第4页
硬盘主引导扇区(mbs)结构,代码已注释_第5页
资源描述:

《硬盘主引导扇区(mbs)结构,代码已注释》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、硬盘主引导扇区(MBS)结构,代码已注释有的网友反映第五部分MBR源代码看不懂,我注释一下我们经常遇到各种各样的硬盘故障,其中有相当部分是硬盘软故障,如有些朋友在安装Linux后,发现无法安装Windows等,但很多朋友由于在对硬盘的逻辑结构不是很了解,无法判断合解决该类问题。为了普及这些知识,增强大家的兴趣和做试验成功后的成就感,本人以提问的形式给大家展现这方面的知识,同时也提醒大家在实做时先用一个多余而且无重要数据的硬盘做试验,免得造成不必要的损失。另外,对于汇编不了解但有一定计算机基础的朋友,建议自己查找资料进一步学习,也可以记下本文中的代码,实做

2、中灵活应用。问题:我们在安装所有版本的Windows时,一般不管使用Win9X的Fdisk命令对硬盘进行分区,还是由安装程序进行分区,基本上都只能分一个主分区和一个扩展分区,扩展分区里面又分若干逻辑分区,很少人尝试过分多个主分区或多个扩展分区,今天有空出下面问题,随便做了个试验(Linux下做直接读Linux分区的文件试验导致硬盘Linux彻底被破坏,干脆。。。),结果如下:10G硬盘分为了3个主分区,而且还可以从任何一个主分区启动,也就是说,3个主分区装了3个操作系统。问题:(1)在只有基本的DOS情况下是如何做到的?(除了DOS,不允许用其它任何软件

3、)(2)一块硬盘最多可分为几个主分区和几个扩展分区?目的:通过讨论,让大家(1)深刻理解硬盘0面0道1扇区的MBR+DPT+BRI结构;(2)掌握手动修改MBR和DPT的手段,具备手动备份和还原硬盘0面0道1扇区的能力;(3)了解计算机从硬盘启动的过程,了解编写多重启动程序的基本方法;(4)为将来学习其它操作系统打下良好的基础。答案:(由于编辑窗口太小,可能有不少错误,也已修改不少,剩下的请指出)关键词:MBS-MasterBootSector主引导扇区MBR-MasterBootRecord主引导记录DPT-DiskPartitionTable硬盘分区

4、表BRI-BootRecordID引导记录标志CHS-(Cylinder柱面,也就是磁道编号0-mHead头,编号0-nSector扇区编号1-t)参数。一、硬盘结构和逻辑编号(1)硬盘物理结构传统硬盘由多个双面磁碟组成,每个面都有一个读写磁头,磁头编号从0开始,所谓0面就是指0磁头所对应的面;每个面被划为若干磁道,编号从负数开始,磁道数越小,越靠近磁碟边缘,因为线速度越大,所以读写速度也越快;用户只能使用0道以后的磁道,负磁道为硬盘所带的微处理器使用的一些代码(Fireware)和本硬盘一些重要参数存放的地方;每个磁道又分为若干扇区(每个磁道扇区数量都

5、一样),扇区的编号从1开始(不是从0开始哟!),每个扇区存放536(这个数记不清楚了,呵呵)多个字节,但共用户使用的只有512个字节,剩下的作为校验(CRC)和其它用途。这就是著名的硬盘寻址CHS(Cylinder柱面,也就是磁道编号0-mHead头,编号0-nSector扇区编号1-t)参数。对于CHS中参数中Cylinder柱,也就是磁道,用10个二进制数表示,所以最大为1024Head头,用一个字节表示,最大为256个磁头Sector扇区,用6为二进制数表示,所以最大为64-1(不能用0呀)=63所以使用CHS表示的硬盘最大容量为1024X256X

6、63X512=8455716864字节=8064M容量,这就是8G容量的由来。明显看出,外道比内道长,被划分为同样扇区数是非常浪费的。现代磁盘基本上也只有2个左右的磁碟,4个面左右,每个磁道上的扇区数量都不相同,一般使用LBA表示方法来表示每个扇区,所谓LBA指每个扇区都有一个编号,从0开始(负编号不给用户使用),为了与CHS方式兼容,硬盘内部代码使用了一种CHS-LBA映射的方式。(2)硬盘逻辑编号当一台计算机挂多个IDE硬盘时,LinuxUnix对硬盘的编号最为科学。它是这样处理的hda—第一个IDE口主硬盘,hdb—第一个IDE口从硬盘,hdc—第

7、二个IDE口主硬盘,hdd—第二个IDE口从硬盘,但对于BIOS,DOS和Windows,处理方式有点不一样,只要掌握下面原则就可以了(1)上面4硬盘是连续编号,从小到大,光驱不算(2)作为启动的硬盘编号最小,为0x80(16进制数)如第一个IDE口,主挂硬盘,从挂光驱,第二个ide口挂2个硬盘,BIOS设置从第二个主硬盘启动,则它们的编号为:第二个IDE主硬盘为0x80,第一个IDE主硬盘为0x81,第二个IDE从硬盘为0x82又如第一个IDE口主空,从挂硬盘,第二个IDE口主挂光驱,从挂硬盘,BIOS设置从第一个从硬盘启动,则它们的编号为:第一个ID

8、E从硬盘为0x80,第二个IDE从硬盘为0x81二、硬盘分区规范和制作多重启动程

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。