lazybios

Linux Grub修复

昨天晚上清理旧的系统内核文件时,不慎将所有内核都删掉了,我还以为当前版本内核应该不后被删掉的,删除后因为没有即时补救直接reboot了,结果就悲剧了:( 再启动,发现grub菜单没有了,只有一个光标在那里一直一闪一闪的…

这里说明下当前版本内核被删掉其实是内核的基础文件以及一些配置文件,之所以没有立即产生影响是因为在linux启动时内核已经被加载到了内存里面,言下之义就是如果你没有像我一样急急忙忙的reboot,完全可以sudo apt-install linux-image-xxx.xxx在从新安装回来,不会有任何影响

先说下我的配置环境

双系统,win7+ubuntu 12.04 主引导用的是windows的bootleader

修复步骤

到这里,reboot下,可以看到grub菜单的同学恭喜你,不过我的到这里还不行,只是不再仅一个光标bling-bling了,grub可用了,仅命令行交互式的,下面继续…

/boot在/目录下执行
set root=(hd0,7) #(hd0,7)即/boot所在分区,具体视你的情况而定
set prefix=(hd0,5)/boot/grub #仅路径上的小区别而已
insmod /boot/grub/normal.mod #装载normal.mod模块

过程真的很费劲啊,拥有权限的情况下删除一类操作一定要三思,否则就等着收拾残局吧!好在我当时reboot前补救了一把,升级了内核,不过与当前系统不匹配,所以可能因此搞坏了grub,如果内核一个都没有,我岂不又得折腾的更新内核镜像:(

参考阅读:
inux系统启动流程及 MBR损坏,grub内容,文件误删,boot目录,分区误删修复
win7 ubuntu10.10 重装win7 丢失grub菜单问题解决方法
双系统或三系统:Grub Rescue修复方法

微信关注「日拱一卒」公众号