设为首页 友情链接
在线留言 发表文章
加入收藏 广告联系

刺猬首页

| 专案技术 | 网络技术 | 图形图象 | 网络编程 | 网页设计 | 操作系统 | 服务器 | 技术白皮书 | 在线实验室 | 刺猬论坛 |
  | 数据库 | 设计赏析 | 存储频道 | 网络安全 | 私服架设 |  Solaris | 网站评估 | PC维护技巧 | 下载中心 | 博 客 |
专题: | Linux | java | cisco | 防病毒 | 刀片 | SOA | iscsi | ASP.NET | SQL | Oracle |
您现在的位置: IT公社 IT community >> 操作系统 >> FreeBSD平台 >> 教程正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
使用FreeBSD的原因
FreeBSD启动扇区代码分析…
FreeBSD操作系统的引导
FreeBSD操作系统的boot2…
FreeBSD系统内核对象
FreeBSD中的SYSINIT框架
调整FreeBSD的虚拟内存系…
FreeBSD 5.0硬盘安装指南
FreeBSD的Loader和内核初…
FreeBSD 5.0的强制访问控…
  FreeBSD的boot0阶段介绍         ★★★★★
FreeBSD的boot0阶段介绍
 

【导读】本文介绍了FreeBSD系统启动的第一阶段。 让我们看一下文件/boot/boot0。这是一个仅512字节的小文件。如果在FreeBSD安装过程中选择“bootmanager”,这个文件中的内容将被写入硬盘MBR 如前所述,INT 0x19指令装载MBR,也就是boot0的内容,至内存地址0x7c00。再看文件sys/boot/i386/boot0/boot0.s,可以猜想这里面发生了什么 - 这是引导管理器,一段由 Robert Nordier书写的令人起敬的程序片段。

MBR里,也就是boot0里,从偏移量0x1be开始有一个特殊的结构,称为分区表。其中有4条记录(称为分区记录),每条记录16字节。分区记录表示硬盘如何被划分,在FreeBSD的术语中,这被称为slice(d)。16字节中有一个标志字节决定这个分区是否可引导。有仅只能有一个分区可设定这一标志。否则,boot0的代码将拒绝继续执行。

一个分区记录有如下域:

    *1字节 文件系统类型

    *1字节 可引导标志

    *6字节 CHS格式描述符

    *8字节 LBA格式描述符

一个分区记录描述符包含某一分区在硬盘上的确切位置信息。LBA和CHS两种描述符指示相同的信息,但是指示方式有所不同:LBA (逻辑块寻址,Logical Block Addressing)指示分区的起始扇区和分区长度,而CHS(柱面 磁头扇区)指示首扇区和末扇区。 引导管理器扫描分区表,并在屏幕上显示菜单,以便用户可以选择用于引导的磁盘和分区。在键盘上按下相应的键后,boot0进行如下动作:

    *标记选中的分区为可引导,清除以前的可引导标志

    *记住本次选择的分区以备下次引导时作为缺省项

    *装载选中分区的第一个扇区,并跳转执行之

什么数据会存在于一个可引导扇区(这里指FreeBSD扇区)的第一扇区里呢?正如你已经猜到的,那就是boot2。

频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。

原始作者:佚名 录入时间:2006-10-10
信息来源:不详 投稿信箱:itqoo@126.com
教程录入:admin    责任编辑:admin 
  • 上一个教程:

  • 下一个教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    - 关于我们 - 合作伙伴 - 友情链接 - 广告刊登 - 投稿热线 - 在线留言版权声明联系方式 -
    IT公社版权所有 粤ICP备05127012号
    Copyrigh@2005-2006 itqoo.com.Inc All Rights Reserved  推荐分辨率 1024*768
    联系站长:E-Mail:itqoo@126.com     MSN:urchincc@hotmail.com    QQ:点击这里给我发消息
    特别感谢:亿太网络提供空间支持