在同一 SSD 中安装 Linux 和 Windows,无需引导加载程序

在同一 SSD 中安装 Linux 和 Windows,无需引导加载程序

我的 SSD (UEFI) 中安装了 W11,我想在它旁边安装 Linux (Kali),但没有任何引导加载程序(当我想要进入 Linux 时,我可以更改 UEFI 中的引导操作系统)(VM 不是一个选项 bc 我需要虚拟机上不可用的硬件访问)。我的目标是保持 W11 作为主要操作系统,并在我使用计算机时立即启动到它,除非我想使用 Linux(在这种情况下,我会进入 UEFI 并从那里启动到 Linux),并且如果可能的话,轻松获得当我不再需要 Linux 时,将其删除。

网上没有太多关于它的信息,我想知道在这种情况下如何完成磁盘分区和 EFIing。

谢谢你!

答案1

网上没有太多关于它的信息,我想知道在这种情况下如何完成磁盘分区和 EFIing。

我很惊讶你在网上没有找到太多关于这方面的信息。由于您已经知道 UEFI 这个术语,也许这个术语可以为您带来双启动的良好结果。

我非常确定双重启动的主题经常出现在 U&L 上,因此尽管我的搜索一片空白,但这可能会因为重复而被关闭。


磁盘分区只是将现有分区缩小到足以为新分区腾出空间以安装第二个操作系统的问题。请勿尝试移动或缩小 EFI 分区。您只需要其中之一,但移动它们并不总是安全的。

有一些工具可以为您执行此操作(在缩小分区之前调整文件系统的大小),并且一些 Linux 安装程序可以帮助您完成此操作。


当我们使用“传统”MBR 引导时,这种类型的双重引导很困难,主板只会从磁盘开头加载几 KB 并将其作为程序运行。

通过切换到 UEFI,主板现在可以自行读取 FAT32 文件系统,并可以运行 PE32 格式程序(与 Microsoft EXE 格式相同)来启动操作系统。该程序通常是引导加载程序(甚至 MS Windows 也有一个)。

因此,使用 UEFI,您可以安全地并排安装两个操作系统,它们只是将不同的引导加载程序保存在同一 EFI 分区上。这让固件可以选择启动什么。


安装Linux时要注意,大多数发行版还没有让你自己完全配置EFI,并且他们喜欢自行配置它。

这意味着操作系统分支有时可以将其 EFI 文件命名为相同的名称。例如,Mint 和 Ubuntu 在我上次尝试时遇到了问题。 Kali 与 Ubuntu 也可能有问题。

由于您希望 Kali 与 MS Windows 一起使用,因此这种风险非常低。


您还提到想要在没有引导加载程序的情况下执行此操作。我不能代表 Kali,我不使用它,但它可能会默认尝试在 EFI 中安装引导加载程序。

如果你愿意,你可以尝试一下EFISTUB。这使得内核在使用 EFI 时充当其自己的引导加载程序。 Arch Linux 有一个合理的维基页面关于这个话题。

答案2

  1. 备份EFI系统分区
  2. 安装Linux
  3. 启动进入 Linux。使用efibootmgr设置 Windows 作为默认操作系统。这可以从 EFI 设置内部完成(例如 BIOS 设置、F2/F8/F11 等)。

卸载 Linux 后,恢复 EFI 系统分区备份或简单地恢复{EFI_SYSTEM_PARTITON}/EFI/Boot/BOOTX64.EFI许多发行版覆盖的文件。

正确的 Linux 发行版不会覆盖此文件,因此要完全删除任何已安装的 Linux,您只需删除该{EFI_SYSTEM_PARTITON}/EFI/Linux_name目录即可。

相关内容