一.MBR主导分区损坏

1.覆盖掉虚拟机的主导分区
命令:dd if=/dev/zero of=/dev/vda bs=446 count=1
此时系统无法正常开机

Linux系统排错

2.根据虚拟机版本添加光驱(如7.0的系统光驱为7.0版本的镜像)

virt-managers命令打开虚拟机管理界面

Linux系统排错

先关闭server,再添加一个光驱。

点击上面的此图标Linux系统排错

再点击Linux系统排错

添加光驱:点击左下角的添加

Linux系统排错

出现此界面:

Linux系统排错

添加光驱成功,使用光驱启动。

Linux系统排错

开启虚拟机,选择修复选项 

选择Linux系统排错

然后选择Linux系统排错

cotinue

Linux系统排错

Linux系统排错

Linux系统排错

 3.再硬盘启动即可恢复。

二.文件引导损坏

1.boot 分区的自动引导文件
/boot/grub2/grub.cfg

Linux系统排错

引导文件指定了boot分区的位置;加载内核;启动系统初始化进程。

出现问题时,需手动引导,恢复后,再重新创建。
手动引导步骤。

Linux系统排错
grub>set root='hd0,msdos1'     设定系统引导启动分区路径
     linux16 /boot/vmlinuz-3.10.0-123.e17.x86_64 ro root=/dev/vda1
     initrd16 /boot/initramfs-3.10.0-123.e17.x86_64.img
     boot

Linux系统排错

如果安装过程中系统卡住,则可能是由于Selinux没关,则改变第二条命令为:
linux16 /boot/vmlinuz-3.10.0-123.e17.x86_64 ro root=/dev/vda1 selinux=0
即可。

2.恢复
grub2-mkconfig > /boot/grub2/grub.cfg

Linux系统排错

三.内核引导软件损坏 vmlinuz

1.内核引导文件 /boot/vmlinuz-3.10.0-327.e17.x86——64
  检测硬件设备;设备驱动初始化;将/只读挂载;载入初始进程systemd
2.内核文件损坏,则无法正常开机,需重新安装内核软件

在这里为了方便实验我们删除此文件。

Linux系统排错

Linux系统排错
  在开机模式中选择修复选项     ##光驱启动(即force off虚拟机,再virt-manager,点击server,点击灯泡,选择光驱启动)
根据提示:trouble-->第二个得到一个shell->继续输入命令。

sh-4.2#chroot /mnt/sysimage/         ##切换真实的root环境

Linux系统排错
       df  查看
       mkdir /rhel7.0
       mount /dev/sr0 /rhel7.0/
       cd /rhel7.0/
       ls
       cd Packager/
       cp kernel-3.10.0-123.e17.x86_64.rpm /mnt/
       cd /mnt/
       ls
       rpm2cpio kernel-3.10.0-123.e17.x86_64.rpm |cpio -id

Linux系统排错
       解开kernel,得到所需的内核引导软件
       cd /boot/
       ls -l
       cp vmlinuz-3.10.0-123e17.x86_64 /boot/

Linux系统排错
       exit
       exit

确定/boot分区文件完整后,将虚拟机再force off,改为以虚拟机硬盘驱动启动即可。

四.img文件损坏

1.若不小心删除,可通过命令自动创建
rm -fr initramfs-3.10.0-123.e17.x86_64.img
uname -r 查看系统内核版本:3.10.0-123.el7.x86_64

Linux系统排错

2.img文件损坏后,无法正常开机,需重新建立img文件
在开机时依旧是转为光驱启动,然后先输入chroot /mnt/sysimage/
再输入命令:mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)

Linux系统排错

Linux系统排错

可以ls /boot/查看/boot分区是否完整,完成后两下exit,再以虚拟硬盘驱动开机即可。

Linux系统排错

五.systemd初始化目录

/etc/systemd/system/multi-user.target.wants/

当把/usr/lib/systemd/system/poweroff.target 覆盖链接到 default.target
其命令为:ln -snf /usr/lib/systemd/system/poweroff.target default.target
则系统故障无法正常开机

重启时按上下键,停止系统引导。
在开机时,根据提示选择e,在内核引导时设置图形化界面开启 即
在linux16那行 sun16 后面加空格 5

Linux系统排错
Ctrl + x   启动
正常开启后,修改systemd初始化默认参数,即可修复
systemctl set-default graphical.target

Linux系统排错

六.root用户密码修改

当root密码忘记或者被更改时,即可通过此方法。
1.重启虚拟机时按上下键,停止系统引导。
2.按e,在内核引导时找到指定行linux16从最后往前删除至ro
修改:ro=rw rd.break

Linux系统排错
3.Ctrl + x启动
4.进入系统后切换到真实shell  即:chroot /sysroot/
修改root密码:echo 密码 | passwd --stdin 用户root
例:echo redhat | passwd --stdin root
两次exit即可。

Linux系统排错

 

相关文章:

  • 2021-06-13
猜你喜欢
  • 2021-08-19
相关资源
相似解决方案