FreeDOS .img通过 balena 蚀刻机刻录到 USB 驱动器。
仅 UEFI的桌面无法识别用于引导的 FreeDOS USB 记忆棒。BIOS 笔记本电脑上的 USB 启动测试表明传统启动成功。
问题
- UEFI 可启动需要什么?
- 是否可以将分区表从 MSDOS 更改为 GPT?
更新
戴尔 7010 台式机固件很旧并且出于某种原因:只有 UEFI 引导。Legacy 引导选项显示为灰色。无法从 DVD/CD 引导
目标是使用此链接提供的 DOS 可执行文件更新固件:
https://www.dell.com/support/home/en-us/drivers/DriversDetails?driverId=5M70H
FreeDOS 采用 BIOS,并且不适用于 UEFI
FreeDOS wiki 页面wiki.freedos.org/wiki/index.php/UEFI告诉我们它不起作用:
今天(2021 年)几乎所有的 UEFI 系统也可以在 BIOS 模式别名 CSM 别名传统模式下启动。但我们可以预期,未来许多 PC 计算机将配备仅在 UEFI 模式下启动的 UEFI/BIOS 系统。
运行 FreeDOS 的一种解决方法是将其安装在虚拟机中并将此虚拟机设置为以 BIOS 模式别名 CSM 别名传统模式引导。您可以为此目的使用 VirtualBox。(但您不能以这种方式刷新计算机的 BIOS。)还有DOSBox,一个带有 DOS 的 x86 模拟器。
编辑 1:
我找到了这个链接,这可能会有所帮助:
wiki.archlinux.org/index.php/Flashing_BIOS_from_Linux
编辑 2:
从 Windows PE 刷新 BIOS
也可以在 UEFI 模式下运行 Windows PE 。标准程序是使用您自己或朋友的 Windows 10 系统在 USB 随身碟或 CD/DVD 磁盘中创建 Windows PE 系统。
从 Windows PE 启动时,您可以刷新 BIOS。
根据此链接,它可以重新分发用于非商业目的(因此可以使用在朋友的 Windows 系统中制作的 Windows PE)。
如果我没记错的话,传统启动通常是灰色的,因为在另一个菜单页面中启用了“安全启动”。禁用后,使用 Legacy Boot 的选项变为可用。
此信息也可在 DELL 常见问题解答中找到,网址为:
https://www.dell.com/support/kbdoc/en-bb/000133480/uefi-and-secure-boot-faqs
我们需要(据我所知)来支持这一点,实际上是在 UEFI 引导加载程序中内置的 BIOS 实现。(即所有常用的 BIOS 中断 API)
因此,您通过 UEFI 启动 BIOS 代码(或至少是相当完整的 CSM),然后启动DOS。MBR 可能仍然存在问题,并且只能引导 x64。降到 16 位模式是极其困难的,更不用说在那之后添加一个 32 位 DOS 扩展器,一旦你跳到 x64 模式......而且(我相信)在 IA-64 中是不可能的。这就是 UEFI 要解决的部分问题,也是为什么 EFI长期以来一直是 x86/64 系统以外的所有问题的解决方案。(它需要“通用”扩展从 EFI 到 UEFI,然后才能在 [坦率地说,PIFA] 平台上使用它)
但是,如果没有 IA64,我认为可以使用虚拟化技术和异常处理程序来“模拟”问题指令。任何会出现这些问题的系统也将拥有如此多的马力,以至于额外的步骤(和昂贵的上下文切换)对于操作系统开发人员来说比用户更令人头疼。
请记住,我们将开源 BIOS 代码内置到各种 VM 解决方案中,包括 QEMU 和 VirtualBox。只是他们希望操作系统具有可用硬件的驱动程序,而您唯一可用的操作系统将是 UEFI 固件。
作为一种替代策略:-
您可以安装 Linux 系统并在 KVM 下运行 freeDOS,尽可能多地使用 PCI 直通硬件。使用当前的软件技术应该可以工作.. ?请记住,DOS确实适用于 ISA 系统,而不是 PCI 系统。