基于linux之开机启动时的系统排错

一、系统引导过程概述


二,基于系统引导过程的排错


2.1 BIOS初始化

• 基本输入/输出系统( BIOS )是内置于标准x86/x86-64 硬件的固件接口,将硬件置于已知状态并准备好系统以加载操作系统

• 出现什么情况? 检测并初始化硬件

确定从中引导的设备

• 可能出现了什么错误? 错误或异常BIOS设置错误引导设备顺序

• 可以如何中断或影响?

按特定于供应商的键

使用特定于供应商的配置实用程序

通常, <F12>可以执行一次引导顺序覆盖


 2.2 grub磁盘引导阶段——MBR的缺失

      mbr的作用是记录/boot目录所在分区的位置,是系统开机时可以根据其位置,顺利指向/boot目录,其储存在挂载/boot的磁盘分区的前446B。

1.查看/boot挂载磁盘分区


2.删除mbr

















应用,然后重启


修复成功,此时界面会出现一个光驱,为添加的镜像



2.3 grub文件引导阶段

       在 /boot/grub2/grub.cfg文件为开机引导文件,它的作用为指定/boot分区的位置,加载内核,启动系统初始化程序。

 


 2.3.1 删除/boot/grub2/grub.cfg,未重新开机。

   

2.3.2  删除/boot/grub2/grub.cfg,重新开机。





2.4  systemd初始化  

   1.开启 selinux systemd-tools

    2.加载内核参数

    3.加载系统时钟,键盘,主机名称

    4.读写挂载/文件系统

    5.激活 raid, lvm设备

    6.激活系统配额

    7.启动 multi-user.target.wants中的所有服务脚本启用虚拟控台

    8.启动图形

2.4.1 内核引导阶段,丢失vmlinuxz-3.10.0-123.e17.x86_64 文件

 (1)未重新启动

 




(2)重新启动系统












应用,然后重启

修复成功


2.4.2  initramfs-3.10.0-12.3.e17.x86_64文件的缺失

(1)未重新启动系统时

  

   

(2)重新启动时

 

 










应用,然后重启

修复成功

2.4.3 multi-user.target.wants中的开机设置错误

启动级别

runlever0.target-> poweroff.target
runlever1.target-> rescue.target
runlever2.target-> multi-user.target 
runlever3.target-> multi-user.target 
runlever4.target-> multi-user.target
runlever5.target-> grapical.target
runlever6.target-> reboot.target

linux系统有0-6个启动级别 

0表示关机,系统默认运行级别不能设置为0,否则不能正常启动 
1表示单用户工作状态,root权限,用于系统维护,禁止远程登陆 
2表示多用户状态 
3表示完全多用户状态,登录后进入控制台命令行模式 
4表示系统未使用,保留 
5代表有图形模式启动 
6表示正常关闭并重启,默认运行不能设为6,否则不能正常启动

设定启动级别"systemctl set-default+启动级别"





设置完毕后按“Crtl+X"键退出

修复成功!










猜你喜欢

转载自blog.csdn.net/yifan850399167/article/details/80350963