频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

FreeBSD的boot0阶段介绍

来源:FreeBSD中文 作者: 出处:巧巧读书 2006-03-18 进入讨论组

  让我们看一下文件/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。本文:http://www.qqread.com/freebsd/s181892706.html 更多文章 更多内容请看FreeBSD系统安全管理FreeBSD使用教程Freebsd频道专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章