• 开机进入grub>


    GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。

    GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。

    grub是多重引导加载程序。通俗点说,它就是用来一个可以让你选择运行什么操作系统的程序。在你开机的时候,它是第一个运行的程序。它决定着,将计算机的控制权给哪个系统内核。然后系统内核将进一步初始化、处理操作系统的其他部分。

    出现grub的原因,是因为GNU GRUB找不到引导文件,引导系统内核了。所以,要想解决这个问题,需要让GNU GRUB找到相关的引导文件,进行正确的引导。

    处理方法1:

    1.查找内核所在的分区

     输入root (hd0, 在这里按tab键,出现下面的分区,我们只需要type为83的分区,所以我们输入root (hd0,0)

    2.指定启动内核所在位置

     输入kernel / 按tab后发现有很多文件夹,我们知道内核放在boot文件夹下,所以输入kernel /boot/vm 此处按tab自动补全就行,root=/dev/sda1的意思是指定根分区设备文件的位置,然后回车确认。

    3.指定临时镜像文件所在位置

    输入initrd / 按tab后发现有很多文件夹,我们知道临时镜像放在boot文件夹下,所以输如initrd /boot/initra 此处按tab自动补全就行,然后回车确认。

    最后输入boot按照我们设定的内核文件和临时镜像文件启动系统,如:grub>boot

    参考资料:https://www.linuxprobe.com/boot-grub.html

    处理方法2:

    1. 首先利用ls命令,找到Ubuntu安装在哪个磁盘分区;

    • 比如输入ls后我的机器列出的磁盘分区信息如下:

    (hd0),(hd1),(hd1,gpt3),(hd1,gpt2),(hd1,gpt1)

    • 查找包含grub.cfg文件的分区
    假定通过 ls (hd1,gpt2)/boot/grub 发现了grub.cfg文件,则表明Linux安装在这个分区

    2.  找到Linux的/boot分区,以及/根分区所在的磁盘位置

    输入 cat (hd0,gpt2)/etc/fstab
    会输出类似下面的信息
    # <file system> <mount point> <type> <options> <dump> <pass>
    # / was on /dev/sda2 during installation
    UUID=dd6e0539-1369-4938-8af5-378f02cf05cf / ext4 errors=remount-ro 0 1

    3. 指定Linux内核,及/所在分区

    grub> linux /boot/vmlinuz-4.8.0-36-generic ro text root=/dev/sda2

    4. initrd命令指定initrd文件

    grub> initrd /boot/initrd.img-4.8.0-36-generic

    5. boot引导系统,结束

    grub> boot

     参考资料:https://www.cnblogs.com/ValyrianSteel/p/12693287.html

    处理方法3:

    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
    

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

    参考资料:https://www.cnblogs.com/zhouzhiyao/p/11456189.html

  • 相关阅读:
    9、SpringMVC:Ajax技术(扩展:百度搜索框提示应用)
    8、SpringMVC:整合SSM
    SpringMVC:多视图解析器配置以及问题
    7、SpringMVC:JSON讲解
    IDEA中lombok的插件配置及使用
    C语言编程练习23:美丽数
    C语言编程练习45:ACM CLUB晚会
    C语言编程练习22:2^x mod n = 1
    C语言编程练习21:找规律填数字
    C语言编程练习20:计算合并
  • 原文地址:https://www.cnblogs.com/wushuai2018/p/14914001.html
Copyright © 2020-2023  润新知