双启动 arch linux:第一次重启后无法启动到 arch

双启动 arch linux:第一次重启后无法启动到 arch

我使用的是联想 ideaPad s940-14WL。我使用 arch wiki 指南在 windwos 上安装了 arch,但在第一次重新启动系统后,它直接启动到 windows,并且 grub 启动项消失了。我无法启动回我的 arch 安装,当我尝试使用 Manjaro 双启动以及使用 grub 以外的其他引导加载程序时也发生了这种情况。我使用以下行安装了 grub: grub-install --target=x86_64-efi --efi-directory=/efi/ --bootloader-id=GRUB

我有以下分区:

dev/nvme0n1p1  - efi System for windows and arch 
dev/nvme0n1p2  - Microsoft reserved
dev/nvme0n1p3  - Microsoft basic data 
/dev/nvme0n1p4- windwos recovery environment
dev/nvme0n1p5 - linux swap 
dev/nvme0n1p6 - linux file system 

efibootmgr -v 输出:

BootCurrent: 0094
Timeout: 0 seconds 
BootOrder : 0094 , 0014 , 0017 , 0095 , 0097 , 0096 
Boot0010 Setup FvFile
Boot0011  Boot Menu 
Boot 0012 Diagnostic splash
Boot0013 Regulartory Information 
Boot014* USB FDD:
Boot0017 USB CD:
Boot0096* NVMe venMSg
Boot0098* USB HDD:
Boot0099* USB LAN:

我也尝试使用此命令安装带有可移动参数的 grub: grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB --removable 但是当我使用它时,它甚至没有创建启动项。我在这里做错了什么吗?

提前致谢 :)

答案1

不会使用 创建任何条目,这是很正常的--removable,因为这正是它的要点——依赖于“可移植”路径,而不是注册 EFI 可执行文件的“自定义”路径。

如果它仍然不能(很好地)工作,这可能是因为一些/许多 UEFI 固件会/EFI/Microsoft/Boot/bootmgfw.efi在某些情况下/一直(重新)优先考虑 Windows 启动管理器()。

在这种情况下,您可能希望使用/EFI/Boot/bootx64.efiWindows 启动管理器和/EFI/Microsoft/Boot/bootmgfw.efigrub。它将要求您编写自定义 grub 条目/grub.cfg(这实际上很容易,在我看来每个人都应该这样做),但它仍然不能很好地工作(因为 Windows 会不时覆盖“现在真正的 grub”),但我想您必须使用较差的 UEFI 固件。

答案2

您也可以考虑不使用引导加载程序进行引导。如果您进入 UEFI shell,则可以从一行脚本 (startup.nsh) 进行引导。或者您可以从 shell 调用 grub efi。

要使用 UEFI Shell,请查看 Arch Wiki:https://wiki.archlinux.org/title/Unified_Extensible_Firmware_Interface#Obtaining_UEFI_Shell

相关内容