1. Linux的开机流程分析
1.1 开机流程一览
1. 加载BIOS硬件信息,并检测硬件,取得第一个可开机装置
2. 读取并执行第一个可开机装置MBR内的boot loader
3. 依据boot loader加载kernel, kernel会侦测硬件并加载驱动程序.
4. 在硬件驱动成功后,kernel 会呼叫init程序,init 会取得run level 信息.
5. inti 执行/etc/rc.d/rc.sysinit档案来准备软件运行的环境如网络,时区等.
6. init 启动对应的run levle 内的各个服务
7 . init 启动登陆仿真程序来显示登陆页面.
1.2 BIOS,boot loader与kernel的载入
BIOS:检测硬件,获取可开机装置,读取MBR 执行boot loader
boot loader :呼叫kernel .
kernel:再次检测硬件,呼叫init程序,并执行init.
1.3 第一支程序init 及配置文件/etc/inittab与run level
init 程序准备软件执行的环境,包括系统主机名,语系,网络环境等run level: 系统不同的level开启不同的服务,个等级如下:
0:系统关机
1:单人维护模式
2:无网络的文本模式
3:有网络功能的文本模式
4:系统保留
5:X window 的启动模式
6: 重新启动
1.4 init 处理系统初始化流程
准备系统,网络软件环境.
1.5 启动系统服务与相关启动配置文件
1.6 用户自定义启动程序
1.7 开机过程会用到的主要配置文件
开机过程中会用到的配置文件大多放置在/etc/sysconfig/目录下.
1.8 run level的切换
执行 inti [0-6]
2. 核心与核心模块
2.1 核心模块与相依性
核心模块放置目录:/lib/modules/$(uname -r)/kernel
2.2 核心模块的观察
lsmod :列出系统已经存在的模块信息,
2.3 核心模块的加载与移除
modprobe:先搜寻模块相依性后才加载模块.
3. Boot loader: grub
grup 配置文件: /boot/grub/menu.lst
4. 开机过程的问题解决
4.1 忘记密码