安装Ubuntu 开机出现 grub rescue> 终端模式修复方法

本文介绍了一种常见的情况,即在使用U盘安装Ubuntu 16.04后出现grubrescue引导问题,并提供了详细的解决方案。通过一系列命令找到Ubuntu安装分区,设置根目录和前缀,重新加载grub配置,最终修复启动菜单。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GRUB(统一引导装入器)是基本的Linux引导装入器。

其具有四个作用,如下:

1.选择操作系统(计算机上安装多个操作系统);

2.表示相应的引导文件所在的分区;

3.找到内核;

4.运行初始内存盘,设置内核和相关模块。


楼主小明的电脑型号:Lenovo Y460

grub rescue出现的情景:使用U盘安装Ubuntu16.04,安装完成重启,选择硬盘启动,出现grub rescue。在网上找到解决方法:http://www.linuxidc.com/Linux/2012-07/65249.htm 。该文作者wzhnsc大神2012年写的解决方法,其中一些细节与小明的有一些不同,所以在此根据wzhnsc大神的方法记录一下小明的具体解决步骤,方便日后查找:

1.  先使用ls命令,找到ubuntu的安装在哪个分区:

     grub rescue>ls

     会罗列所有的磁盘分区信息,比方说:

     (hd0),(hd0,msdos3),(hd0,msdos2),(hd0,msdos1)

2. 然后依次调用如下命令: msdosX表示各个分区,注意 msdos 与 数字之间没有空格!

     grub rescue>ls (hd0,msdosX)/grub

     如果都找不到的话,需要查一下是否因为Linux版本差异,造成grub的路径不对,
     例如ls (hd0,X)/boot/grub等等)。

3. 假设找到(hd0,msdos1)时,显示了文件夹中的文件,则表示 Linux 安装在这个分区。

4. 调用如下命令:

    grub rescue>set root=(hd0,msdos1)

    grub rescue>set prefix=(hd0,msdos1)/grub(该路径与第2步中找到grub文件的路径一致)

    grub rescue>insmod /grub/i386-pc/normal.mod(设置之前,找到normal.mod在grub文件中所在的位置)

5. 然后调用如下命令,就可以显示出丢失的grub菜单了。

    grub rescue>normal

6. 不过不要高兴,如果这时重启,问题依旧存在,我们需要进入Linux中,对grub进行修复。

    进入Linux之后,在命令行执行:

    sudo update-grub

    sudo grub-install /dev/sda

    (sda是你的硬盘号码,千万不要指定分区号码,例如sda1,sda5等都不对)

7. 重启测试是否已经恢复了grub的启动菜单。

注:sudo gedit /boot/grub/grub.cfg 可以修改 grub 的引导菜单。


<think>好的,我现在需要处理用户关于Ubuntu系统重装后如何进入GRUB Rescue模式修复引导的问题。首先,用户的问题可能涉及GRUB引导损坏后的处理方法,我需要结合提供的引用内容来构建答案。 根据引用[1],如果/boot/grub没有损坏,可以进入系统,否则需要手动引导。引用[2]提到在GRUB Rescue模式下需要设置正确的分区和路径。引用[3]和[4]描述了通过chainloader加载Windows引导或修复分区的步骤。引用[5]则指出添加新硬可能导致GRUB Rescue模式出现。 接下来,我需要整理步骤,确保逻辑清晰。用户可能是在重装系统后,分区变动导致GRUB找不到引导文件,从而进入Rescue模式修复的关键是确定正确的根分区和加载必要的模块。 首先,进入GRUB Rescue的步骤可能包括启动时按住Shift或Esc,但用户可能已经处于该模式。接着,使用ls命令列出所有分区,找到包含/boot的分区。然后设置prefix和root,加载normal模块,最后进入正常模式后更新GRUB。 需要注意的是,用户可能需要知道如何正确识别分区,比如(hd0,msdos1)这样的格式,以及如何测试分区是否正确。此外,如果修复后仍无法进入系统,可能需要使用Live USB进行更深入的修复,比如chroot和grub-install。 最后,生成相关问题时要围绕GRUB修复、引导加载器、分区调整影响等,确保覆盖用户可能遇到的后续问题。需要确保回答准确,引用正确的步骤和命令,避免误导用户。</think>### Ubuntu重装系统后GRUB Rescue模式修复引导步骤 当Ubuntu重装或调整分区后,若出现**grub rescue**模式,通常是因为引导文件路径错误或分区变动导致GRUB无法定位核心文件(如`normal.mod`)。以下是修复流程: --- #### **步骤1:进入GRUB Rescue模式** - 系统启动时若检测到引导异常,会自动进入**grub rescue**模式[^2]。 - 若未自动进入,可尝试开机时按住`Shift`或`Esc`键手动触发。 --- #### **步骤2:定位Ubuntu根分区** 1. 输入`ls`查看所有磁分区,例如: ```bash grub rescue> ls (hd0) (hd0,msdos5) (hd0,msdos1) ... ``` 2. 通过`ls (hdX,msdosY)/boot/grub`逐个测试分区,找到包含`/boot/grub`目录的分区。例如: ```bash grub rescue> ls (hd0,msdos1)/boot/grub normal.mod ext2.mod ... # 出现类似输出说明分区正确 ``` --- #### **步骤3:设置GRUB环境变量** 1. 设置根分区和前缀路径(假设正确分区为`(hd0,msdos1)`): ```bash grub rescue> set root=(hd0,msdos1) grub rescue> set prefix=(hd0,msdos1)/boot/grub ``` 2. 加载`normal`模块并进入正常GRUB界面: ```bash grub rescue> insmod normal grub rescue> normal ``` --- #### **步骤4:更新GRUB引导配置** 进入Ubuntu系统后,需更新GRUB以固化修复: ```bash sudo update-grub sudo grub-install /dev/sda # 将sda替换为实际系统磁(如sda、nvme0n1等) ``` --- #### **步骤5:修复失败时的替代方案** 若无法通过上述步骤修复,需使用**Ubuntu Live USB**: 1. 从Live USB启动,打开终端。 2. 挂载原系统根分区并重建GRUB: ```bash sudo mount /dev/sda1 /mnt # 假设sda1为根分区 sudo mount /dev/sda2 /mnt/boot # 若/boot单独分区 sudo grub-install --root-directory=/mnt /dev/sda sudo chroot /mnt update-grub ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值