如何在现代 PC(没有软盘控制器的主板)上以 pxe 方式启动 MS DOS 7.x / 8.x,而无需使用外部 USB 软盘驱动器?
MS DOS 6.22 及更早版本或其他版本 pxe 可以在无软盘的硬件上正常启动。但 DOS 7.x 和 8.x 在启动时会出现错误:“输入命令解释器的名称(例如,C:\WINDOWS\COMMAND.COM)”
我在研究期间读到过一个不太为人所知的错误,由于无软盘控制器硬件的出现,该错误开始变得越来越常见。
在某些硬件(依赖于 BIOS)上,可以在启动前将 USB 软盘驱动器插入计算机(但这也可能要求它是“金色软盘驱动器“(当时他们是这样称呼的)”。
从一个俄罗斯网站(我大约一年前读过,但找不到超链接)MS-Dos 版本 >6.22 在初始化期间进行了某种软盘驱动器重置,因为它无法连接到软盘主机,因此出现错误。
我该如何解决这个问题(没有物理外部 USB 软盘)?
是否有某种虚拟软盘驱动程序可以解决这个问题(例如在 DOS 映像加载之前加载)?
或者有人可以给我指出正确的方向(甚至是一个十六进制地址和一些进一步的解释或者别的什么)?
顺便说一下,我正在使用 syslinux + memdisk,但我在一些 Symantec 和 HP LAN 映像论坛上也看到了这个错误(通常通过获取和使用 DOS6.22 来解决)。
编辑:
完全忘记了两年前我在评论中发过一个链接(现在已经失效了),但它仍然在档案!! 引用:
- 问题/症状:
通过 PXE 启动菜单或托管启动进行映像时,命令解释器损坏或丢失。
输入命令解释器的名称
错误:缺少命令解释器- 原因:
机器没有软盘控制器或 BIOS 中禁用了软盘控制器。Windows
98 DOS 需要软盘控制器。- 修复:
如果机器有软盘控制器,请在 BIOS 中启用它。
如果机器没有软盘控制器,请下载随附的补丁 PXE 4.03a 并按照以下说明操作
答案1
为什么不采用经典的 pxelinux/memdisk 方法?
标签 1
菜单标签 Dos
内核 memdisk
附加 initrd=DOS.img
编辑
memdisk 能够模拟 HDD、CD、软盘等,有时它可以很好地分析您的图像并检测您想要挂载的内容,有时您必须通过命令行来说明。
对于 DOS 磁盘只需使用
附加 initrd=DOS.img
或者
附加 initrd=DOS.img edd
或者
附加 initrd=DOS.img 软盘
memedisk 上解释了这些差异页它们基本上强制采用不同的模拟模式。
IE预计出生日期= 软盘增强磁盘驱动器服务的仿真
当他们说“Windows 98 DOS 需要软盘控制器”时,事实并非如此;在这个级别上,除了 BIOS int 13h 之外,没有人接触软盘控制器;这个中断是 memdisk 模拟的。不同的模式会影响 int 13h 的返回值,ah=15h -> 获取驱动器类型
答案2
过去 5 年内,几乎每台机器都支持内置 PXE - 当机器不支持内置 PXE 时,只需要 PXE 启动盘,因此磁盘将模拟环境。
在 BIOS/EFI 中查找“网络启动”,看看是否可以启用它...有时您需要在启动期间按下F11或F12(但它可以更改)。
答案3
如果您收到了对 COMMAND.COM 的请求,则看起来 IO.SYS 正在正常加载。
因此,请确保有一个 CONFIG.SYS 文件,该文件定义 COMSPEC 指向 COMMAND.COM 文件,无论 COMMAND.COM 隐藏在哪里。
我不确定这是否能回答您的所有问题,但至少能回答您的一个问题。