安装在单独的启动分区上时不显示 grub

安装在单独的启动分区上时不显示 grub

我刚刚安装了 ubuntu 12.04,使用不同的分区作为 /boot(我不知道我为什么要这样做,我记得在网上读过关于这方面的内容)。问题是,在执行此操作后,grub 不会在启动时显示,因此计算机直接加载到 Windows。我的硬盘上可用的分区如下所示:

  • ubuntu 分区 -> 已挂载 /
  • 交换区域分区
  • ubuntu 启动分区 -> 挂载 /boot
  • 窗户分区
  • Windows 系统保留分区(自动创建)

我应该怎么做才能让 grub 在启动时显示?我在互联网上搜索了此类问题(包括本网站),发现我可以使用 live cd 启动并安装一个名为 Boot-Repair 的程序,然后尝试使用它来解决问题。我还在考虑使用 live cd 启动并从终端使用另一个分区(我想是主 /dev/sda)重新安装 grub。

您觉得如何?这种情况的正确解决方案是什么?也许编辑 grub 配置文件是另一种选择(我不知道具体怎么做,但它应该可行)?

编辑:

由于没有互联网连接,所以我无法安装 Boot-Repair,因此我做了以下操作:

  • 使用实时 CD 启动并进入终端
  • 安装了 ubuntu 安装分区、初始分离的 /boot 分区以及 /sys、/proc、/run、/dev
  • chroot 到 ubuntu 安装
  • 使用 /dev/sda 作为位置重新安装 grub
  • 更新 grub

此时 grub 更新显示检测到两个 linux 映像,一个是免费的 dos,另一个是 windows 系统。我以为一切都没问题,所以我重启了电脑。但是当 grub 出现时,只有两个选项可供选择,免费的 dos 和 windows。

我做错了什么 ?

答案1

尝试这个:

  1. 从 Ubuntu Live CD 启动并按Ctrl+ Alt+进入终端T
  2. 安装 GRUB 并指定启动分区,如下所示:

    sudo mount /dev/sdaN /mnt

    sudo grub-install –boot-directory=/mnt/boot /dev/sda

假设/dev/sda是您的主驱动器,并且N/boot分区号。

如果不起作用,请尝试列出的启动修复方法别处

希望这可以帮助

答案2

我终于成功地修复了靴子,使用启动修复公用事业。

答案3

我还在考虑使用 Live CD 进行启动,然后从终端使用另一个分区(我想是主 /dev/sda)重新安装 grub。

我相信你已经回答了自己的问题。/dev/sda 是驱动器的主引导记录。如果在安装时选择将 GRUB 安装到 /boot 分区 (/dev/sda?),则 Windows 引导加载程序仍保留在 MBR 上。这就是为什么它直接引导到 Windows。安装到 MBR 的任何引导加载程序都是您的 bios 将启动的引导加载程序。将 GRUB 安装到 /dev/sda 并运行后,sudo update-grub所有已安装的操作系统都应添加到 GRUB 菜单中。然后只需重新启动,您的 GRUB 菜单就会自动弹出。

相关内容