在Bootloader开始读取操作系统内核文件时,接下来会将内核文件解压缩后装在到内存当中,然后根据内核提供的功能开始加载各个设备。这里的各个操作都是由内核来完成的,而我们的内核文件通常都存放在/boot目录当中,并且是一个vmlinux开头的文件。如下图所示:
[root@centos6 ~]# cd /boot [root@centos6 boot]# pwd /boot [root@centos6 boot]# ls config-2.6.32-696.el6.x86_64 lost+found efi symvers-2.6.32-696.el6.x86_64.gz grub System.map-2.6.32-696.el6.x86_64 initramfs-2.6.32-696.el6.x86_64.img vmlinuz-2.6.32-696.el6.x86_64 initrd-2.6.32-696.el6.x86_64kdump.img
但是,此时内核程序还没有加载到磁盘,如何读取内核文件呢?如果要先加载磁盘,就要有磁盘驱动程序,而驱动程序又在硬盘上,这样就陷入了一个无限循环。所以我们要采用一种叫做虚拟文件系统的东西来解决这个问题。同样的,这个文件系统也放在了/boot下,是一个initrd开头的文件,如上图所示。
Boot Loader可以加载kernel和initrd,然后把initrd解压成根目录,然后内核就可以在这个虚拟的根文件系统上加载驱动程序,之后释放根文件系统,最后开始正常的启动过程。
4、启动init
对于CentOS6来说,init配置文件为:/etc/inittab, /etc/init/*.conf,也就是upstart将配置文件拆分成多个,在/etc/init/目录下以conf结尾的都是upstart风格的配置文件,而/etc/inittab仅用于设置默认运行级别。运行级别是为了系统运行或维护等目的而设定,分为0-6,共七个级别:
0:关机(shutdown); 1:单用户模式(single user):不需要通过认证,登录进去之后为root用户身份; 2:多用户模式(multi user):会启动网络功能,但不会启动NFS; 3:多用户模式(multi user):为完全功能模式,提供文本界面; 4:预留级别,目前无特别使用目的; 5:多用户模式(multi user):为完全功能模式,提供图形化界面; 6:重启(reboot),reboot;
通常我们使用默认级别3或5,不同级别的页面是可以切换的,切换方式为:init[0-6],使用runlevel命令来查看当前运行的级别。
5、用户登录
相关视频教程推荐:linux视频教程
以上就是centos6启动流程的详细内容,更多请关注其它相关文章!