CentOS6启动流程和故障修复实验
一、启动流程概述
1、上电POST自检,加载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程序,等待一会登录
简单流程:
POST (Power ON Self Test,加电自检)---->Boot Sequesce(BIOS,找到第一启动设备)---->Boot Loader(加载引导程序到内存中)---->Kernel (ramdisk,加载内核和虚拟磁盘映像文件)---->rootfs(挂载临时根)---->switchroot(切换临时根为系统根目录)---->/sbin/init(开机后第一个读取的文件)---->配置文件(/etc/inittab,/etc/init/*.conf)---->设定默认运行
级别---->系统初始化脚本rc.sysinit---->关闭或启动对应级别的服务---->启动终端
二、删除centos6系统的grub.conf⽂件,⼿动启动系统
目的:掌握centos6系统中的启动时grub.conf文件的作用是提供启动菜单,删除该文件后,需要
手动指定启动内核等参数。
实验步骤
1、删除grub.conf⽂件前,要知道该⽂件中kernel⾏root指定位置
root=/dev/mapper/vg_CentOS-lv_root
2、删除了/boot/grub/grub.conf启动菜单⽂件
[root@CentOS ~]# rm /boot/grub/grub.conf -f
3、reboot重启
[root@CentOS ~]# reboot
4、进⼊grub界⾯,⼿动指定内核等参数
重启后出现的grub>提⽰符界⾯,⼿动指定内核及参数才能启动系统。
(1)先指定根路径:
grub> root (hd0,0)
注意:此时可使⽤Tab键补全可选的命令。
(2)再指定内核及参数
grub> kernel /vmlinuz-2.6.32-696.el6.x86_64 ro
root=/dev/mapper/vg_CentOS-lv_root
(3)指定虚拟磁盘映像⽂件
grub> initrd /
(4)boot启动
grub> boot
最后启动成功输⼊⽤户名和密码登录系统:
(5)⼿动编写恢复grub.conf⽂件
重启后通过⼿动创建的grub.con