1.root用户密码遗失
1.在系统引导界面按’e’键进入救援模式
引导界面:
救援模式:
将linux16的那一行末尾到ro的内容删掉,改为rw rd.break
按ctrl+x
启动
2.更改root用户密码
提示行输入chroot /sysroot/
更改root密码,并建立文件
按exit
退出救援模式
输入修改后的root用户密码
2.硬盘引导阶段
mbr主引导记录的恢复
模拟问题:
dd if=/dev/zero of=/dev/vda bs=446 count=1
重启系统
把系统镜像文件放入光盘,并且选择从光盘启动
选择Troubleshooting
进入,再选择Rescue
,进入挽救模式
点击Continue
,OK
。成功进入挽救模式。
生成主引导记录mbr
grub2-install /启动分区所在硬盘
grub2-install /dev/vda
点击exit
退出,将从光盘启动改为硬盘启动
3.文件引导阶段
1)引导文件丢失
/boot/grub2/grub.cfg
#模拟问题:
rm -rf /boot/grub2/grub.cfg
#当系统没有重新启动时
grub2-mkconfig > /boot/grub2/grub.cfg
#当系统被重新启动
引导系统启动
grub > set root='hd0,msdos1' ##此位置指定/boot分区所挂载的硬盘分区
grub > linux16 /vmlinuz-3.10.0-123.el7.x86_64 ro root=/dev/vda3 ##根分区挂载点,文件为内核文件
grub > initrd16 /initramfs-3.10.0-123.el7.x86_64.img ##初始化镜像文件
grub > boot
可以进入挽救模式查看,/boot
分区挂载点,以及根分区挂载点
手动引导
注意:手动引导后,系统正常启动,但是是临时的,因此进去系统后还是需要执行:
grub2-mkcofig > /boot/grub2/grub.cfg
生成新的引导文件。系统才可以真正意义上恢复正常。
4.内核文件丢失
模拟问题:
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
更改系统启动级别,在进去挽救模式时更改为从光盘启动,现在更改回来,启动系统,就可以恢复正常
5.系统初始化镜像文件丢失
模拟问题:
rm -fr /boot/initramfs-3.10.0-123.el7.x86_64.img ##删除系统初始化镜像文件
当系统没有重启时
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) ##生成系统初始化镜像文件
系统重新启动后
进入挽救模式
生成系统初始化镜像
更改启动顺序,启动系统
6.当/boot分区被删掉
模拟问题:
rm -rf /boot/*
重启后:
进入挽救模式
生成主引导记录、强制安装内核包、生成引导文件信息
chroot /mnt/sysimage ##改变程序执行时参考的根目录位置(增加系统安全性)
grub2-install /dev/vda ##生成主引导记录
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新文件
更改系统启动级别,更改为硬盘启动。启动系统
7.当开机启动级别被篡改
模拟问题:
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
重启测试
未出现无限重启问题,问题解决。
关于Linux的系统恢复的内容就是这些。