![如何创建自定义的可启动 MS-DOS ISO 映像?](https://linux22.com/image/1535827/%E5%A6%82%E4%BD%95%E5%88%9B%E5%BB%BA%E8%87%AA%E5%AE%9A%E4%B9%89%E7%9A%84%E5%8F%AF%E5%90%AF%E5%8A%A8%20MS-DOS%20ISO%20%E6%98%A0%E5%83%8F%EF%BC%9F.png)
正如所述这个问题,我使用 WinSetupFromUSB 成功创建了一个可多启动的 USB,它可以启动到 MS-DOS 6.22 - 以及其他版本 Windows 的安装程序 - 但无法访问 USB 根目录上我需要的任何可执行文件。
为了解决这个问题,我现在尝试将我需要的可执行文件与原始 DOS 6.22 启动盘 ISO 打包在一起找到这里创建一个包含我需要的所有内容的新 ISO。
为此,我使用 WinRAR 从原始启动盘 ISO 中提取了所有 40 个文件。然后我打开了 ImgBurn 的构建模式,并选择了 40 个 DOS 文件和我的可执行文件作为源,总共 57 个文件。
我下载了 DOS 6.22 的启动软盘/磁盘映像(Dos6.22.img
)从这里,并在高级 > 启动管理器中将其选为启动映像,设置如下:
然后我又补充道ISO9660和自定义函数卷标,然后选择“构建”按钮。操作成功运行,我使用 WinSetupFromUSB 将新创建的 ISO 加载到可启动闪存驱动器上。插入闪存驱动器后,grub4DOS 启动成功。启动 MS-DOS 6.22 成功,但就像我使用未更改的启动 ISO 时一样,默认情况下仅显示随 DOS 6.22 打包的 40 个文件,完全忽略了我添加到新 ISO 中的额外文件。
我在这里做错了什么?
答案1
经过大量的工作、研究和 @cybernard 的指导,我终于成功地将我需要的旧式可执行文件打包到 ISO 中,并成功地在 MS-DOS 6.22 中运行它们。
简而言之,我最初的错误是直接将可执行文件打包到 ISO 中。无论出于什么原因,这都不会改变启动 MS-DOS 后可用的文件。相反,需要将程序直接“注入”到启动盘中,然后才能从中制作 ISO。
下面是该过程的详细说明,以及在 DOS 中尝试运行新可见程序时可能遇到的内存问题的解决方案。
请注意,虽然我仅使用 MS-DOS 6.22 测试了此过程,但只要您下载并使用所需版本的启动盘,下面概述的过程对于任何版本的 MS-DOS 都应该相同。
你需要什么
- 图像处理软件
- 图像烧录(或同等映像刻录软件)
- MS-DOS 6.22 启动软盘/磁盘(或与你的 DOS 版本相当的版本)
将程序注入 DOS 启动盘
使用 WinImage 打开 DOS 6.22 启动软盘。选择Image >Change Format,并将启动盘的大小增加到 2.88 MB - 这将为您提供将程序注入其中所需的空间。
将您想要在 DOS 中使用的所有程序拖放到 WinImage 界面上,确认出现的任何对话框。
保存修改后的启动盘。如果您使用另存为,确保将其保存为.img
文件,否则 WinImage 将默认将其保存为不兼容的格式。
从启动盘构建 ISO
打开 ImgBurn 并选择从文件/文件夹创建图像文件(也称为构建模式)。
不选择来源。选择要保存图像的目标位置以及文件名,确保它是.iso
,或任何其他与您将使用的可启动媒体创建器兼容的格式。
Bootable Disc在选项卡下Advanced,检查使映像可启动选项和设置仿真类型至 2.88 MB。启动映像,浏览到您之前修改过的DOS启动盘。选择Build按钮创建映像。
构建完成后,ImgBurn 将输出图像文件和文件.mds
。老实说,我从未完全确定.mds
文件有什么用途,但至少对于我们来说,它可以被丢弃。
从现在开始,您可以像平常一样使用可启动媒体创建器来创建可启动 USB 或 CD,使用我们刚刚创建的图像作为源。我更喜欢安装程序从USB对于该过程的这一部分。
完成后,您现在应该能够在 MS-DOS 中查看和启动您的程序。
如果完成上述步骤后,启动 MS-DOS 后您可以看到程序,但尝试运行它们时出现错误Not Enough Memory
,请按照以下步骤解决问题。
(可选)修复“内存不足”错误
出现此错误的原因是,您尝试运行的程序恰好需要的可用内存超过了 MS-DOS 默认允许的 640KB。这被称为“常规内存”。要绕过它,您需要指示 DOS 加载其“扩展内存”,它最多可使用 64MB - 比任何版本的 DOS 所需的内存都要多。
从头开始按照本指南操作,在使用 WinImage 将程序拖入启动盘后立即停止。在保存修改后的映像之前,请CONFIG.SYS
在启动盘文件列表中查找该文件,右键单击它,然后将其提取到计算机上的某个位置。在文本编辑器中打开该文件,然后进行以下更改:
在以 开头的行上DEVICE=HIMEM.SYS
,将 a 附加/V
到其末尾:
DEVICE=HIMEM.SYS /testmem:off /V
在该行正下方插入以下行:
DOS=HIGH,UMB
DEVICE=EMM386.EXE RAM
现在使用 WinImage 界面将修改后的文件从您的机器拖回到启动盘,确认将文件注入启动盘的提示。像以前一样保存启动盘,然后继续本指南的其余部分。
完成后,您将得到一个可启动的 MS-DOS 6.22 版本,现在可以运行您新看到的程序。