CentOS6系统启动流程

系统启动流程图


POST加电

计算机开机后对各硬件进行检测,确保系统能正常运行。

BIOS选择启动项

上阶段检测结束后,BIOS将选择带有MBR的分区的设备,进行引导启动,在这阶段将加载该设备第0扇区的前512字节到内存,前446字节为Bootloader,后64字节为分区表,最后2个字节(0x55,0xaa)为标志位。

MBR

CentOS6中的Bootloader为Grub,但MBR中的446字节,显然不够加载完。这里只存放了stage1阶段,在系统安装时,在mbr扇区后存放stage1.5,从而让bootloader存放的stage1能识别stage2所在的分区上的文件系统,stage2存放在磁盘分区(/boot/grub/)下。

Grub

在系统将要开启时,快速按下任意键即可进入Grub引导画面,如下:

回车即可启动选中CentOS6系统。
输入 e 键进去编辑模式
输入 c 键进入命令模式

Grub在磁盘上的挂载点为/boot/grub,配置文件为/boot/grub/grub.conf。
在这阶段,Grub选择要启动的内核或系统,将加载 kernel 和 解压ramdisk 到内存中,内核启动时将 ramdisk(initramfs-VERSION.img) 作为一个临时的根文件系统,进行加载硬件驱动程序。当所需的驱动程序加载完后,然后将根文件系统 rootfs 以只读的方式挂载,进行 switchroot 。

启动init

启动用户空间的第一个应用程序:/sbin/init,CentOS6系统的init程序类型为Upstart,配置文件为在 /etc/inittab,/etc/init/*.conf。

init启动后
1.读取/etc/inittab 确定运行级别

id:runlevel:action:process

runleve:共7级别 为0-6,默认级别为3

runlevel
0关机
1单用户模式(root, 无须登录), single, 维护模式;
2多用户模式,会启动网络功能,但不会启动NFS;维护模式;
3多用户模式,正常模式;文本界面;
4预留级别;可同3级别;
5多用户模式,正常模式;图形界面;
6重启

action
wait切换至此级别运行一次
respawn此process终止,就重新启动之
initdefault设定 init 默认运行级别
sysinit设定系统初始化方式,/etc/rc.d/rc.sysinit
以上为常见action

2.运行系统初始化脚本(/etc/rc.d/rc.sysinit)

(1) 设置主机名;
(2) 设置欢迎信息;
(3) 激活udev和selinux;
(4) 挂载/etc/fstab文件中定义的文件系统;
(5) 检测根文件系统,并以读写方式重新挂载根文件系统;
(6) 设置系统时钟;
(7) 激活swap设备;
(8) 根据/etc/sysctl.conf文件设置内核参数;
(9) 激活lvm及software raid设备;
(10) 加载额外设备的驱动程序;
(11) 清理操作;

3.加载开机启动程序
执行 /etc/rc.d/rc #,默认 # 为3,将读取/etc/rc.d/rc3.d/下的所有脚本,来控制系统启动的时候启动以K开头的或者关闭以S开头那些服务。

注意:正常级别下,最后启动一个服务S99local没有链接至/etc/rc.d/init.d一个服务脚本,而是指向了/etc/rc.d/rc.local脚本;因此,不便或不需写为服务脚本放置于/etc/rc.d/init.d/目录,且又想开机时自动运行的命令,可直接放置于/etc/rc.d/rc.local文件中;

4.执行/etc/rc.d/rc.local脚本
此脚本是启动过程中最后启动的一个脚本,启动加载终端,至此系统启动过程完成。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值