版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、引导流程解析,PHPChina 工作室,系统引导流程解析,固件 - 硬件识别 BootLoader - 载入操作系统 内核 - 初始化和控制转移 init进程和初始化脚本,liming,固件设置实例,liming,系统引导流程,“bootloader”这个术语是“bootstrap Operation System loader”的简称,即“自举操作系统载入器”。 何谓“自举”,Merriam-Webster在线字典注释4的说法,首次使用bootstrap(自举)这个词是在1926年。它的来源确实是一个试图通过拉自己的鞋带(bootstrap),从而将自己举高。这也是“自力更生”(pull y
2、ourself up by your bootstraps)这一谚语的来历。 通常,“自举”意味着利用尽量可能少量的外部介入和资源,从而让某种东西工作起来。对于计算机来说,它的“自举”意味着使用少量的、独立的、内部的功能,从而初始化,并将控制权转交给主操作系统。,bootloader存放的位置: bootloader存放的位置有2个,一个是在MBR,先前已经提过,主引导记录,还有一个位置在于任何一个分区的第一个扇区。 bootloader存在于2个位置: Master Boot Record(主引导记录),位于磁盘的0柱面0磁道的0扇区。这是一个特殊的位置,当系统启动的时候,BIOS会自动读取
3、此处。IDE硬盘,软盘,SCSI硬盘等都有MBR。 另外一个位置位于每个分区的第一个扇区。,系统引导流程,系统引导流程,bootloader的种类,有许多,稍微列举几个 System Commander一个多重系统引导程序 NTLDR (windows)用的引导程序 LILO(LInux LOader)一个过时的Linux引导程序 GRUB (GRand Unified Bootloader) 一个时下非常流行的Linux引导程序,系统引导流程,使用GRUB而不使用LILO的原因: GRUB支持1024柱面以后的扇区的读取。 GRUB安装,使用比LILO更为灵活,方便,简单。,系统引导流程,G
4、RUB的简介 GRUB的主配置文件/boot/grub/grub.conf. 在/etc/grub.conf是/boot/grub/grub.conf的软链接. 在/boot/grub目录下还有一些其他GRUB工作所需的文件.,系统引导流程,GRUB的配置 假设当前硬盘的分区情况 /dev/hda1/boot /dev/hda2/ /dev/hda3Linux Swap /dev/hda4Extended Partition /dev/hda5NTFS,系统引导流程,假设当前的配置文件 default=0 timeout=10 title RedHat (2.4.22-3Thiz) root
5、(hd0,0) kernel /vmlinuz-2.4.22-3Thiz ro root=LABEL=/ initrd /initrd-2.4.22-3Thiz.img title Windows root (hd0,4) chainloader +1,系统引导流程,default标示了当用户不做任何操作的情况下,将选择哪一个操作系统。title依次编号,从0开始。 timeoutGRUB将会等待用户作一些操作,如果超过了时间,用户依旧没有动作,那么将自动进入default所指定的那个操作系统。timeout的时间单位为秒。设置时间为-1,表示无限等待,直到用户作出选择。 title开机用户选
6、择操作系统时,所能看到标题,选择了相应的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-3Thiz
7、 ro root=LABEL=/ GRUB命令:kernel 作用:挂载Linux的内核映像文件。 /vmlinuz-2.4.22-3Thiz为Linux内核映像文件 ro以只读方式挂载,防止在初始化时破坏了系统根分区。 root=LABEL=/ 以卷标方式挂载真正的根分区。 root=/dev/hda2 与卷标具有同样的效果,挂载真正的根分区。,系统引导流程,卷标名的使用 作用: 卷标名相当于该分区的一个别名,但在使用前必须写上LABEL=,然后加一个存在的卷标名,使用的时候等号左右不许有空格。卷标名长度为16,不许有空格等特殊字符。 用命令e2label可以给磁盘指定或者查看一个卷标名 r
8、ootthizserver root# e2label /dev/hda2 / 键入命令后加一个分区,可以查看当前的卷标名。,系统引导流程,取消一个分区的卷标名,就给该分区,赋2个双引号,里面为空。 rootthizserver root# e2label /dev/hda2 “” rootthizserver root# e2label /dev/hda2 给该分区负一个卷标名。卷标名可以随意取,只要在使用的时候,调用了正确的卷标名即可。 rootthizserver root# e2label /dev/hda2 realroot rootthizserver root# e2label
9、/dev/hda2 realroot,系统引导流程,initrd /initrd-2.4.22-3Thiz.img GRUB命令:initrd 作用: 1.挂载初始化RAM Disk,主要用于加载没有编译进内核的文件系统的驱动程序。 2.可以用gzip来解压初始化RAM Disk,会发现里面有一个简单的文件系统和文件系统的驱动。,系统引导流程,RAM Disk的制作: mkinitrd命令 rootthizserver root# mkinitrd /boot/initrd-2.4.22-3Thiz.custom.img 2.4.22-3 mkinitrd后面需要跟上2个参数。 第一个是生成初
10、始化RAM Disk的具体位置以及文件名,文件名可以随便取,但是我们也要做到规范。initrd告诉别人是什么文件,然后跟上版本号,最后可以跟上一些自己的个性化名,最后加上.img收尾,告诉别人这是loop文件。,系统引导流程,第二个参数是你所要生成的初始化RAM Disk的内核版本号,这个版本号必须符合/lib/modules目录下的版本号。 当前内核版本号可以通过uname -r查看 rootthizserver root# uname -r 2.4.22-3Thiz,系统引导流程,GRUB对于Windows的引导: root (hd0,4) 挂载windows系统盘所在的那个分区,最容易判
11、断的是,该分区下有NTLDR这个文件。 chainloader +1 把引导权从MBR手中转移到hda5这个分区的第一个扇区,由该扇区里的引导程序来继续执行引导过程。,系统引导流程,GRUB在开机时的一些功能: 当GRUB出现操作系统选择菜单时,我们会有一些选项出现。,系统引导流程,命令c 进入GRUB的纯命令模式,将出现grub的提示符,该模式下可以直接键入GRUB命令,最后键入boot,来完成引导。 我们所需键入的那些命令就是grub.conf中title下的那些命令。,系统引导流程,命令e 对光标行进行编辑。我们首先看见的是title,选择了一个title后,按e,表示编辑该title,
12、会把该title下的grub命令显示出来。,系统引导流程,命令e 对选中的GRUB命令行进行编辑。对于编辑完该命令行后,可以按ESC放弃保存并退出或者按Enter保存并退出。当编辑完后,要按编辑完的方案启动,按b。,系统引导流程,d 删除光标所在行。 o 在光标下插入新行。 O 在光标前出入新行。 注意GRUB中不允许存在空行。,系统引导流程,/boot/grub目录下的其他文件。 stage1 该文件就是装载在MBR里的一个文件,即前述的bootstrap stage*1_5 这些都是GRUB的文件系统的驱动,正是它们,能使GRUB支持各种文件系统,使stage1能够顺利的装载stage2。
13、 stage2 GRUB通过stage2来加载内存和初始化RAM Disk。前述的GRUB命令行都是由该程序提供的。,系统引导流程,内核实例,liming,init 的工作,init启动后读取inittab文件,执行缺省运行级别,从 而继续引导过程。在UNIX系统中,init时第一个可 以存在的进程,它的PID恒为1,但它也必须向一个 更高级的功能负责:PID为0的内核调度器(Kernel scheduler),从而获得CPU时间。,liming,inittab 文件剖析,Red Hat也支持7-9的运行级别,但他们是作为由管理员定义的、非标准的状态得以支持的。,liming,inittab
14、文件剖析,运行级的切换: 1. 查看当前的运行级 2. 运行级的切换 # init 0123456Ss 或 # telinit 0123456Ss,liming,inittab 文件剖析,在inittab中,所有条目采取以下格式: id:run-levels:action:process id:条目的标识符,包含两个字母或数字 run-levels:指定运行级别,可以指定多个 action:指定运行状态 process:指定要运行的可执行程序的完整路径,liming,inittab 文件剖析,action常用取值如下: initdefault:指定系统缺省启动的运行级别 sysinit:在与控
15、制台通信时执行process中指定的 命令 wait:执行process中指定的命令,并等其结束再 运行其他命令 once:执行process中指定的命令,不等待其结束 ctrlaltdel:按下CtrlAltDel时执行process指定 的命令,liming,inittab 文件剖析,action常用取值续: powerfail:当出现电源错误时执行process指定的 命令,不等待其结束 powerokwait:当电源恢复时执行process指定的 命令 respawn:一旦process指定的命令中止,便重新 运行该命令,liming,inittab 文件剖析,指定系统默认运行级别为3
16、,如果想系统启动后 自动运行X Window,则将上面的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/rc0123456.d 分别存放对应于运行级别的服务程序脚本的符号 链接,链接到init.d目录中的相应脚本,liming,添加自启动程序,ln -s chkconfig ntsysv tksysv,liming,添加自启动程序,liming,添加自启动程序,liming,initt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年秋季初中数学开学第一课 考试策略与技巧教学设计
- 食堂员工投诉回应考核细则
- 化工企业危险源管理制度
- 2026年红十字初级急救员证考试题(+答案)
- 酒店碳纤维加固施工方案
- 药物不良反应相关知识试题及答案
- 安全生产应急预案修订责任制管理规定
- 矿山采掘作业面隐患排查整治方案
- 2026年医师定期考核真题含答案详解(综合卷)
- 安装维修企业安全管理员装卸作业安全操作规程
- 游泳馆预售活动方案
- 护理异位妊娠教学课件
- DB32/T 3761.27-2021新型冠状病毒肺炎疫情防控技术规范第27部分:阳性物品污染场所
- 人教A版高一数学必修第二册第六章《平面向量及其应用》单元练习题卷含答案解析
- 《计算机基础与应用(Office和WPS Office通-用)》中职全套教学课件
- 国家职业技能标准-动物疫病防治员2020年版-20211027001
- 一《归园田居(其一)》公开课一等奖创新教案设计中职语文高教版(2023-2024)基础模块下册
- 雅马哈RX-V365使用说明书
- T-CRHA 046-2024 标准手术体位安置技术规范
- 草莓收购协议与草莓苗购销合同
- DZ∕T 0212.1-2020 矿产地质勘查规范 盐类 第1部分:总则(正式版)
评论
0/150
提交评论