在Linux中不小心删除了grub文件,会导致系统起不来,那我们怎么解决这个问题呢?当然重装可以解决,但是就丢失了这么一个文件而重装系统未免有些小题大做了吧!下面有一个比较便捷的方法解决这个问题?
首先我们要知道系统在打开电源的那一刻,之后电脑都做了什么(即系统的启动流程)。
1.BIOS 初始化
2.启动加载器
3.内核初始化
4.init 启动
而grub或者是引导程序丢失,问题出现在BIOS的初始化阶段,下面以RedHat 7.0为列子来演示:
1.丢失grub后再次启动系统时,系统会在grub那停住,如下:
执行如下的命令:
grub>set root=hd0,msdos1
grub>linux16 /vmlinuz-3.10.0-123.e17.x86_64 root=/dev/sda1 ro —-以只读加载内核(此时linux的内核的路径是绝对路径)
grub>lintrad16 /initramfs-3.10.0-123.e17.x86_64.img
grub>boot
即可解决
如果还有问题,那么要通过系统拯救来完成了,在进入grub界面后输入exit,进入系统安装菜单,选择Troubleshooting后在选择救援模式(rescue)按照提示来完成。挂载根后即(chroot /mnt/sysimage),执行grub2-mkconfig > /boot/grub2/grub.cfg 命令后exit即可。