u盘启动出现grub-(u盘启动出现grub无法进入系统)

192.168.0.1 次浏览手机阅读
(u盘启动出现grub无法进入系统)

点击上方"walkingcloud"关注,并选择"星标"公众号

CentOS7下重建grub恢复系统故障案例

grub故障现象无法启动

先模拟还原故障现象

1、模拟/boot/分区损坏,整boot删除分区下的文件,当然/boot/grub2/grub.cfg文件也会被删除

lsblk可以看到/boot为单独分区

lsblkcd /boot/rm -rf *

(图片可放大查看)

(图片可放大查看)

2.同时模拟//etc/fstab文件丢失,删掉/etc/fstab

rm -rf /etc/fstab

(图片可放大查看)

3.重启服务器后,系统无法启动。卡在grub界面

(图片可放大查看)

故障恢复思路

工具:使用ISO镜像光驱启动进入救援模式恢复

1、/etc/fstab文件丢失会导致分区无法自动挂载,因此需要手动挂载

如果使用了LVM逻辑卷在挂载前必须加载逻辑卷 需要手动恢复/etc/fstab,写入开机启动需要挂载的分区条目

2、重建/boot系统内核文件在目录下

3、重建/boot/grub2/grub.cfg

4.重启服务器后,验证是否成功恢复

具体操作步骤1、使用CentOS7原镜像从光驱启动

当然也可以做成启动U盘,从U盘启动

(图片可放大查看)

(图片可放大查看)

2、选择Troubleshooting->Rescue a CentOS system

(图片可放大电脑查看)

(图片可放大查看)

3.根据提示选择1

(图片可放大查看)

提示没有找到任何东西Linux分区,这时会进入shell

4、发现LVM逻辑卷

lsblklsblk -f

可以看到/dev/sda2为LVM2_member

/*扫描vg卷*/vgscan/*激活vg*/vgchange -ay 

(图片可放大查看)

5.挂载故障根分区/mnt/sysimage

mount -rw /dev/mapper/centos-root /mnt/sysimagecd /mnt/sysimage并vi etc/fstab以下是文件的依据lsblk -f 反推/etc/fstab/dev/mapper/centos-root  /     ext4 defaults 0 0/dev/mapper/centos-opt   /opt  ext4 defaults 0 0/dev/sda1                /boot ext4 defaults 0 0

(图片可放大查看)

电脑

保存后reboot重启

6、重复第1,二、三步,重新进入Rescue模式

这时选择1,你可以找到分区 你可以看到提示你的系统mounted under /mnt/sysimage 输入回车进入shell

(图片可放大查看)

lsblk可以看到/mnt/sysimage 和/mnt/sysimage/boot已挂载(见下面第7步的截图)

7、安装内核

rpm -ivh /run/install/repo/Packages/kernel-3.10.0-1160.el7.x86_64.rpm --root=/mnt/sysimage --force

(图片可放大查看)

8、重建grub.cfg

chroot /mnt/sysimagegrub2-install /dev/sdagrub2-mkconfig -o /boot/grub2/grub.cfgexit

退出实根后,重启服务器 reboot

(图片可放大查看)

9.此时,验证修复是否成功

可见内核菜单已正常显示

(图片可放大查看)

第二次自动重启后,系统正常登录界面

(图片可放大查看)

系统恢复成功

(图片可放大查看)

下图为CentOS7启动原理流程图


电脑
喜欢 ()