一、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重启测试
分析:没有无限重启,问题解决