我看到过至少三种访问 UEFI 设置的方法。一种是在 PC 启动后按下某个键(通常是 F2 或 F10、F12),另一种是通过 Windows 10 恢复菜单第三个是通过bcdedit 命令。我想启动实时 Linux USB。PC 启动后按 F2(F10、F12)键进入 UEFI 设置并禁用“安全启动”并启用“传统模式”是否足够?据我所知,“安全启动”仅在 UEFI 中有意义,在“传统模式”中没有意义,因此启用“传统模式”可能就足够了。在使用 UEFI 后,Windows 10 是否会出错而无法再次启动?
答案1
我建议不要为了启动 Linux USB 驱动器而弄乱固件设置。目前大多数 Linux 发行版都支持以 EFI/UEFI 模式启动,尽管一些用于创建可启动 USB 驱动器的工具省略了必要的 EFI 引导加载程序。因此,适当的方法是使用支持将 EFI 引导加载程序写入 USB 驱动器的工具。请参阅我的这个页面了解有关此主题的更多信息。
如果你的发行版不支持 EFI 模式启动,你可以添加自己的 EFI 启动加载器来实现。请参阅前一页的父页面,尤其是EFI 引导加载程序安装子页面,了解执行此操作的背景知识。但是,该页面并非专门为想要制作可启动 USB 驱动器的人编写,因此您需要筛选一些不相关的信息(例如efibootmgr
),并专注于使用后备引导加载程序(EFI/BOOT/bootx64.efi
,至少对于 x86-64 系统)。还要注意,如果您的介质必须支持安全启动,则需要使用 Shim 或 PreLoader 作为,bootx64.efi
并使用 GRUB(或其他引导加载程序)作为后续引导加载程序。如果您要启动本身不支持安全启动的发行版,则grubx64.efi
至少需要签名,并且很可能需要签名内核本身及其模块。大多数主要发行版(例如 Ubuntu、Fedora 和 OpenSUSE)都直接支持安全启动,因此对于它们来说,跳过这些额外的环节不是必要的。或者,您可以在固件中禁用安全启动;Windows 将继续在禁用此功能的情况下启动。问题是您将错过安全启动的安全优势。
如果你做启用 CSM 并以 EFI 模式启动 Linux,明确禁用安全启动可能是必要的,也可能不是必要的,这取决于固件的设计。我见过一些在执行 BIOS/CSM/传统模式启动时隐式禁用安全启动的固件,但其他固件要求在启用 CSM 之前禁用安全启动。大多数系统都允许在每次启动时在 BIOS 模式和 EFI 模式启动之间切换,但通常必须访问固件的启动管理器才能执行此操作。我的rEFInd 启动管理器可以使这变得更容易一些;通过取消注释文件scanfor
中的行refind.conf
并添加合适的 BIOS 模式选项(biosexternal
用于 USB 驱动器),rEFInd 可以启动 EFI 模式或 BIOS 模式操作系统。如果您经常需要在硬盘上的 EFI 模式 Windows 安装和 USB 闪存驱动器上的 BIOS 模式操作系统之间切换,那么以这种方式使用 rEFInd 可能是值得的。