zoukankan      html  css  js  c++  java
  • 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,只给你各领域更好的教程,不再为挑选教程而闹心。
    欢迎关注!!!

  • 相关阅读:
    在sql语句中使用 xml for path 格式化字符串的方法总结
    Android handler的使用简单示例
    easyui datagrid中 多表头方法总结
    使用ICSharpCode.SharpZipLib.Zip类库解压zip文件的方法
    ThreadPoolExecutor 优雅关闭线程池的原理.md
    ThreadPoolExecutor 几个疑惑与解答
    如何在运行时(Runtime)获得泛型的真正类型
    为什么 EXISTS(NOT EXIST) 与 JOIN(LEFT JOIN) 的性能会比 IN(NOT IN) 好
    Spring MVC 上下文(ApplicationContext)初始化入口
    Tomcat生成的session持久化到MySQL
  • 原文地址:https://www.cnblogs.com/zhouzhiyao/p/11456189.html
Copyright © 2011-2022 走看看