来自 freedos 的 Bootx64.efi 来修改 bios

来自 freedos 的 Bootx64.efi 来修改 bios

我有一个 USB 闪存驱动器,我在上面使用了 Rufus 并在其上安装了 freedos(FAT32)。我在驱动器 EFI\BOOT 中创建了一个文件夹,文件 bootx64.efi 位于目录 BOOT 中。我进入我的 bios,然后从我的闪存驱动器启动(禁用安全启动并以正确的优先级启用旧版)。成功了,现在我将目录更改为 EFI\Boot 并检查 bootx64.efi 是否在其中。确实有。我在文件上输入并按回车键(多次检查拼写和大写),然后我得到了错误的命令或文件名 - “BOOTX64.EFI”我需要运行它,这样我就可以更改一个地址,让我可以热插拔我用于 eGPU 的 mpcie 端口,这样我就可以使用它了,因为 1050 Ti 发布时没有允许您使用 mPCIe 设置的驱动程序。我尝试使用 980 Ti,它实际上是即插即用的,无需进行任何修改。如果问题不太清楚,我很抱歉,如果需要,我很乐意提供更多信息,谢谢!我也了解弄乱和损坏笔记本电脑的后果。

答案1

文件名EFI\BOOT\bootx64.efi后备文件名用于 (U)EFI 引导加载程序。(这些引导加载程序通常驻留在不区分大小写的 FAT 文件系统上。)此文件通常会保存 GRUB、Windows 引导加载程序、EFI shell 或其他 EFI 工具的副本。

听起来你正在尝试bootx64.efi从 DOS 运行。除非 FreeDOS 最近发生了一些变化,否则 EFI 程序无法从 DOS 运行,而 DOS 程序也无法从 EFI 运行。因此,你的方法行不通;在 Windows 中运行 macOS 程序的运气也一样差。

我不太明白你对这个程序的解释。如果它是一个 EFI 程序,那么你可能需要做以下两件事之一:

  • 运行一次-- 如果程序需要运行一次(比如更新固件,虽然你的描述听起来像是不是如果它正在做什么),那么您可以通过多种方式执行此操作。最简单的方法可能是将程序复制到 USB 闪存驱动器上的 FAT 文件系统中EFI\BOOT\bootx64.efi。然后您应该能够“启动”USB 闪存驱动器来运行该程序。运行它的其他方法是启动 EFI shell(通过复制EFI 外壳程序文件到 USB 闪存驱动器并“启动”它)或者在您用来启动程序的任何启动管理器中创建一个条目。
  • 将其集成到你的启动过程中-- 如果每次启动时都需要运行该程序,那么您的任务就比较棘手,因为您必须将其集成到您的正常启动过程中。具体如何执行此操作取决于您正在运行的操作系统和您正在使用的启动管理器。您可能需要将启动过程更改为通过 EFI shell 启动,并使用脚本startup.nsh启动您尝试运行的程序,然后启动常规的引导加载程序或启动管理器。如果有问题的文件是驱动程序,那么我的rEFInd 启动管理器应该能够让您在每次启动时自动启动它。如果程序需要在每次启动时运行,我需要更多详细信息来提供更好的建议——但在这种情况下,我希望程序的作者提供这样的说明。

另一方面,如果该程序是 DOS 程序,那么启动到 FreeDOS 并在那里运行它是有意义的,但将其重命名为则bootx64.efi完全没有意义。我怀疑情况并非如此,因为您找到的任何运行 DOS 程序的合理说明都不会包括这个奇怪的步骤。不过,如果它是 DOS 程序,您应该保留其原始文件名(可能以.com或结尾.exe)并以此方式运行它。话虽如此,在基于 EFI 的计算机的正常启动过程中运行 DOS 程序是不可能的,或者至少非常棘手。您仍然可以使用 DOS 程序进行永久性更改(如升级固件)。

相关内容