2018年12月18日星期二

Linux启动时出现grub>提示符怎么办?

Grub是计算机启动的时候,加载操作系统的程序。出现grub>提示符说明grub程序找不到要加载的操作系统,这种情况最常见的原因是grub的配置文件丢失或损坏了。
现在的计算机一般都有专门用于启动的efi分区,grub也越来越复杂,说实话我还没有研究明白怎么恢复grub的配置文件。我写这篇文章的目的,是讲讲这种情况怎么在不重装系统的情况下进入Linux系统,并试图修复。
在grub提示符下,输入set命令,屏幕上会显示一堆堆的形如KEY=value的参数列表,往往一屏都显示不下,按空格键还有第二屏,需要从中找到一个kernelopts的参数,记下等号后面的参数(可能不止一行,下一行如果不是key=value的形式,那么仍然是当前行的继续)。
此时在grub命令提示符下输入
linuxefi /vmlinuz-xxxx kernelopts-value
如果grub提示找不到linuxefi这个命令,那就输入linux16命令, vmlinuz-后面的xxxx表示linux内核的版本号,此时输入Tab建,即可列出可选的内核;kernelopts就是刚才说的kernelopts对应的value, 一般来说只输入root=这个参数就可以了,其他参数可加可不加,都能进入Linux系统。
接下来在grub命令提示符下输入
initrdefi /initramfs-xxxx
xxxx也表示Linux内核同一版本号,通过Tab键补全即可。如果initrdefi找不到则使用initrd16命令。
最后在grub命令提示符下输入
boot
即可进入Linux系统。进入Linux系统后,通过rpm或者deb包的方式重新安装一下最新版本的内核,安装包脚本会自动配置grub的配置文件。一切正常的话,下次开机grub就配置好了可以正常使用了。

没有评论:

发表评论