简记:一次修复CentOS7因卸载多余内核后引起启动文件丢失及其后续问题的过程

起因

centos系统启动后,无论选normal,还是rescue,都无法进入系统,直接进入Emergency Mode.
仔细查看日志:journalctl -xb

发现日志中显示无法找到启动文件,到/boot下一看,我擦泪,这尼玛什么鬼,竟然是空的!!!!
仔细回想了下,好像上次做了一个这样的操作:yum erase kernal
马丹,手贱!

修复

思路:从网上翻了翻资料,知道可以从光盘中复制rpm包,重新进行内核安装来生成引导文件。
插入安装光盘启动,进入救援模式,复制内核安装rpm:

    chroot /mnt/sysimage
    mkdir /mnt/cdrom 
    mount /dev/cdrom /mnt/cdrom
    cd /mnt/cdrom
    cp Package/kernel-*.rpm /root
    cd /root
    rpm -ivh kernel-*.rpm
    reboot

转折

本以为重启就应该没问题了的,结果屏幕上赫赫然的grub rescue打脸打得生疼。
我想,那好吧,那就再进去搞定grub启动菜单好了。

再次挂光盘,进入救援模式,结果,死活无法chroot了。我擦泪,这什么鬼啊?
没办法,只好想着mount /dev/sda来看看磁盘里的文件,或许手动改吧~
结果,mount failure… structure needs clean.

嘿?你这是故意整我的吗?
好吧,翻了下资料,说是xfs文件系统有元数据损坏,需要repair下,行,我repair:

xfs_repair /dev/sda
>log .... 什么鬼什么鬼的,反正就是log有问题;按资料,加-L参数

xfs_repair -L /dev/sda
>success. 一共7个阶段,都没啥问题。好嘞,挂光盘,重新进救援模式,chroot

chroot /mnt/sysimage
grub2-install --boot-directory=/boot /dev/sda
sync
reboot

重启,进入系统,妥妥的

总结

遇事不慌,多看看前人的案例:自己遇到的问题,除非很特殊,一般其它人都会遇到的。

你可能感兴趣的:(linux)