1.35 管理Linux启动进程和排障
1、Linux系统启动过程(linux7)
(1)开机
(2)引导固件(系统自检)
监测硬件(CPU,内存,磁盘,显卡)是否有问题,并且收集硬件信息,寻找启动介质(硬盘启动,U盘启动)
(3)Grub引导系统
将MBR中的引导程序(BootLoad)加载到内存进行执行

Grub.cfg是BootLoad的配置文件
(4)加载内核,加载RamDisk文件
2个东西加载完之后,就启动了微操作系统
(5)启动1号进程systemd,根据target启动相应服务,加载/etc/fstab
(6)加载login程序,输入用户名密码就能进系统了

2、查看正常开机流程
这个界面表示BootLoad正常

3、root密码忘记如何解决
找到linux16一行
Linux16后面跟的内核文件,root后面跟的UUID指的第一个分区,即根分区,只读形式挂载,
将ro后面的删除,添加上rd.break,并且ctrl+x进行引导
将根分区以读写的形式挂载,然后切换到系统的根中进行修改密码
由于SELinux的原因,会导致/etc/shadow上下文对不上,如果有这个隐藏文件,系统读取之后把整个文件系统的文件重新打标签,把所有文件恢复成正确的上下文,重新打完标签之后这个文件会被删除,创建完之后exit后可以正常进入系统

4、通过给Grub2加密,保证不是所有人能以上述方式修改root密码
因为/boot/grub2/grub2.cfg可读性很差所以一般配置它的子文件,在grub2.cfg最后可以找到
修改40_custom,添加一个超级用户,并给超级用户设置密码
重新加载一下grub.cfg
在grub.cfg中可以看到这个配置
再次重启按e的时候回弹出输入用户名和密码
上面步骤的密码是明文的,使用grub2-mkpasswd-pdkdf2密码可以进行密码加密,复制is后面的所有
修改40_custom,将刚刚复制的加密字符作为密码,在password后面指明一下加密算法
重新引导一下程序就可以获得密文加密的密码

4、排除常见引导故障
(1)引导程序损坏
破坏引导程序
重启后会出现这种情况,无法引导
挂载光驱,选择Troubleshooting选项
选择rescue模式
选择continue
系统把根挂载到/mnt/sysimage下
切换到sysimage中执行重新安装引导程序
系统正常启动

(2)删除/boot/grub2/grub.cfg配置文件
删除引导程序配置文件并重启
重启后出现上图的错误提示,引导程序不知道怎么启动
设置光盘启动,进入救援模式
和上面方式一样,执行上图命令,生产cfg文件