使用 UEFI 在不同驱动器上双启动 Windows 10 和 Ubuntu 16.04

使用 UEFI 在不同驱动器上双启动 Windows 10 和 Ubuntu 16.04

我有一个 UEFI 系统和两个驱动器:一个安装了 Windows 10(上面有很多东西,所以我不想重新安装 Windows),另一个我想安装 Ubuntu。

起初我尝试在另一个驱动器上安装 ubuntu,并在使用 ubuntu 时拔下 Windows 驱动器(我只插上了想要安装 Ubuntu 的驱动器,因此我使用“删除所有内容并安装 Ubuntu”选项进行安装),但是当我启动 ubuntu 时它会覆盖 Windows 引导加载程序,而要再次启动 Windows,我必须使用安装驱动器重置引导加载程序,这真的很烦人。

因此,我尝试同时连接两个驱动器,并通过 Windows 引导加载程序进行双重引导(使用 Windows 上的 easyBCD 软件),但使用这种方法,ubuntu 无法引导。因此,我想知道是否有办法让 Windows 通过 grub 引导,同时将两个操作系统安装在不同的驱动器上(如有必要,我愿意重新安装 Ubuntu)。

答案1

选择性地拔掉一个或另一个磁盘是 BIOS 时代一些人使用的技巧,但 EFI 的设计使这种方法变得不那么有用。对于某些计算机来说尤其如此,当发现启动管理器条目不再指向有效的启动加载程序时,它们可能会删除启动管理器条目,当然,当您拔掉它们指向的磁盘时,情况就会如此。因此,我强烈建议在使用基于 EFI 的计算机时不要使用此过程。

我最近听说,EasyBCD 在基于 EFI 的计算机上几乎毫无用处。(话虽如此,我最近没有研究过它,所以它可能已经发生了变化。)请注意,EasyBCD 是用于管理 Windows 引导加载程序和引导管理器(称为 BCD)的第三方 Windows 工具。BCD 本身可以用于链式加载到 Linux 引导加载程序;但是,我对于如何配置它来做到这一点了解甚少。

大多数 Linux 用户在 EFI 下运行 GRUB 2 作为启动管理器;但是,还有其他选项可用,如这个问题及其答案。理想情况下,使 GRUB 2 正常工作的最简单的步骤是:

  1. 安装 Windows
  2. 安装 Ubuntu

Ubuntu 安装程序应该检测 Windows 并将其作为启动选项添加到 GRUB 菜单。更换磁盘、跳过 GRUB 安装而选择其他选项以及其他高级技巧最有可能导致新问题。话虽如此,在某些情况下,您可能希望采取替代方法,例如如果您不喜欢 GRUB 并想使用其他选项。但是,在这种情况下,您应该在开始之前研究该问题。

另外,请注意,Windows 和 Ubuntu 都不应删除对方的引导加载程序。但是,两者都会将自己的引导加载程序(BCD 或 GRUB)放在 EFI 的引导管理器列表中的第一个位置。您可以使用以下命令修改此顺序简易UEFI或者bcdedit在 Windows 中,efibootmgr在 Ubuntu 中,或者在某些(但不是全部)计算机的内置固件配置实用程序中。如果您不了解所有这些部分(固件的启动管理器、BCD、GRUB 以及其他工具)如何组合在一起,您可能会感到困惑。为此,以下是一些建议阅读的内容:

有关如何继续操作的具体建议,如果您现在可以启动 Ubuntu,请尝试启动它(同时连接 Windows 驱动器),然后sudo update-grub在命令行中键入。这将重新运行 GRUB 配置脚本,这应该会导致它检测 Windows 并将其添加到 GRUB 菜单。如果这不起作用,那么您需要更具体地说明什么不起作用——例如,Windows 是否未出现在 GRUB 菜单中,是否出现了但失败了,如果失败了,您看到了什么错误消息(如果有)?

答案2

我刚刚使用硬盘驱动器杂耍双启动了 Windows 10 和 Ubuntu 16.04,这非常容易。确保在 BIOS 中启用了 UEFI(我的 Gigabyte 主板称之为“Windows 8”模式)。假设有两个驱动器,A 和 B:

  1. 在驱动器 A 上安装 Windows 10
  2. 拔下驱动器A
  3. 在驱动器 B 上安装 Ubuntu
  4. 重新插入驱动器 A
  5. 启动(启动到 Ubuntu,没有 Windows 的迹象)
  6. sudo apt-get install grub2(Windows 将被检测并添加到 grub 菜单)

非常简单,无需花哨、文章或理论。更不用说,只需移除任一驱动器并返回单驱动器系统即可。

相关内容