从 12.04 更新到 14.04 后,启动(可能是 MBR)出现问题

从 12.04 更新到 14.04 后,启动(可能是 MBR)出现问题

现在,在您告诉我使用搜索功能解决此(常见)问题之前 - 我已经为此工作了 5 个小时,但没有找到(接近)解决方案。

这就是确切的问题:昨天将我的 12.04 更新到 14.04 后,启动时出现了 GRUB 救援提示。所以我做了以前遇到启动问题时经常做的事情(每次都成功了,直到昨天!):我安装了一个实时 USB 设备并运行,boot-repair但这次情况变得更糟:我的 BIOS 现在甚至无法识别硬盘(SATA)作为可启动设备。

使用不同的设置再运行boot-repair几次也没有用。然后我搜索了所有论坛和 wiki,了解如何手动安装 grub,结果如下:

  1. 启动实时系统
  2. 挂载“损坏”的系统,特别是 /sys、/proc 和 /dev 目录
  3. chroot 进入此系统
  4. (重新)安装正确的 grub 包(对我来说是 grub-efi-amd64)
  5. 跑步update-grub
  6. 退出 chroot
  7. 重启

但这仍然导致我的硬盘无法被识别(并因此出现“未找到操作系统”错误)

。分区如下:

/dev/sd?
  /dev/sd?1: 94MB, flags: boot, fat16
  /dev/sd?2: 2GB, linux-swap
  /dev/sd?3: ~260GB, ext4, the rest of the ubuntu 14.04

就我天真的看法而言,我一直认为它的工作方式如下:

  1. 我的 BIOS 看到了硬盘和带有启动标志的分区
  2. bios(对我来说,efi 或 legacy 都无所谓,只要能用就行)会在那里启动 grub
  3. Grub 从第三个分区加载 linux 内核

我坚持使用单独的启动分区,因为——正如我所说——这不是我第一次遇到 GRUB 的大问题。单独的分区让我更容易解决问题。

我当然会提供任何必要的信息。提前谢谢!

答案1

grub-install需要运行 ,而不是update-grub,它只会重建菜单。由于您似乎正在使用 efi,因此在 chroot 进入根分区之前,您还必须在 /boot/efi 中安装 efi 系统分区。

答案2

我上面发布的程序在细节上并不正确。我认为这仅适用于 (U)EFI 启动:

  1. 启动实时系统
  2. 挂载“损坏”的系统,特别是 /sys、/proc 和 /dev 目录
  3. 如果要使用单独的启动分区,请将其挂载到 /boot/efi
  4. chroot 进入已安装的系统
  5. (重新)安装正确的 grub 包(对我来说是 grub-efi-amd64)
  6. 使用grub-install --force启动分区作为参数运行(例如grub-install /dev/sdb1
  7. 运行更新-grub
  8. 退出 chroot
  9. 重启

相关内容