Linux系统引导过程.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux系统引导过程 启动时要加载核心,让核心来驱动整个硬件。 整个启动过程: 1. 加载BIOS的硬件信息,并获得第一个启动设备的代号(CMOS中设定的启动项)。 2. 读取第一个启动设备的MBR的引导加载程序(lilo、grub、spfdisk) 3. 加载核心操作系统的核心信息,核心开始解压缩,并且尝试驱动所有硬件设备。 4. 核心执行init程序并获取运行信息。 5. Init执行/etc/rc.d/rc.sysinit文件 6. 启动核心的外挂模块(/etc/modprobe.conf) 7. Init 执行各个批处理文件(根据运行级别)。 8. Init 执行/etc/rc.d/rc.local文件 9. 执行/bin/login程序,等待用户登录。 10.登录之后开始以shell控制主机。 引导加载程序与核心的载入 主机读取BIOS,并且了解主要的主机硬件信息后,主机便开始尝试加载操作系统。主机首先读取的就是硬盘的主引导记录(MBR),在MBR中装有引导加载程序(比如说grub)。 主机刚启动时是不认识磁盘文件系统的,这就需要引导加载程序帮忙。但我们知道MBR是整个硬盘的第一个扇区,整个大小为一个扇区的大小(512KB),而我们的加载程序却远远大于这个容量。怎么办? 引导加载程序分成两个阶段来执行: 1, 执行引导加载程序的主程序,这个主程序放在MBR或超级块中。 2, 载入引导加载程序的所有设置文件与相关的环境参数文件。一般来说,设置文件都放在 /boot目录下。 引导加载程序必须能做到: 引导加载程序可以直接指定并取用核心文件,并加载到主存储器中。 也可以将加载程序的控制权移交给下一个加载程序(超级块中的引导加载程序)。 grub是如何被载入的呢? grub有几个重要文档,stage1,stage2,以及stage1.5,这些文档都在/boot/grub下,grub被载入时有以下几个步骤。 Stage1阶段 装载基本的引导程式(stage1),这也是安装在MBR中的内容,大小为512字节,但这并不意味着占用的空间为512字节,这还要看块的大小以及inode控制的块数。比如说,我用#du Cb stage1,看到的是512字节,但用#du Ch stage1却看到的是2K。stage1的主要功能就是装载第二引导程式(stage2)。stage1应该还包括磁盘分区的信息,但这个信息应该只是刚开始装机时的信息了,对于后面又对磁盘进行的分区操作stage1应该是没有记录的,所以要备份的话,还是备份MBR为上策。 #dd if=/dev/had of=/tmp/mbr.back bs=512 count=1 stage1只负责做引导的动作,不会有太多的功能,毕竟它也只有512bytes的大小(真正的stage1其实只能算446bytes),如果用户在启动时可以看到GRUB Shell,那就是stage1的真正画面。 Stage1.5阶段

文档评论(0)

wh45814 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档