Linux----系统开机启动各种问题及其解决方案

本文共有开机启动七大问题模型解决方案:
一、忘记root密码
二、硬盘引导阶段问题
三、引导文件缺失问题
四、内核文件丢失问题
五、系统初始化镜像文件丢失问题
六、当/boot分区被删掉问题
七、当开机启动级别被篡改问题

小建议:输入命令时多用tab键补齐,特别是内核版本部分

一、忘记root密码

步骤:开机----在引导页面按e----找到段首为linux16的那一段,将段尾到ro(包括ro)区间的所有内容改为rw rd.break----ctrl+x启动----chroot /sysroot/----passwd root改密码----touch /.autorelabel----两次exit----完成

示例:

开机时的引导界面:
在这里插入图片描述
按e后:

在这里插入图片描述
找到段首为linux16的那一段,将段尾到ro(包括ro)区间的所有内容改为rw rd.break
看图:
在这里插入图片描述
修改完后,按ctrl+x(启动)

进入此页面:
在这里插入图片描述
输入chroot /sysroot/回车
在这里插入图片描述
更改root密码,并建立文件
输入passwd root回车
在这里插入图片描述
两次exit退出。

二、硬盘引导阶段问题

开机形如这样:
在这里插入图片描述
那么怎么恢复mbr主引导记录呢?
把系统镜像文件刻入光盘/u盘,并且从光盘/u盘启动----选择Troubleshooting进入,再选择Rescue----
continue----chroot /mnt/sysimage----grub2-install /dev/vda(启动分区所在硬盘) ----两次exit----从硬盘启动----成功

示例:
创造问题环境:

dd if=/dev/zero of=/dev/sda bs=446 count=1    	##删除主引导记录

在这里插入图片描述
重启系统后:
在这里插入图片描述
恢复mbr主引导记录:

1、把系统镜像文件刻入光盘/u盘,并且从光盘/u盘启动
在这里插入图片描述

2、选择Troubleshooting进入,再选择Rescue,进入挽救模式
在这里插入图片描述
3、进入挽救模式
选1
在这里插入图片描述
输入chroot /mnt/sysimage进入挽救模式
在这里插入图片描述
4、生成主引导记录mbr

grub2-install 	   /dev/vda(启动分区所在硬盘)			         ##生成主引导记录

在这里插入图片描述
5、两次exit退出,从硬盘启动

在这里插入图片描述

三、引导文件缺失问题

形如:
在这里插入图片描述
解决步骤:进入挽救模式查看,/boot分区挂载点,以及根分区挂载点----引导系统启动----恢复引导文件

示例:
创造问题环境:

rm -fr /boot/grub2/grub.cfg		      ##删除引导文件
##没重启时,以下操作可挽救误删/boot/grub2/grub.cfg	
  grub2-mkconfig > /boot/grub2/grub.cfg	##生成引导文件信息,重定向到grub.cfg新文件

在这里插入图片描述
重启:
在这里插入图片描述
1、进入挽救模式查看,/boot分区挂载点,以及根分区挂载点
在这里插入图片描述
2、引导系统启动

 grub > set root='hd0,msdos1'                                        ##此位置指定/boot分区所挂载的硬盘分区
 grub > linux16 /vmlinuz-3.10.0-123.el7.x86_64 ro root=/dev/sda3     ##根分区挂载点,文件为内核文件 
 grub > initrd16 /initramfs-3.10.0-123.el7.x86_64.img                ##初始化镜像文件 grub > boot
 grub>boot                                                           ##启动

进入挽救模式查看,/boot分区挂载点,以及根分区挂载点

在这里插入图片描述
注意:手动引导后,系统正常启动,但是是临时的,重启后依然缺少引导(缺少引导文件)

3、恢复引导文件

grub2-mkconfig > /boot/grub2/grub.cfg

在这里插入图片描述

四、内核文件丢失问题

