Linux系统故障恢复

一   系统的启动过程


二  挽救模式进入方法
1.在真机打开虚拟机管理器

virt-manager

2.插入光驱  点击小灯泡 选择Boot Options 点击左下角的Add  Hardware  选择完成后点击finish

3把光驱启动设置为第一个 上下箭头条顺序 点击apply,然后启动

4.选择Troubleshooting(系统修复)

5.进入进入Rescue a Red Hat Enterprise Linux system(挽救模式)  选择第二个




6.挽救模式结束之后 关闭虚拟机 改变启动顺序  系统便可以启动


 

三  系统启动出错恢复
1.引导程序boot损坏
(1)我们可以破坏/dev/vda前446字节  来做实验

dd if=/dev/zero of=/dev/vda bs=446 count=1
reboot

(2)报错:    reboot会失败  forceoff再启动

(3)关闭虚拟机,从光盘启动进入挽救模式

 chroot /mnt/sysimage
 grub2-install /dev/vda
 执行两次exit,从硬盘启动成功即可


forceoff 关掉  挽救模式结束之后 关闭虚拟机 改变启动顺序  系统便可以启动


2.引导文件/boot/grub2/grub.cfg丢失
(1)我们先删除文件来做实验

 rm -f /boot/grub2/grub.cfg

###如果误删这个文件之后 电脑没有关机 执行下面命令即可恢复
grub2-mkconfig > /boot/grub2/grub.cfg


如果电脑已经关闭 启动过程中会报错

手动启动过程(输入/boot/grub2/grub.cfg里面的配置文件)

set root='hd0,msdos1'   ###根据自己的boot分区 1不是L
linux16 /boot/vmlinuz-3.10.0-123.el7.x86_64 ro root=/dev/vda1  ##选定内核 e后面是L
initrd16 /boot/initramfs-3.10.0-123.el7.x64_64.img
boot
文件如下图

将文件手动输入


以为以上操作仍然是临时的所以再进入系统后还需要执行以下命令恢复

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



内核丢失
(1)删除内核做实验

rm -f /boot/vmlinuz-3.10.0-123.el7.x86_64
reboot


(2)关闭虚拟机,从光盘启动进入挽救模式

 chroot /mnt/sysimage
 mkdir /rhel7
 df                                                        ###查看光驱的名称
 mount /dev/sr0 /rhel7
 cd /rhel/Packages
 cp kernel-3.10.0-123.e17.x86_64.rpm /mnt
 cd /mnt
 rpm2cpio kernel-3.10.0-123.e17.x86_64.rpm | cpio -id      ###拆分,可直接用yum安装,但是慢
 cd boot/
 cp vmlinuz-3.10.0-123.el7.x86_64 /boot
 执行两次exit,从硬盘启动成功即可



挽救模式之后 forceoff 更改启动顺序  系统即可启动

初始化文件丢失
(1)删除文件

rm -f /boot/initramfs-3.10.0-123.el7.x86_64.img
reboot


(2)关闭虚拟机,从光盘进入挽救模式

 chroot /mnt/sysimage
 mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
 执行两次exit,从硬盘启动成功即可


更改启动顺序

 


boot分区丢失
(1)删除/boot

 rm -rf /boot
 reboot


(2)关闭分区,从光盘进入挽救模式

 chroot /mnt/sysimage
 mkdir /boot
 mkdir /rhel7
 grub2-install /dev/vda                     ###生成/dev/vda前446字节引导
 mount /dev/sr0 /rhel7
 rpm -ivh /rhel7/Packages/kernel-3.10.0-123.e17.x86_64.rpm --force
 grub2-mkconifg > /boot/grub2/grub.cfg
 执行两次exit,从硬盘启动成功即可


切换启动顺序 从硬盘启动


闪退
(1)关闭虚拟机,从光盘进入挽救模式   之后从硬盘启动即可

 cp /bin/bash /mnt/sysimage/bin/bash
 exit退出即可

开机启动级别被篡改
(1)我们以不断重启 级别6 为例

 systemctl set-default reboot.target
 reboot


(2)解决方法


    重新启动系统
    在系统启动阶段按上下健停止系统系统引导
    选择启动引导标题,按“E”进行编辑
    找到linux16引导条目这一行,从这行最后删除到ro选项,并把ro改为rw,然后添加rd.break选项
    ctrl+x启动设定过后的系统引导条目
    进入系统后执行chroot /sysroot切换到真实的系统环境
    rm -rf /etc/systemd/system/default.target
    ln -s /lib/systemd/system/graphical.target /etc/systemd/system/default.target
    exit两次使系统自动重新启动

按E进入

光标闪动的位置 linux16那一行  ctrl+X启动设定过的引导条目


系统恢复

root密码忘记

重新启动系统
在系统启动阶段按上下健停止系统系统引导
选择启动引导标题,按“E”进行编辑
找到linux16引导条目这一行,从这行最后删除到ro选项,并把ro改为rw,然后添加rd.break选项
ctrl+x启动设定过后的系统引导条目
进入系统后执行chroot /sysroot切换到真实的系统环境
passwd root修改超级用户密码
touch /.autorelabel让系统从新扫描所有文件,不然可能修改失败,密码有问题
exit两次使系统自动重新启动

停止系统引导 按E

linux16这行做更改 然后ctrl+x启动设定过后的引导条目

进入系统后  切换到真实的系统环境  修改密码 扫描文件 重新启动

之后就可以正常登陆系统了













 

猜你喜欢

转载自blog.csdn.net/qq_41636653/article/details/81871033