启动流程

INIT
启动加载器
GRUB
主要启动流程
初始化BIOS:
检测外置设备,将外置设备的信息提供给操作系统使用
寻找启动磁盘  cdrom-usb-net-local
执行启动加载器
1寻找硬盘第一个分区IPL MBR=446+64+2=512By
2寻找硬盘中标记为启动分区的第一个扇区
载入内核
检测所有硬件设备
驱动硬件设备:静态驱动(存在系统内核中),动态驱动(模块形式存在硬盘中)
挂载根文件系统(/etc,/bin,/sbin,/lib,/dev)
启动init服务
/etc/init? /bin/init? /sbin/init? /bin/sh
执行Init 唯一一个内核直接启动的进程,系统中所有进程的父进程,PID恒为1,只能被重启,不能被杀死。
重启init kill -HUP 1    init q     telinit q
init配置文件/etc/inittab
初始化系统环境
/etc/rc.d/rc.sysinit
    启动UDEV和selinux
    设置内核参数  sysctl -p  /etc/sysctl.conf
    设置系统时间
    加载键盘对应表
    启动swap   swapon -a -e    /etc/sftab
    设置主机名    /etc/sysconfig/network  HOSTNAME=
    检查挂载文件系统   mount rw
    初始化硬件
    加载模块    /etc/mdprobe.conf
    启动ISA  PNP设备   
    启动USB设备
    启动RAID&LVM
    卸载/initrd
    初始化串行端口设备
    清除过期的锁定文件
    重置磁盘参数  /etc/sysconfig/harddisk
/etc/rc.d/rc
    确定运行级别
/etc/rc.d/rc.local
    开机自动运行的程序
建立用户接口
    建立虚拟控制台  /bin/login tty1-tty6 F1-F6
    建立图形  
RUNLEVEL
级别    描述    登录用户数量    网络    图形
0    关机    无    否    否
1    单用户    root    否    否
2    多用户    本机用户    是    否
3    字符    本机+域    是    否
4    保留    本机+域    是    否
5    图形    本机+域    是    是
6    重启    无    否    否
 
查看运行级别 runlevel
切换运行级别 init     telinit
init服务
    建立系统环境
    确保系统运行
    监控周边设备
    ctrl+alt+del
配置文件/etc/inittab
ID    RUNLEVEL    ACRIONS    PROCESS
参数识别名称    在哪个运行级别调用    执行程序的方法    要执行的程序文件(绝对路径)
ID
id    定义默认运行级别
si    系统初始化时要执行的内容
l0-l6    进入到不同的运行级别要执行的动作
ca    ctrl+alt+del要做的工作
pf    电源失效时执行的工作
pr    电源恢复时执行的操作
N    开启控制台的程序
x    启动图形界面显示管理员的方法
posted @ 2018-10-30 16:11  huifeidezhu  阅读(140)  评论(0编辑  收藏  举报