centos5,6启动流程:
1.post
2.grub
- 2.1stage1 mbr 446
- 2.2stage1.5 mbr后面的27 sectors
- 2.3stage2 /boot/grub
3.核心文件:/boot/vmlinuz-VERSION-release
4.伪根系统:/boot/initramfs-VERSION-release.img
5.mount /
6./sbin/init /etc/inittab N
7./etc/rc.d/rc.sysinit
8./etc/rcN.d/K*
9./etc/rcN.d/S*
10./etc/rc.d/rc.local
11.mingetty login
12.windows
文字描述
1.加载BIOS的硬件信息,获取第一个启动设备
2.读取第一个启动设备MBR的引导加载程序(grub)的启动信息
3.加载核心操作系统的核心信息,核心开始解压缩,并尝试驱动所有的硬件设备
4.核心执行init程序,并获取默认的运行信息
5.init程序执行/etc/rc.d/rc.sysinit文件
6.启动核心的外挂模块
7.init执行运行的各个批处理文件(scripts)
8.init执行/etc/rc.d/rc.local
9.执行/bin/login程序,等待用户登录
10.登录之后开始以Shell控制主机
分步解析
1.加载BIOS,开机自检(post)----->寻找第一个可启动设备
2.读取GRUB(主引导程序)----->读取第一个可启动设备的第一个扇区
-
primary boot loader:
-
1---stage1)MBR 446 stage1
-
2---stage1.5 )识别相应的文件系统,从而加载stage2文件-----stage1与stage2的桥梁
-
-
secondary boot loader
- 2---stage2)引导菜单 /boot/grub/grub.conf
- 2---stage2)引导菜单 /boot/grub/grub.conf
第1和第2总结
- BIOS将控制权交给硬盘的主引导区,即MBR
- MBR中的bootloader(stage1)通过内置的地址加载stage1_5
- bootloader通过stage1_5的内容,将分区中的stage2加载
- stage2此时就可以在文件系统中将grub.conf文件加载,让用户看到选项界面。
3.执行内核文件:/boot/vmlinuz-VERSION-release
4.加载伪根系统:/boot/initramfs-VERSION-release.img
为挂载/提供模块
5.以只读方式挂载根文件系统(mount /)
6.运行第1个应用程序(用户空间),初始化
/sbin/init(第1个用户进程)根据/etc/inittab配置文件来执行相应的脚本进行初始化
7.init执行系统初始化脚本:/etc/rc.d/rc.sysinit
8. init执行指定运行级别的脚本(停止类)
/etc/rcN.d/K*(按顺序停止每个服务)
9. init执行指定运行级别的脚本(开始类)
/etc/rcN.d/S*(按顺序开始每个服务)
10.在2、3、5模式下会执行的脚本
/etc/rc.d/rc.local
11.等待用户登录
/sbin/mingetty
1)命令行登录
2)图形化登录