




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
引导流程解析 PHPChina工作室 系统引导流程解析 固件 硬件识别BootLoader 载入操作系统内核 初始化和控制转移init进程和初始化脚本 liming 固件设置实例 liming 系统引导流程 bootloader 这个术语是 bootstrapOperationSystemloader 的简称 即 自举操作系统载入器 何谓 自举 Merriam Webster在线字典 注释4 的说法 首次使用bootstrap 自举 这个词是在1926年 它的来源确实是一个试图通过拉自己的鞋带 bootstrap 从而将自己举高 这也是 自力更生 pullyourselfupbyyourbootstraps 这一谚语的来历 通常 自举 意味着利用尽量可能少量的外部介入和资源 从而让某种东西工作起来 对于计算机来说 它的 自举 意味着使用少量的 独立的 内部的功能 从而初始化 并将控制权转交给主操作系统 bootloader存放的位置 bootloader存放的位置有2个 一个是在MBR 先前已经提过 主引导记录 还有一个位置在于任何一个分区的第一个扇区 bootloader存在于2个位置 MasterBootRecord 主引导记录 位于磁盘的0柱面0磁道的0扇区 这是一个特殊的位置 当系统启动的时候 BIOS会自动读取此处 IDE硬盘 软盘 SCSI硬盘等都有MBR 另外一个位置位于每个分区的第一个扇区 系统引导流程 系统引导流程 bootloader的种类 有许多 稍微列举几个SystemCommander一个多重系统引导程序NTLDR windows 用的引导程序LILO LInuxLOader 一个过时的Linux引导程序GRUB GRandUnifiedBootloader 一个时下非常流行的Linux引导程序 系统引导流程 使用GRUB而不使用LILO的原因 GRUB支持1024柱面以后的扇区的读取 GRUB安装 使用比LILO更为灵活 方便 简单 系统引导流程 GRUB的简介GRUB的主配置文件 boot grub grub conf 在 etc grub conf是 boot grub grub conf的软链接 在 boot grub目录下还有一些其他GRUB工作所需的文件 系统引导流程 GRUB的配置假设当前硬盘的分区情况 dev hda1 boot dev hda2 dev hda3LinuxSwap dev hda4ExtendedPartition dev hda5NTFS 系统引导流程 假设当前的配置文件default 0timeout 10titleRedHat 2 4 22 3Thiz root hd0 0 kernel vmlinuz 2 4 22 3Thizroroot LABEL initrd initrd 2 4 22 3Thiz imgtitleWindowsroot hd0 4 chainloader 1 系统引导流程 default 标示了当用户不做任何操作的情况下 将选择哪一个操作系统 title依次编号 从0开始 timeout GRUB将会等待用户作一些操作 如果超过了时间 用户依旧没有动作 那么将自动进入default所指定的那个操作系统 timeout的时间单位为秒 设置时间为 1 表示无限等待 直到用户作出选择 title 开机用户选择操作系统时 所能看到标题 选择了相应的title后 将会执行该title到下一个title间所有grub命令 如果是最后一段title 就一直执行到文件结尾 当执行完每段title后grub会自动执行boot命令 系统引导流程 root hd0 0 GRUB命令 root作用 挂载boot目录所在的分区 hd0是根据 boot grub device map所映射出来的 逗号后面的0就是hda1的分区号1减1所得到的结果 如果是 hd0 1 那么就是将结果hda2的分区号2减1所得到的结果 其余依次类推 系统引导流程 kernel vmlinuz 2 4 22 3Thizroroot LABEL GRUB命令 kernel作用 挂载Linux的内核映像文件 vmlinuz 2 4 22 3Thiz为Linux内核映像文件ro以只读方式挂载 防止在初始化时破坏了系统根分区 root LABEL 以卷标方式挂载真正的根分区 root dev hda2与卷标具有同样的效果 挂载真正的根分区 系统引导流程 卷标名的使用作用 卷标名相当于该分区的一个别名 但在使用前必须写上LABEL 然后加一个存在的卷标名 使用的时候等号左右不许有空格 卷标名长度为16 不许有空格等特殊字符 用命令e2label可以给磁盘指定或者查看一个卷标名 root thizserverroot e2label dev hda2 键入命令后加一个分区 可以查看当前的卷标名 系统引导流程 取消一个分区的卷标名 就给该分区 赋2个双引号 里面为空 root thizserverroot e2label dev hda2 root thizserverroot e2label dev hda2给该分区负一个卷标名 卷标名可以随意取 只要在使用的时候 调用了正确的卷标名即可 root thizserverroot e2label dev hda2realroot root thizserverroot e2label dev hda2realroot 系统引导流程 initrd initrd 2 4 22 3Thiz imgGRUB命令 initrd作用 1 挂载初始化RAMDisk 主要用于加载没有编译进内核的文件系统的驱动程序 2 可以用gzip来解压初始化RAMDisk 会发现里面有一个简单的文件系统和文件系统的驱动 系统引导流程 RAMDisk的制作 mkinitrd命令 root thizserverroot mkinitrd boot initrd 2 4 22 3Thiz custom img2 4 22 3mkinitrd后面需要跟上2个参数 第一个是生成初始化RAMDisk的具体位置以及文件名 文件名可以随便取 但是我们也要做到规范 initrd告诉别人是什么文件 然后跟上版本号 最后可以跟上一些自己的个性化名 最后加上 img收尾 告诉别人这是loop文件 系统引导流程 第二个参数是你所要生成的初始化RAMDisk的内核版本号 这个版本号必须符合 lib modules目录下的版本号 当前内核版本号可以通过uname r查看 root thizserverroot uname r2 4 22 3Thiz 系统引导流程 GRUB对于Windows的引导 root hd0 4 挂载windows系统盘所在的那个分区 最容易判断的是 该分区下有NTLDR这个文件 chainloader 1把引导权从MBR手中转移到hda5这个分区的第一个扇区 由该扇区里的引导程序来继续执行引导过程 系统引导流程 GRUB在开机时的一些功能 当GRUB出现操作系统选择菜单时 我们会有一些选项出现 系统引导流程 命令c进入GRUB的纯命令模式 将出现grub 的提示符 该模式下可以直接键入GRUB命令 最后键入boot 来完成引导 我们所需键入的那些命令就是grub conf中title下的那些命令 系统引导流程 命令e对光标行进行编辑 我们首先看见的是title 选择了一个title后 按e 表示编辑该title 会把该title下的grub命令显示出来 系统引导流程 命令e对选中的GRUB命令行进行编辑 对于编辑完该命令行后 可以按ESC放弃保存并退出或者按Enter保存并退出 当编辑完后 要按编辑完的方案启动 按b 系统引导流程 d删除光标所在行 o在光标下插入新行 O在光标前出入新行 注意GRUB中不允许存在空行 系统引导流程 boot grub目录下的其他文件 stage1该文件就是装载在MBR里的一个文件 即前述的bootstrapstage 1 5这些都是GRUB的文件系统的驱动 正是它们 能使GRUB支持各种文件系统 使stage1能够顺利的装载stage2 stage2GRUB通过stage2来加载内存和初始化RAMDisk 前述的GRUB命令行都是由该程序提供的 系统引导流程 内核实例 liming init的工作 init启动后读取inittab文件 执行缺省运行级别 从而继续引导过程 在UNIX系统中 init时第一个可以存在的进程 它的PID恒为1 但它也必须向一个更高级的功能负责 PID为0的内核调度器 Kernelscheduler 从而获得CPU时间 liming inittab文件剖析 RedHat也支持7 9的运行级别 但他们是作为由管理员定义的 非标准的状态得以支持的 liming inittab文件剖析 运行级的切换 1 查看当前的运行级2 运行级的切换 init 0123456Ss 或 telinit 0123456Ss liming inittab文件剖析 在inittab中 所有条目采取以下格式 id run levels action processid 条目的标识符 包含两个字母或数字run levels 指定运行级别 可以指定多个action 指定运行状态process 指定要运行的可执行程序的完整路径 liming inittab文件剖析 action常用取值如下 initdefault 指定系统缺省启动的运行级别sysinit 在与控制台通信时执行process中指定的命令wait 执行process中指定的命令 并等其结束再运行其他命令once 执行process中指定的命令 不等待其结束ctrlaltdel 按下Ctrl Alt Del时执行process指定的命令 liming inittab文件剖析 action常用取值续 powerfail 当出现电源错误时执行process指定的命令 不等待其结束powerokwait 当电源恢复时执行process指定的命令respawn 一旦process指定的命令中止 便重新运行该命令 liming inittab文件剖析 指定系统默认运行级别为3 如果想系统启动后自动运行XWindow 则将上面的3改为5启动脚本 etc rc d rc sysinit 完成系统服务程序启动 如系统环境变量设置 设置系统时钟 加载字体 检查加载文件系统 生成系统启动信息日志文件等 liming inittab文件剖析 判断默认运行级别 调用 etc rc d rc脚本 执行相应运行级别目录中的服务程序 完成相应运行级别的初始化设置 liming inittab文件剖析 etc rc d init d该目录下包含各个运行级别的服务程序脚本 liming inittab文件剖析 etc rc d rc 0123456 d分别存放对应于运行级别的服务程序脚本的符号链接 链接到init d目录中的相应脚本 liming 添加自启动程序 ln schkconfigntsysvtksysv liming 添加自启动程序 liming 添加自启动程序 liming inittab文件剖
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年下半年宜宾五粮液股份有限公司社会招聘342人笔试参考题库附带答案详解
- 2025年六安新城园区投资运营有限公司招聘3人订阅+阅读模式笔试参考题库附带答案详解
- 2025年中能建城乡投资(重庆)有限公司招聘笔试参考题库附带答案详解
- 2025江苏苏州邮政校招预笔试参考题库附带答案详解
- 齐河中考数学试卷
- 2025年江西南昌市社会福利院公开招聘20人笔试参考题库附带答案详解
- 铅山期末数学试卷
- 英语专业毕业论文 修辞
- 电信诈毕业论文
- 2017酒店毕业论文选题
- 地面电性源瞬变电磁法地球物理勘查技术规程DB41-T 2106-2021
- 2024年五年级数学上册 二 多边形的面积《不规则图形面积的估算》说课稿 苏教版
- 2024-2025学年重庆外国语学校高一(上)入学数学试卷(含答案)
- 安全生产标准化基本规范评分表
- 《机械常识(第2版)》中职技工全套教学课件
- 咖啡学概论智慧树知到期末考试答案章节答案2024年华南理工大学
- 工字钢承重表
- 2023房屋安全鉴定服务规范
- 矿山用电安全知识培训课件
- 床垫营销方案
- 《落实主体责任》课件
评论
0/150
提交评论