卡在GRUB Rescue模式中

我在尝试设置Ubuntu和Windows 8的双系统时搞砸了我的新笔记本电脑。我尝试了很多方法来使其正常工作,但现在当我尝试启动时,却被困在GRUB的恢复模式中,没有任何错误提示。
我的问题是:我能否从USB驱动器上的Ubuntu启动,以擦除Windows 8和Ubuntu,然后只安装Ubuntu?这样做是否能解决GRUB恢复模式的问题?
4个回答

别费劲用Ubuntu的Live CD了。从救援模式修复GRUB并不难。
  1. 命令:ls
  2. 它将列出所有驱动器和分区,例如:
  3. (hd0) (hd0,msdos2) (hd0,msdos1)
    
  4. 如果您不知道您的Ubuntu引导分区,请逐个检查它们:
  5. ls (hd0,msdos2)/
    ls (hd0,msdos1)/
    

    当找到正确的分区时,您将看到一行提到 lost+found,更重要的是 boot 等。

  6. 假设 (hd0,msdos2) 是正确的分区:
  7. set prefix=(hd0,msdos2)/boot/grub
    set root=(hd0,msdos2)
    insmod normal
    normal
    
  8. 现在您将能够启动进入Ubuntu。一旦进入,执行以下命令:
  9. sudo update-grub
    sudo grub-install /dev/sda
    

有时候需要使用LiveCD,比如当grub出现问题时,例如当你遇到"symbol 'grub_file_filters' not found"的情况,就像在https://askubuntu.com/questions/1183951/grub-file-filters-not-found-after-ubuntu-19-10-upgrade中所描述的那样。 - qneill
这种方法对我的情况非常有效(在我删除了Ubuntu-Windows双启动系统上的一个NFTS分区后出现)。 - Youjun Hu
3运行此命令insmod normal后,我收到错误信息:找不到符号`grub_calloc`。 - foba
如果你有一个/boot分区,你需要将前缀设置为该分区上的/grub目录,而不是任何地方的/boot/grub。另外,如果你不知道之前 grub 安装在哪里和什么位置,grub-install步骤的替代方法是检查你安装了哪个软件包(执行 dpkg -l | grep grub 并找到 ii 的其中一个 grub-pcgrub-efi 或其他平台的其他版本),然后只需重新安装该软件包,例如 sudo apt install --reinstall grub-pc - rakslice
@Pavel 不应该是 set prefix=(hd0,2)/boot/grub 而应该是 set prefix=(hd0,msdos2)/boot/grub(同样适用于相应的 set=root 命令)吗? - Timofey

这个问题已经在这里回答了:如何在burg之后重新安装Grub以及论坛上的其他很多地方。
你可以启动Ubuntu安装程序并擦除所有分区,但你也可以通过重新安装GRUB来保存你的Ubuntu和Windows安装。一旦Ubuntu安装程序启动,按下Ctlr+Alt+T打开命令行,然后输入sudo grub-install /dev/sda

请插入您的Ubuntu光盘,重新启动计算机并在BIOS中设置从光盘引导,进入Live会话。如果您以前创建过,也可以使用LiveUSB。 安装并运行"Boot-Repair"。
点击"推荐修复"。 现在重新启动系统。通常的GRUB引导菜单应该出现。如果没有出现,请在引导时按住左Shift键。您将能够选择Ubuntu和Windows之间的选项。
如何安装Boot-Repair:
sudo apt-get install boot-repair 或者
sudo grub-install
(也安装grub)

在救援模式下,你需要:
1. 从Ubuntu光盘启动您的电脑。 2. 在终端中输入以下命令: ``` grub-install /dev/sda update-grub ```

  • 相关问题