免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 9448 | 回复: 12
打印 上一主题 下一主题

硬盘活动分区的第一个扇区里有什么东西? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-11-17 12:21 |只看该作者 |倒序浏览
假设系统是xp,安装在C盘,那活动分区C盘的第一个扇区里是什么?

假设系统是linux,grub引导,grub安装在MBR里,单独分一个/boot目录,那做为活动分区的/boot目录的所在分区的第一个扇区里有啥?

谢谢

论坛徽章:
0
2 [报告]
发表于 2010-11-17 12:49 |只看该作者
本帖最后由 Yuri.G. 于 2010-11-17 12:51 编辑

MBR的结构图


这是一整个512K,前面的bootloader的作用是去引导grub的stage2
而这个512K其实跟你的stage1是一样的。

论坛徽章:
0
3 [报告]
发表于 2010-11-17 12:52 |只看该作者
也就是说,真正的grub程序是在stage2里头。

论坛徽章:
0
4 [报告]
发表于 2010-11-17 12:57 |只看该作者
回复 1# qhq2bb


    所以回答你的问题:
1、你的XP的C盘如果是活动分区,那么他引导的是XP的loader,你就看不到grub了。
2、如果你的引导的时候是grub,那么C盘肯定没有活动标记,他的活动标记可能是在你的/boot分区。
3、至于分区的第一个扇区具体存什么跟这里面好像有点不对题了。
4、只有硬盘的第0个个磁道的0柱面的1扇区里面存放的是MBR,MBR里面详细的信息可以看楼上的楼上。
5、GRUB程序实际上是放在stage2里头的,而怎么让启动的时候bios能成功转交引导权呢,就靠stage1了,也就是MBR里面前446字节的内容,他的作用是找到stage2,并执行他。

论坛徽章:
0
5 [报告]
发表于 2010-11-17 14:13 |只看该作者
回复 1# qhq2bb


    看明白了么?我说的不知道对不对,还有啥问题么有?
没有就结贴,改标题。

论坛徽章:
0
6 [报告]
发表于 2010-11-17 15:05 |只看该作者
谢谢楼上的兄弟的解答!
  系统引导过程主要由以下几个步骤组成(以硬盘启动为例)
  1、 开机;
  2、 BIOS加电自检(POST??Power On Self Test),内存地址为0fff:0000;
  3、 将硬盘第一个扇区(0头0道1扇区,也就是Boot Sector)读入内存地址0000:7c00处;
  4、 检查(WORD)0000:7dfe是否等于0xaa55.若不等于则转去尝试其他介质;如果没有其他启动介质,则显示 “No ROM BASIC” ,然后死机;
  5、 跳转到0000:7c00处执行MBR中的程式;
  6、 MBR先将自己复制到0000:0600处,然后继续执行;
  7、 在主分区表中搜索标志为活动的分区。如果发现没有活动分区或不止一个活动分区,则停止;
  8、 将活动分区的第一个扇区读入内存地址0000:7c00处;
  9、 检查(WORD)0000:7dfe是否等于0xaa55,若不等于则显示 “Missing Operating System”,然后停止,或尝试软盘启动;
  10、 跳转到0000:7c00处继续执行特定系统的启动程式;
  11、 启动系统。
上面是我在网上找到的一个os启动的过程,8、9、10我不太明白,8是将活动分区的第一个扇区读入内存0000:7c00处,然后10步是执行第8步读入的内容,请问第8步读入的是什么呢?以xp和linux为例。

论坛徽章:
0
7 [报告]
发表于 2010-11-17 15:15 |只看该作者
那可能我的:
4、只有硬盘的第0个个磁道的0柱面的1扇区里面存放的是MBR,MBR里面详细的信息可以看楼上的楼上。
这条观点是不对的。
你的问题中,讲活动分区的第一个扇区读入内存,肯定读的也是MBR那样的东西,如果是grub就是stage1那样的内容,XP的话,貌似只能在第一个盘吧。
第10步,就是执行那446个字节的内容。

论坛徽章:
0
8 [报告]
发表于 2010-11-17 15:24 |只看该作者
那可能我的:
4、只有硬盘的第0个个磁道的0柱面的1扇区里面存放的是MBR,MBR里面详细的信息可以看楼上的楼 ...
Yuri.G. 发表于 2010-11-17 15:15



    但是看前面的步骤3里其实已经把MBR的东西读到内存里了,所以第8步应该不是MBR的内容了吧?也许我看的这个资料就是错的?

论坛徽章:
0
9 [报告]
发表于 2010-11-17 15:27 |只看该作者
回复 8# qhq2bb


你引用的这个资料肯定是存在问题的。
因为Linux系统里面他还有一个分区映射过程,他这里没有。
还有,BSD的那种分区方式也不同,而且更复杂一些,所以不能统称到“电脑”或“系统”里面去一概论之。

论坛徽章:
0
10 [报告]
发表于 2010-11-17 15:29 |只看该作者
当然,BIOS那部分的过程应该是一样的。然后我想是先丢给硬盘的第一个扇区,或者是丢给活动分区的第一个扇区。
后面怎么样,那就是扇区里面的446决定了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP