当前位置: 首页>>技术教程>>正文


grub2 – 如何将 Ubuntu 的条目添加到 Windows 7 启动菜单?

, ,

问题描述

我有以下设置:

第一个分区是 windows 7 分区\n第二个分区 – ubuntu 12.04 分区

在安装 ubuntu 时,我将 grub2 bootloader 安装到 ubuntu 分区

mbr 包含 Windows 引导程序

我尝试使用 EasyBCD 将条目添加到 Windows 启动菜单,但没有成功 – 这个条目只是启动到 grub4dos 命令提示符

如何将 Ubuntu 添加到 Windows 启动菜单?

请不要建议将 grub2 安装到 mbr 或 wubi ..


更新:

我按照说明安装 EasyBCD 并在 Windows 启动菜单中添加一个条目以逐步启动 Ubuntu。当我重新启动 NeoGrub Bootloader 和 Ubuntu 菜单项时,我会进入下面的屏幕。

最佳答案

下面概述了对我有用的程序。

您是否在步骤 (3) 中执行了 NeoGrub 引导加载程序的安装?如果安装了 NeoGrub,那么您的 C: 驱动器上将会有一个 \\NST 文件夹。

我认为设置 EasyBCD 的指南有时会忽略此步骤。

使用 EasyBCD 从 Windows 启动菜单启动到 GRUB

  1. 启动 Windows 并安装 EasyBCD 的免费版本。

  2. 打开 EasyBCD 程序并从左侧边栏中选择添加新条目。

  3. 选择 “Operating Systems” 下最右侧的选项卡 NeoGrub,然后单击 Install 按钮。\n\n注意:这会将 NeoGrub 引导加载程序代码添加到 C:\\ 文件夹中。如果安装正常,您将看到文件 C:\\NeoGrub 和文件夹 C:\\NST

  4. 选择 Linux/BSD 选项卡。选择 GRUB2 作为条目的类型,并且可以选择编辑您将要添加到 Windows 启动菜单的\n条目的名称。\n\n单击 Add Entry 按钮添加一个条目以启动 Linux(GRUB 菜单)到Windows 启动菜单。

  5. 从侧边栏中选择 Edit Boot Menu 以查看您的更改。\n\n注意:如果您愿意,您可以删除 NeoGrub Bootloader 的条目。\n您需要 bootloader,但不需要启动菜单条目,除非您正在使用它以其他方式。

  6. 保存更改并重新启动。当 Windows 启动菜单出现时,选择您添加的用于启动 Linux 的 EasyBCD 条目。您应该会看到类似于以下文本的内容。\n\n然后应该会出现 GNU GRUB 引导菜单。

次佳答案

这个周末我刚刚作为一个 Linux 新手经历了这个,并且刚刚(!)让它工作了。我在笔记本电脑上安装了 Windows 7 出厂设置,并试图让 Ubuntu 进行双启动。我使用 Windows 分区管理器来释放一些硬盘空间,然后使用 live CD 和 GParted 创建 /、/home 和交换逻辑分区。然后我将 Ubuntu 安装到这些分区中。然后我回到 Windows,运行 EasyBCD 和我尝试的每一种方式(见上面的线程建议),总是以 grub> 结束。命令提示符,有时什么都没有。

首先要做的是检查你是否可以使用 grub>命令提示符实际启动到您的 ubuntu 安装。这将使您确信安装工作正常,并会告诉您以后要使用哪些设置。

“ls” 将为您提供您所在位置的列表。对我来说,这似乎是我的 Windows 7 C 驱动器,它来自它带来的一些目录名称。因此,您需要将根目录更改为包含 Ubuntu 的 /boot 文件的分区。为此,您使用 grub “root” 命令。

Grub 不将 sda/b/c/d 用于 sata 硬盘,而是将 hd0 用于 sda,将 hd1 用于 sdb 等。’tab_key’ 在 grub 中用于自动完成选项。我只有一个硬盘,所以输入“root (hd0,’tab_key’”给了我所有可用的 hd0 分区选项。如果你知道你已经将 /boot 安装到哪个分区,这将有所帮助,但即便如此,它也不是太直观。我使用 GParted 创建我的安装分区,所以知道我已经将 /boot 安装到分区 sda9 中,因此能够相对容易地识别它。有点混乱,因为 grub 从 4 开始计算扩展分区。获得 grub 的方法获取我的 /boot 分区是通过键入“root (hd0,8)”,即比 sda9 数字小一。执行 “ls” 果然,我可以在根目录中看到 /boot 目录一个 vmlinuz 文件和一个 initrd.img 文件.

接下来要做的是加载内核和 initrd 文件。内核是让我感到震惊的一个,因为您需要在正常的 linux 术语中指定根作为命令的一部分。虽然实际的内核和 .img 文件在 /boot 中,但它们的名称很长。在根目录中有指向它们的指针,可以节省准确的输入。这是我输入的所有内容,包括上面的 root 命令:

root (hd0,8)

kernel /vmlinuz root=/dev/sda9

initrd /initrd.img

boot

这样做使我的 Ubuntu 启动并让我确信它已安装好。现在我只需要弄清楚如何自动化它。这让我回到了 Win7 上的 EasyBCD。单击以添加一个新条目(我留下了带我去 grub 的原始条目),然后选择了 NeoGrub 选项卡并单击了安装。之后,我单击了配置,这带来了一个 menu.lst 文件。我在 grub 命令行上添加了上面使用的所有行,以使其启动,仅此而已。下次我重新启动时,我选择了 NeoGrub,我从 ubuntu 中输入了这一切,与 Win7 的持续延迟圈相比,它看起来很棒而且速度很快。

我整个周末都在使用的链接….

http://www.linuxbsdos.com/2012/05/17/how-to-dual-boot-ubuntu-12-04-and-windows-7/2/

http://www.dedoimedo.com/computers/dual-boot-windows-7-ubuntu.html

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/13167.html,未经允许,请勿转载。