![为什么我无法在任何地方加载 EFI shell?](https://linux22.com/image/1486021/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E6%97%A0%E6%B3%95%E5%9C%A8%E4%BB%BB%E4%BD%95%E5%9C%B0%E6%96%B9%E5%8A%A0%E8%BD%BD%20EFI%20shell%EF%BC%9F.png)
所以我最近发现我有 EFI 而不是 BIOS,并尝试了不同的 .efi 程序来查看哪一个程序我想要完整的功能。
从我使用过的 3 个引导加载程序中,我收到错误 ASSERT_EFI_ERROR(状态 = 设备错误)并尝试了一切方法来进入 shell。
我可以使用闪存驱动器中的 Clover 进入 UEFI shell,但这很不方便。由于 Clover 仍然是我硬盘上的选项之一,它显示我有 EFI 修订版 2.0 和固件 Phoenix Technologies 修订版 3354。然后我从闪存驱动器加载了 Clover,在信息中我有 EFI 修订版 2.50,我的固件是 CLOVER 修订版 3354。USB 格式化为 MBR,我的硬盘是 GPT。
我只是想知道如何进入不太过时的 EFI shell。我使用过的每个下载都给了我ASSERT_EFI_ERROR (Status = Device Error)
。
答案1
2.0 版 EFI 不太可能与 2.0 版 EFI shell 配合良好;您可能需要 1 版 EFI shell。这可能是您问题的根源,但我不能确定。Arch Linux wiki 提供了几个 EFI shell 变体的便捷下载链接:
https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#Obtaining_UEFI_Shell
根据您使用的启动管理器,EFI shell 二进制文件的理想位置和文件名会有所不同。您可能还需要明确创建 EFI shell 条目,就像您需要为 OS 创建条目一样。如果 Clover 保持与其 rEFIt 祖先一样,它将在EFI/tools
ESP 中查找 EFI shell 二进制文件。我自己的 rEFInd(另一个 rEFIt 分支)也在那里查找。对于 rEFInd,它应该被称为shellx64.efi
或shell.efi
(在 x86-64/AMD64/x64 系统上)。我不记得 rEFIt 是否使用了这两个名称或只是shell.efi
。