在 Windows 10 上安装两个 Linux 发行版

在 Windows 10 上安装两个 Linux 发行版

在我的内置硬盘中,我以双启动模式安装了 Windows 10 和 ubuntu 15.10。但每当我尝试安装另一个 Linux 发行版(在我的情况下是 Mint)时,ubuntu 引导加载程序就会失败,我必须一直插入硬盘,以便引导加载程序检测所有已安装的操作系统。在外部硬盘中安装时,我总是将引导加载程序安装在外部硬盘中。我的启动模式是 UEFI。启动优先级是 ubuntu。如何在外部硬盘中安装 Mint,以便它不会与我之前在内置硬盘中安装的 Windows 10 和 ubuntu 混淆?

答案1

简短回答:BIOS 和 EFI 的启动方式截然不同。您是从 BIOS 的角度来思考的。

长版本:在 BIOS 中,引导代码驻留在磁盘的引导扇区中,然后位于各种后续位置。通常,操作系统的引导加载程序与操作系统的主文件位于同一物理磁盘上。因此,您可以通过插入一个或另一个磁盘来控制引导过程。

在 EFI 下,引导加载程序作为普通文件存储在名为EFI 系统分区 (ESP)。ESP 可能与操作系统位于同一物理磁盘上,也可能不位于同一物理磁盘上。您还可以拥有多个 ESP - 每个磁盘一个,一个磁盘上两个,另一个磁盘上一个,等等。计算机知道要使用哪个引导加载程序,因为该信息存储在 NVRAM 中。如果您拔下磁盘,NVRAM可能清除对该磁盘上的引导加载程序的引用。(此行为是一些EFI,但不是全部。)当您安装新操作系统时,它通常会将其引导加载程序放在 ESP 中,并将其设为默认引导加载程序。哪个 ESP?好问题!除非您了解并正确控制该过程,否则它可能也是随机的。

GRUB 使情况更加复杂,因为它依赖于不需要位于 ESP 上的配置文件。在 Ubuntu 和 Mint 中,GRUB 配置文件位于 Linux 目录中/boot/grub。如果此目录与 ESP 位于不同的物理磁盘上,并且如果您拔下该磁盘,GRUB 将失败,出现提示grub>并且通常无用。您不清楚 GRUB 的故障状态,但听起来就是这样。

在 EFI 下,可以使用名为efibootmgr—— 的 Linux 程序来更改默认启动程序,键入sudo efibootmgr以查看可用的启动程序(或sudo efibootmgr -v获取更多详细信息),然后使用选项-o对它们进行重新排序,如sudo efibootmgr -o 3,5,0

综合以上所有情况,您很可能会在内部磁盘的 ESP 上安装 Ubuntu 的 GRUB,而其配置文件位于外部磁盘上。您可能已经能够通过使用efibootmgr切换回 Mint 的 GRUB 来纠正这个问题——但由于 Mint 基本上是添加了位的 Ubuntu,Ubuntu 的 GRUB 很可能覆盖了 Mint 的 GRUB,所以这可能不起作用。使用 Boot Repair 可能恢复了 Mint 的 GRUB 对计算机的控制,并将 Ubuntu 添加到 Mint 的 GRUB 菜单中。

另一个选择是安装另一个没有 GRUB 跨分区依赖关系的引导加载程序。我自己的重新索引在您遇到的情况中尤其有用,因为它会在每次启动时扫描引导加载程序和内核。因此,如果您要在内部磁盘的 ESP 上安装 rEFInd,它将仅在您的 Ubuntu 磁盘插入时检测 Ubuntu 的内核。拔下该磁盘后,Ubuntu 内核选项将从菜单中消失。(可能有一个单独的选项用于启动 GRUB,它可能有一个 Ubuntu 图标。)

答案2

您所要做的就是设置 grub2。以下是说明。

制作一个可启动 ubuntu 的 usb 或 dvd。
插入并启动。现在进入Try Ubuntu
现在打开终端并输入sudo su以获取 root 权限。
现在在终端中输入以下行,您可以直接复制粘贴以下行。

添加 apt 存储库 ppa:yannubuntu/boot-repair
apt-get 更新
apt-get 安装 boot-repair

并通过在终端中输入来启动它boot-repair

选择第一个推荐的选项

相关内容