免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: qhq2bb
打印 上一主题 下一主题

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

论坛徽章:
0
11 [报告]
发表于 2010-11-17 15:57 |只看该作者
1、如果是xp系统,那么mbr里的东西是windows的,应该是mbr查询dpt找到活动分区,然后直接引导活动分区里的ntldr,然后启动os。

2、如果是grub(且grub安装在mbr内),那就是mbr(stage1)->start->*_stage1_5->stage2->grub.conf->根据用户的选择,启动os。

不知道我这个理解是否正确?

论坛徽章:
0
12 [报告]
发表于 2010-11-17 16:18 |只看该作者
我以前这样搞过:
1、安装redhat5.0,安装的时候选择不把grub安装到mbr内;
2、安装windows2003;
3、启动机器,自动进入2003,然后用diskpart把linux的/boot目录设定为活动分区;
4、重启机器,自动进入redhat5.0,如果想进入2003,那就用fdisk把2003所在分区设定为活动分区。

所以说下面这个顺序好像没错:
  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、 启动系统。
我猜想活动分区的第一个扇区里肯定有东西,那是什么呢?起什么作用呢?

论坛徽章:
0
13 [报告]
发表于 2014-01-11 20:06 |只看该作者
回复 6# qhq2bb

第8条的意思表明了一件事情:磁盘的第一个扇区装的不是引导程序,而是一个判断活动主分区的程序,该程序被bios加载到内存中,其功能是判断哪个分区是活动主分区,如果找到活动主分区,则将活动主分区的第一个扇区的程序加载到内存中(这就说明,活动主分区的第一个扇区才是真正的引导程序)。然后引导程序再加载内核到内存中。
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP