一.系统启动流程
通电-->bios-->mbr引导-->grub文件引导阶段-->启动内核,只读挂在/设备-->系统初始化阶段 系统初始化阶段加载initrd镜像 开启初始化进程systemd 开启selinux 加载内核参数 初始化系统时钟,键盘,主机名称 重新读写挂载/设备 激活raid,lvm 激活配额 启动multi-user.target.wants中的所有服务 开启虚拟控制台
启动图形
二.mbr引导记录文件损坏挽救措施
--mbr引导损坏后只需要在系统中执行
--grub2-install /dev/vda ##/dev/vda为系统安装的磁盘路径
--命令就可以修复。下面介绍在进不去系统时用镜像挽救系统
首先用/dev/zero覆盖系统mbr记录(模拟mbr损坏)
重启后发现系统挂了
关掉虚拟机,选择从镜像启动,
重启重启后进入挽救模式,然后点三次回车就会获得一个挽救系统的shell
我们要进入真实系统,执行修复mbr的命令就行了,这样就修复完了
然后关机选择从硬盘启动,重启就行了,系统正常启动
三.grub引导文件损坏
/boot/grub2/grub.cfg这个文件记录了grub引导的记录,如果这个文件丢失后系统也会出错无法启动
在系统中直接执行
grub2-mkconfig > /boot/grub2/grub.cfg ##修复grub文件
在无法进入系统,我们手动引导grub
下面详细介绍手动引导grub进入系统的过程。进入系统执行grub修复命令就可以(要不每次重启进系统都需要自己手动引导)
grub引导文件被损坏了,重启系统又挂了
会出现一个界面,我们只需要手动引导grub
set root='hd0,msdos1' ##引导系统分区
linux16 /boot/vmlinuz-3.10.0-123.el7.x86_64 ro root=/dev/vda1 ##手动引导内核启动程序
initrd16 /boot/initramfs-3.10.0-123.e17.x86_64.img ##引导系统初始化
然后就加载内核初始化系统,进入系统
在系统中执行
grub2-mkconfig > /boot/grub2/grub.cfg ##grub引导恢复文件就行了
四.系统内核文家丢失
/boot/vmlinuz-3.10.0-327.el7.x86_64 ##系统内核文件
这个文件丢失后不能用命令自动修复,需要在镜像安装包中解压获得,然后辅助到指定位置就行了
我们先看一下文件属于哪个安装包
yum whatprovides */vmlinuz-3.10.0-327.el7.x86_64
只要解压安装包,然后复制到指定文件夹下就行了
文件又被弄丢了,重启系统发现系统又挂了
我们先进入挽救模式(按照上面的步骤即可),我们就又得到一个shell
然后我们复制挂载的镜像安装包到系统的/mnt下
切换到真实的系统的shell,解压安装包,复制文件到/boot下就行了
这样就恢复完成了,我们关机重新选择从硬盘启动,发现系统正常启动
五。系统初始化文件丢失
/boot/initramfs-3.10.0-327.el7.x86_64.img ##系统初始化文件丢失
如在系统中直接执行
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) ##恢复系统初始化文件
在不能进入系统时和上面一样先进入挽救模式,先进入真实的系统shell,然后执行
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
修复好后,继续选择从硬盘启动,系统正常启动
六.系统启动级别
系统的启动级别一共有六个
0:系统停机模式,系统不能正常启动,机器关闭
1:单用户模式,root权限,用于系统维护,禁止远程登陆
2:多用户模式,没有NFS网络支持
3:完整的多用户文本模式,有NFS,登陆后进入控制命令行模式
4:系统未使用,保留一般不用
5:图像化模式,登陆后进入GUI模式
6:重启模式,默认级别不能为6
设置系统启动级别为shutdown
可以看到提示 移除旧链接,创建新链接到/usr/lib/systemd/system/目录就是系统初始化时候启动运行
设置好后,然后重启
系统不能正常启动
修复措施
在系统启动时,在grub的界面按e进入编辑模式,自定义启动级别,翻倒linux16这行,在最后添加5,按ctrl+x执行
系统正常启动,编辑运行级别为graphical。target,系统就修复好了