形如:
在这里插入图片描述
解决步骤:进入挽救模式----挂载镜像----进入包Packages----拷贝kernel-3.10.0-123.el7.x86_64.rpm----rpm2cpio kernel-3.10.0-123.el7.x86_64.rpm | cpio -id (打开内核rpm包)----cp vmlinuz-3.10.0-123.el7.x86_64 /boot(将内核文件拷到/boot目录)----两次exit

示例:
创造问题环境:

rm -rf /boot/vmlinuz-3.10.0-514.el7.x86_64	##删除内核文件

在这里插入图片描述
重启:
在这里插入图片描述
1、进入挽救模式
在这里插入图片描述
2、将镜像中的内核文件拷到/boot分区中

chroot /mnt/sysimage							##改变程序执行时参考的根目录位置(增加系统安全性)

mount /dev/sr0 /mnt							##挂载镜像到/mnt目录
cd /mnt/Packages								##进入包
cp kernel-3.10.0-123.el7.x86_64.rpm /etc		##将内核文件包复制到/etc
cd /etc
rpm2cpio kernel-3.10.0-123.el7.x86_64.rpm | cpio -id	##打开内核rpm包
cd boot
cp vmlinuz-3.10.0-123.el7.x86_64 /boot			##将内核文件拷到/boot目录
exit											##退出
exit

在这里插入图片描述
3、从硬盘启动
在这里插入图片描述

五、系统初始化镜像文件丢失问题

形如:
在这里插入图片描述
解决步骤:进入挽救模式----mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) [生成系统初始化镜]----两次exit,从硬盘启动

示例:
创造问题环境:

rm -fr /boot/initramfs-initramfs-3.10.0-514.el7.x86_64.img       ##删除系统初始化镜像文件
##没重启时,以下操作可挽救
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)		     ##生成系统初始化镜像文件

在这里插入图片描述重启

在这里插入图片描述
1、进入挽救模式
在这里插入图片描述
2、生成系统初始化镜像

mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)		##生成系统初始化镜

在这里插入图片描述
3、从硬盘启动
在这里插入图片描述

六、当/boot分区被删掉问题

形如:
在这里插入图片描述
解决步骤:进入挽救模式----生成主引导记录----强制安装内核包----生成引导文件信息----两次exit,从硬盘启动

示例:
创造问题环境:

rm -fr /boot/*

在这里插入图片描述
重启
在这里插入图片描述
1、进入挽救模式
在这里插入图片描述
2、生成主引导记录、强制安装内核包、生成引导文件信息

chroot /mnt/sysimage			        ##改变程序执行时参考的根目录位置(增加系统安全性)
grub2-install /dev/sda			        ##生成主引导记录
mount /dev/cdrom /mnt			        ##挂载系统镜像
rpm -ivh /mnt/Packages/kernel-3.10.0-514.el7.x86_64.rpm --force	##强制安装内核包,这里不能取消
grub2-mkconfig > /boot/grub2/grub.cfg	##生成引导文件信息,重定向到grub.cfg新文件

在这里插入图片描述
3、两次exit,从硬盘启动

在这里插入图片描述

七、当开机启动级别被篡改问题

例如:在开机时,系统不断重启,进不去
解决方法:按e键进入编辑模式----在linux16 段的段尾( rhgb quiet)加上“ 5 “ ----ctrl+x执行开机----systemctl set-default graphical.target

示例:
创造问题环境:

rm -fr /etc/systemd/system/default.target
ln -s /lib/systemd/system/reboot.target /etc/systemd/system/default.target
reboot

在这里插入图片描述
重启:系统不断重启,进不去

1、开机时按上下键停止读秒
在这里插入图片描述
2、按e键进入编辑模式

在这里插入图片描述
3、选择内核启动行

修改
在linux16 段的段尾( rhgb quiet)加上“ 5 “		  ##末尾加5

在这里插入图片描述
4、ctrl+x执行开机

在这里插入图片描述
5、永久设定运行级别(前4步只是临时设定)

systemctl set-default graphical.target    ##:设置指定的target为5的运行级别

在这里插入图片描述
6、reboot检测
能正常启动就成功了!

猜你喜欢

转载自blog.csdn.net/weixin_44297303/article/details/86774547