呕心沥血!CentOS系统启动流程详解!(2)
代码分析:以下为CentOS 5中的/etc/inittab文件 下图为系统启动时服务开启的界面 第六步:启动终端 根据前面获取的默认运行级别来启动终端,如果运行级别为5,则启动图形界面 第七步:用户登录 系统启动流程结束! 问题总结: 在此之前,一直有几点问题困惑着我,我对它们做了一下总结 1)内核文件在磁盘上,系统还没有启动,系统还没有启动,/目录也没有挂载,前面说先找到boot分区,但是boot分区也是在/的目录下,/还没有,去哪找boot!? 问题解答:注意,此时系统去寻找boot分区下的grub菜单、内核文件及rootfs的驱动并不是通过/目录来寻找,因为此时的/还没有挂载,无法找到/下面的boot目录,而是直接去boot的那个磁盘分区去寻找所需要的文件,具体看一下代码 2)上面问题的继续,即使你先加载boot分区,boot分区系统的系统驱动在哪里呢 问题解答:从以下代码得知,分区信息是从1柱面开始的,那么0柱面被狗吃了么?答案是没有被狗吃,MBR存放在了0柱面,0磁道的第一个扇区内,但是它只占据了512个字节,因为0柱面包括了好多扇区,后面的扇区就是为了存放/boot分区的文件系统驱动的。stage1->stage1.5->stage2这个过程就是为了挂载/boot分区,而其中的stage1.5就是寻找/boot分区的文件系统驱动的。 3)加载内核后,为避免bug或者人为操作失误,rootfs先以只读方式挂载,只读方式挂载怎么写数据呢? 问题解答:内核在读取到init程序后,其中有一个系统初始化脚本,即/etc/rc.d/rc.sysinit脚本,其中有一段代码如下,在这rootfs会被重新以读写方式挂载。 流程图: 俗话说的好,一图抵千言,我将上面所述的启动流程又画了一幅图,希望以更加清晰地描述CentOS的启动流程。 【编辑推荐】
点赞 0 (编辑:ASP站长网) |