Ubuntu开机出现grub指令,无法正常开机

问题

最近开机出现了如下的界面:


分析问题

  1. 首先看看GNU GRUB是什么东东?干什么用的?
    GNU GRUB是多重引导加载程序。通俗点说,它就是用来一个可以让你选择运行什么操作系统的程序。
    在你开机的时候,它是第一个运行的程序。它决定着,将计算机的控制权给哪个系统内核。然后系统内核将进一步初始化、处理操作系统的其他部分。
  2. 所以出现grub的原因,是因为GNU GRUB找不到引导文件,引导系统内核了。所以,要想解决这个问题,需要让GNU GRUB找到相关的引导文件,进行正确的引导。

解决方案

首先吐槽下,找了中文解决方案,都不行。最后查了英文才找到解决方案。

  1. 首先,在grub>指令处,输入ls指令。
    这个指令能让你看到当前路径下的文件和文件夹。
    使用这个指令,你可以类似这样的输出,(hd0)(hd0, msdos1)类似的。
    这些是磁盘的分区,我们需要在这些分区内找到能够正确引导系统的文件配置。
  2. 使用指令ls (hd0)/来一个个测试,看输出有没有vmlinuz或者linuxinitrd.imgroot这样的字样。
    比如第一步出现(hd0), (hd0, msdos1),在这一步的时候,你需要使用ls (hd0)/ls (hd0, msdos1)/来一个个去试,直至出现上文提示的那些字样,那个分区就是引导文件所在的地方。
    如果ls (hd0, msdos1)/出现unknown filestystem,你可以尝试使用ls /(hd0, msdos1)/,以此类推
    ls (hd0, msdos1)/可以简写为ls (hd0, 1)/
  3. 找到引导文件所在位置,比如在(hd0,5)
    输出以下指令
set root=(hd0,5)
set prefix=(hd0,5)/boot/grub
insmod normal
normal

这一步来设置引导文件的位置。
4. 如果还是不行,尝试以下指令

linux (hd0,5)/vmlinuz root=/dev/sda5
initrd (hd0,5)/initrd.img
boot

这里是让引导程序去引导。至此,应该可以正常开机了。


其他

开机后,下次开机也许还需要这样的操作。但我就没设置了,下次再说~


教程中的Costco,只给你各领域更好的教程,不再为挑选教程而闹心。
欢迎关注!!!

posted @ 2019-09-03 22:37  土堆碎念  阅读(4648)  评论(0编辑  收藏  举报