系统常见错误的解决方法

1.删除磁盘中的磁盘分区引导信息

命令:

dd if=/dev/zero of=/dev/sda1 bs=446 count=1  ###删除磁盘中的分区引导信息,信息长度446个字节

此时重启机器会出现如下信息

2.此时就需要系统挽救模式了:

在这个虚拟机的硬件上添加光盘硬件,并将光盘硬件设置成第一启动项,如下面的两个截图:

3.上述设置完成后启动虚拟机:选择Troubleshooting(挽救模式)

4.选择Rescue a Red Hat Enterprise Linux system

5/在系统出现下面的提示时候选择1)Continue

 

此时输入chroot /mnt/sysimage ###切换至root环境下的shell,在该shell下输入 :

grub2-install /dev/sda

 

当系统显示Installation finished.No error reported时,新的磁盘引导信息安装成功。两次exit重新启动机器。系统恢复正常工作。

注:在重启的过程中可能出现的报错:

在出现上述信息之后系统会卡在下一个界面,这时候就需要把selinux的工作状态更改为disbaled,系统就会正常启动。

2.删除启动文件grub.cfg,怎样恢复电脑

准备工作:查看当前机器的/boot分区和根分区挂载的位置

[root@software_install ~]# df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda3        9450496 3521756   5928740  38% /
devtmpfs          493592       0    493592   0% /dev
tmpfs             508260     144    508116   1% /dev/shm
tmpfs             508260    7140    501120   2% /run
tmpfs             508260       0    508260   0% /sys/fs/cgroup
/dev/sda1         201380  149512     51868  75% /boot
tmpfs             101656       4    101652   1% /run/user/42
tmpfs             101656       8    101648   1% /run/user/0
[root@software_install ~]#

如上所示是机器的挂载信息,根分区挂载在/dev/sda3,boot分区挂载在/dev/sda1(即就是系统的第一块硬盘的第一块分区,分区位至可以用fdisk -l,及fdisk /dev/***查看,读者自行寻找规律)

实验步骤:1.删除启动文件
 

rm -rf /boot/grub2/grub.cfg

reboot

重新启动之后的界面是:


grub > set root='hd0,msdos1'  ##此位置是不固定的,位置指向/boot所在分区。在另一个快照上可以用fdisk -l,fdsik /dev/XXX查看.
grub > linux16 /vmlinuz-3.10.0-123.e17.x86_64 ro root=/dev/sda3     ###此位置是根分区
grub > initrd16 /initrmfs-3.10.0-123.e17.x86_64.img
grub > boot

在此过程中系统可以进行自动补全,读者可以根据这一点进行自纠错

注:在机器启动之后要重新生成启动文件

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

3.失误操作,删除了内核

模拟问题:rm -rf /boot/vmlnuz-3.10.0-123.e17.x86_64   ###删除内核

重启机器后会出现如下信息:

#####如果删除了内核
模拟问题:rm -rf /boot/vmlnuz-3.10.0-123.e17.x86_64

在重启机器之后会出现下面的界面:

进入到挽救模式(之前介绍过进入挽救模式的方法)
chroot /mnt/sysimage
mkdir /rhel7
mount /dev/sr0 /rhel7
cd /rhel7/Packages


cp kernel-3[tab] /mnt
cd /mnt
rpm2cpio kernel-3.10.0-123.e17.x86_64.rpm | cpio -id   ###分解包
cd boot
cp vmlinuz-3.10.0-123.e17.x86_64 /boot

两次exit

exit
exit

重启之后机器恢复正常

4.系统的初始化镜像文件丢失:

模拟问题: rm -rf /boot/initramfs-3.10.0.....img    ###删除初始化镜像文件

当系统没有重启的时候
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)

当系统重启之后
进入挽救模式
chroot /mnt/sysimage
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)

重启系统会恢复正常。

5.系统的自启动项被篡改

cd /etc/systemd/system/mulit-[tab]      ###此文件中全是链接文件,链接着相应的服务

systemctl set-default shutdown.target   ###将系统的默认级别设置成关机,此时机器开机后会自动关机

解决方法:在开机选择系统的时候按上下键,打断系统自动开机,再按e编辑模式

在内核版本quiet后面写5(进入到图形界面)按ctrl+x开机。

开机之后将系统的默认级别设置回来。

删除了boot分区

rm -rf /boot

进入挽救模式

chroot  /mnt/sysimage

mkdir /boot

grub2-install /dev/sda

mount /dev/cdrom /mnt

rpm -ivh /mnt/Packages/kernel-3[tab]  --force

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

两次exit

注:在删除boot分区的时候会提示Dexice or resource busy ,但是这是如果查看boot目录,boot目录下一个文件都没有,说明删除成功。后面的安装包可能会安装的比较慢,耐心等待。

猜你喜欢

转载自blog.csdn.net/halobios_/article/details/87023029