Linux之系统问题恢复篇

一、root密码忘记

1、在引导界面按’e’键进入救援模式

引导界面:
在这里插入图片描述
救援模式:
在这里插入图片描述
将linux16的那一行末尾到ro的内容删掉,改为rw rd.break。
在这里插入图片描述
按ctrl+x,启动。

2、更改root密码

###1、提示行输入chroot /sysroot/
在这里插入图片描述

2、更改root密码,并建立文件

在这里插入图片描述
按exit退出救援模式。
在这里插入图片描述
输入更改后的root密码。
在这里插入图片描述

二、硬盘引导阶段问题。

首先,我们模拟一个问题。

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

在这里插入图片描述
重启系统。
在这里插入图片描述
那么怎么恢复mbr主引导记录呢?

1、把系统镜像文件放入光盘,并且选择从光盘启动。

在这里插入图片描述

2、选择Troubleshooting进入,再选择Rescue,进入挽救模式。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、选择1:Continue,输入chroot /mnt/sysimage。成功进入挽救模式。

在这里插入图片描述

4、生成主引导记录mbr。

grub2-install	启动分区所在硬盘		

grub2-install 	/dev/vda				##生成主引导记录

在这里插入图片描述

5、按exit退出,将从光盘启动改为硬盘启动

在这里插入图片描述
在这里插入图片描述

三、文件引导阶段

首先模拟问题:

rm -fr /boot/grub2/grub.cfg		##删除引导文件

1、当系统没有重新启动时

grub2-mkconfig > /boot/grub2/grub.cfg	##生成引导文件信息,重定向到grub.cfg新文件

在这里插入图片描述

2、当系统被重启后。

因为引导文件不见了,系统会让我们用户引导。

1、引导系统启动


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

可以进入挽救模式查看,/boot分区挂载点,以及根分区挂载点。
在这里插入图片描述
手动引导:
在这里插入图片描述
在这里插入图片描述
注意:手动引导后,系统正常启动,但是是临时的,因此进去系统后还是需要执行:

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

生成新的引导文件。系统才可以真正意义上恢复正常。
在这里插入图片描述

四、内核文件丢失

首先,我们还是模拟问题:

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

重启
在这里插入图片描述

那么,如何恢复呢?
首先,进入挽救模式。
在这里插入图片描述
将镜像中的内核文件拷到/boot分区中:

chroot /mnt/sysimage							##改变程序执行时参考的根目录位置(增加系统安全性)
mkdir /rhel7
mount /dev/sr0 /rhel7							##挂载镜像到/rhel7目录
cd /rhel7/Packages								##进入包
cp kernel-3.10.0-123.el7.x86_64.rpm /mnt		##将内核文件包复制到/mnt
cd /mnt
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

在这里插入图片描述
最后一步:更改系统启动级别,在进去挽救模式时更改为从光盘启动,现在更改回来,启动系统,就可以恢复正常。
在这里插入图片描述

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

模拟问题:

rm -fr /boot/initramfs-3.10.0-123.el7.x86_64.img	##删除系统初始化镜像文件

1、当系统没有重启时

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

在这里插入图片描述

2、系统重新启动后

在这里插入图片描述
那么,解决的办法是什么呢?

1、进入挽救模式

在这里插入图片描述

2、生成系统初始化镜像

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

在这里插入图片描述

3、更改启动顺序,启动系统。

在这里插入图片描述

六、当/boot分区被删掉

模拟问题:

rm -rf /boot/*

重启后:
在这里插入图片描述
解决方法:

1、进入挽救模式

在这里插入图片描述

2、生成主引导记录、强制安装内核包、生成引导文件信息。

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

在这里插入图片描述

3、更改系统启动级别,更改为硬盘启动。启动系统。

在这里插入图片描述

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

模拟问题:

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

在这里插入图片描述
分析:系统一直无限重启。

解决方法:

1、开机时按上下键停止读秒。

在这里插入图片描述

2、按e键进入编辑模式

在这里插入图片描述

3、选择内核启动行

linux16 /vmlinuz-xxxxx ro xxxxxx	改变为linux16 /vmlinuz-xxxxx ro xxxxxx rhgb quiet 5		##末尾加5

在这里插入图片描述

4、ctrl+x执行开机

在这里插入图片描述

5、以root用户身份执行。

systemctl set-default graphical.target

在这里插入图片描述

6、reboot重启测试

在这里插入图片描述
分析:没有无限重启,问题解决

猜你喜欢

转载自blog.csdn.net/qq_41830712/article/details/86678453