-
系统启动流程总结
Post
Boot sequence
Boot loader(MBR)
硬盘上的bootloader就是我们说的mbr
MBR:446Byte: bootloader
64Byte: fat
2Byte: 55AA
Grub:bootloader: 1st stage
disk: 2nd stage
Kernel(ramdisk)
在grub实际上是还有1.5阶段,由于第二阶段是在硬盘里,所以必须要有基本的能够读取基本文件格式的驱动就是放在紧挨着MBR后面的一段安装完成系统的时候系统会把最基本的驱动放在那里,保证能够读到第二阶段的数据。
这是ramdisk类似一个根结构。
以只读方式挂载根文件系统
加载驱动等等。
根切换
运行init
Cenos5、6 程序文件
Centos7
加载配置文件(设置默认运行级别)
Centos 5:
配置文件
[root@localhost ~]# cat /etc/inittab
id:2:initdefault:
si::sysinit:/etc/rc.d/rc.sysinit
l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
# Run xdm in runlevel 3
x:5:respawn:/etc/X11/prefdm –nodaemon
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Centos6:配置文件:
/etc/inittab
id:2:initdefault:
运行系统初始化脚本(rc.sysinit.com)
Centos 5 centos6都有此步骤
/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) 清理操作;
启动运行级别程序
id:2:initdefault:
l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
说明:rc 0 –> 意味着读取/etc/rc.d/rc0.d/
K*: K##*:##运行次序;数字越小,越先运行;数字越小的服务,通常为依赖到别的服务;
S*: S##*:##运行次序;数字越小,越先运行;数字越小的服务,通常为被依赖到的服务;
for srv in /etc/rc.d/rc0.d/K*; do
$srv stop
done
for srv in /etc/rc.d/rc0.d/S*; do
$srv start
done
chkconfig命令
查看服务在所有级别的启动或关闭设定情形:
chkconfig [–list] [name]
添加:
SysV的服务脚本放置于/etc/rc.d/init.d (/etc/init.d)
chkconfig –add name
#!/bin/bash
#
# chkconfig: LLLL nn nn
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#!/bin/bash
#
# chkconfig: 2345 20 80
# description: Saves and restores system entropy pool for \
# higher quality random number generation.
echo “It is a test”
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
删除:
chkconfig –del name
修改指定的链接类型
chkconfig [–level levels] name <on|off|reset>
–level LLLL: 指定要设置的级别;省略时表示2345;
注意:正常级别下,最后启动一个服务S99local没有链接至/etc/rc.d/init.d一个服务脚本,而是指向了/etc/rc.d/rc.local脚本;因此,不便或不需写为服务脚本放置于/etc/rc.d/init.d/目录,且又想开机时自动运行的命令,可直接放置于/etc/rc.d/rc.local文件中;
启动用户终端