一.linux系统引导过程简介
系统的引导过程主要可分为如图所示几大步:
图来源自网络:
总的来说,linux系统启动流程可以简单总结为以下几步:
1)开机BIOS(基本输入输出系统)自检,加载硬盘。
2)读取MBR,进行MBR引导。
3)grub文件引导去寻找boot所在分区(Boot Loader)。
4)加载内核kernel。
5)启动init进程,进入初始化阶段
6)启动systemd初始化进程。
7)读取/etc/systemd/中的文件。
8)启动程序,执行/etc/rc.d/rc.local
9)启动登陆环境,进入系统登陆界面。
二:系统排错(liunx系统引导过程出现的问题)
前提:虚拟机中镜像以光驱形式存在
因为selinux开启会使开机时间变长(selinux是内核上的插件,要加载东西),所以我们为了实验效果,最好使selinux为关闭状态。
注意:本次实验使用的7.3的镜像文件来修复,所以也应该使用7.3的虚拟机来进行模拟实验
<1>硬盘引导阶段 (mbr主引导记录的恢复)
模拟问题:dd if=/dev/zero of=/dev/vda bs=446 count=1
解决命令:
grub2-install 启动分区所在硬盘
比如
grub2-install /dev/sda
实验如下:
查看/boot分区在那块磁盘上
dd if=/dev/zero of=/dev/vda bs=446 count=1 将mbr主引导磁盘的部分破坏
重启:
此时你会看到以下界面
为了解决这个问题:
修改虚拟机启动方式
启动,会看到以下界面,选择Troubleshooting
选择第二个,进入挽救模式