SSD 和 HDD 双启动

SSD 和 HDD 双启动

我有一块固态硬盘,里面安装了 Ubuntu 20.04;还有一块硬盘,里面安装了 WINDOWS 操作系统。我使用的是 HP 笔记本电脑,内存为 12 GB。所以我想知道如何管理双启动,比如在需要时可以切换操作系统供我使用?我主要使用 Ubuntu,但有时也需要 Windows。固态硬盘大小为 240 GB,所以我不想在其中安装 Windows。

谢谢

答案1

对此有几种方法。

您可以使用 BIOS 启动菜单来选择操作系统。

您可以在主启动驱动器上的 UEFI 分区中安装两个操作系统的引导加载程序,然后执行以下操作之一:

  • 使用 UEFI 启动选择器(如 refind)在已安装的操作系统之间进行选择
  • 使用 linux grub 在 windows 或 ubuntu 之间进行选择
  • 使用工具将 Linux 添加到 Windows 启动菜单

最简单的方法是使用 grub 来选择,但这需要在与 windows 引导加载程序相同的 UEFI 分区中安装 linux 引导加载程序,并且可能在 grub 默认选项中启用 windows 检测。

答案2

现代基于 EFI 的计算机在启动选项方面比旧式基于 BIOS 的计算机灵活得多。在 BIOS 下,您可以选择默认启动磁盘,有时也可以选择非磁盘设备(如网络启动选项),但仅此而已。在 EFI/UEFI 下,启动加载程序是存储在磁盘文件中的程序,因此一个磁盘可以包含多个启动加载程序,您可以设置尝试它们的顺序。虽然大多数 EFI 都提供“启动磁盘”选项,但这指的是旧式 BIOS 风格的启动(使用称为兼容性支持模块或 CSM 的东西,这很可能不适用于您的情况);或使用“后备”文​​件名启动(EFI\BOOT\bootx64.efi在 x86-64 系统上)。这个问题揭示了启动过程的 BIOS 风格思维,但在处理 EFI 模式启动时,这可能会让人误入歧途。

在双启动 Windows 和 Ubuntu 的正确配置的计算机中,可能至少有两个启动项,每个操作系统一个,并且可能还有其他系统特定的启动选项,用于后备启动加载程序、内置工具等。您可以使用该efibootmgr工具查看 Linux 中的启动选项,因此:

$ sudo efibootmgr
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0009,0006,0007,0008,0001,0002,0003
Boot0000* ubuntu
Boot0001* UEFI:CD/DVD Drive
Boot0002* UEFI:Removable Device
Boot0003* UEFI:Network Device
Boot0006* UEFI OS
Boot0007* Hard Drive
Boot0008* CD/DVD Drive
Boot0009* Windows Boot Manager

在此示例中,Boot0000(aka ubuntu) 在启动顺序中排在第一位,而Boot0009(aka Windows Boot Manager) 在启动顺序中排在第二位(尽管它位于启动项列表的底部)。您可以通过-vefibootmgr命令中添加来查看更多详细信息,但额外的信息需要一些知识才能解析。

大多数操作系统在安装时都会将自己的引导加载程序设置为默认引导加载程序。这一事实具有重要意义,因为某些操作系统的引导加载程序比其他操作系统更能检测到其他操作系统的存在。双启动 Ubuntu 和 Windows 的最简单方法是先安装 Windows,然后安装 Ubuntu;Ubuntu 的 GRUB 2 安装脚本通常会检测 Windows 并将其添加到 GRUB 2 启动菜单中。如果这不起作用或者您以其他顺序安装,您可以采取许多步骤来解决问题,但我不能确定哪些步骤对您有用。选项包括:

  • 安装我的rEFInd 启动管理器,它会在每次启动时扫描其他操作系统的引导加载程序。您可以在 Ubuntu 中输入 来安装它sudo apt install refind
  • 如果efibootmgr显示 Windows 是启动顺序中的第一个,您可以使用选项 更改启动顺序-oefibootmgr如上sudo efibootmgr -o 0,9,6,7,8,1,2,3例所示(如果 Windows 是第一个)。请注意,您输入的确切数字将是极其系统特定!另外,您可能只需要第一个或两个数字;其他数字的存在是为了防止第一个数字不起作用。
  • 如果您先安装了 Ubuntu,然后安装了 Windows,则efibootmgr可能需要使用 重置启动顺序,但这还不够;您还需要将 Windows 添加到 GRUB 2 配置中。这通常可以使用 来完成sudo update-grub。如果这不起作用,那么您将进入高级 GRUB 配置,这很麻烦。安装 rEFInd 可能更容易,但我有偏见。(我维护 rEFInd。)
  • 如果调整启动顺序efibootmgr没有产生永久效果,那么你可能正在考虑启动政变,这可能很难修复,如链接页面所述。确定启动失败的原因很重要——Windows 是否在每次启动时都将自己重置为默认设置?您的 NVRAM 是否不稳定?GRUB 是否失败并退出,导致 EFI 改为启动 Windows?UEFI 固件是否有问题?每个原因的最佳解决方案都不同。

相关内容