经典的 DOS 操作系统支持许多出色的应用程序:文字处理器、电子表格、游戏和其他程序。仅仅因为一个应用程序很旧并不意味着它不再有用。
如今有很多理由运行旧的 DOS 应用程序。也许是为了从遗留的业务应用程序中提取报告。或者玩经典的 DOS 游戏。或者仅仅是因为您对“经典计算”感到好奇。您无需双启动系统即可运行 DOS 程序。相反,借助 PC 模拟器和 FreeDOS,您可以在 Linux 中直接运行它们。
FreeDOS 是一个完整的、免费的、与 DOS 兼容的操作系统,您可以使用它来玩经典的 DOS 游戏、运行遗留的商业软件或开发嵌入式系统。任何在 MS-DOS 上运行的程序也应该在 FreeDOS 上运行。
在“过去”,您将 DOS 安装为计算机上唯一的操作系统。如今,在 Linux 下运行的虚拟机中安装 DOS 容易得多。QEMU(Quick EMUlator 的缩写)是一个开源软件虚拟机系统,可以将 DOS 作为 Linux 的“访客”操作系统运行。大多数流行的 Linux 系统默认包含 QEMU。
以下是使用 QEMU 和 FreeDOS 在 Linux 下运行旧 DOS 应用程序的四个简单步骤。
步骤 1:设置虚拟磁盘
您需要一个在 QEMU 中安装 FreeDOS 的位置,为此您需要一个虚拟 C: 驱动器。在 DOS 中,驱动器用字母分配——A: 和 B: 是第一个和第二个软盘驱动器,C: 是第一个硬盘驱动器。其他介质,包括其他硬盘驱动器或 CD-ROM 驱动器,被分配为 D:、E: 等等。
在 QEMU 下,虚拟驱动器是镜像文件。要初始化可以用作虚拟 C: 驱动器的文件,请使用 qemu-img 命令。要创建一个大约 200MB 的镜像文件,请输入以下命令
qemu-img create dos.img 200M
与现代计算相比,200MB 可能看起来很小,但在 1990 年代初期,200MB 已经很大了。这足以安装和运行 DOS。
步骤 2:QEMU 选项
与 VMware 或 VirtualBox 等 PC 模拟器系统不同,您需要通过指示 QEMU 添加虚拟机的每个组件来“构建”您的虚拟系统。虽然这看起来很费力,但实际上并没有那么难。以下是我用来在 QEMU 中启动 FreeDOS 的参数
qemu-system-i386 |
QEMU 可以模拟多个不同的系统,但要启动 DOS,我们需要一个 Intel 兼容的 CPU。为此,请使用 i386 命令启动 QEMU。 |
-m 16 |
我喜欢定义一个具有 16MB 内存的虚拟机。这可能看起来很小,但 DOS 不需要太多内存即可完成其工作。当 DOS 盛行时,配备 16MB 甚至 8MB 内存的计算机非常普遍。 |
-k en-us |
从技术上讲,-k 选项不是必需的,因为 QEMU 会将虚拟键盘设置为与您的实际键盘匹配(在我的情况下,是标准美国布局的英语)。但我还是喜欢指定它。 |
-rtc base=localtime |
每台经典 PC 都提供一个实时时钟 (RTC),以便系统可以跟踪时间。我发现将虚拟 RTC 设置为与您的本地时间匹配是最容易的。 |
-soundhw sb16,adlib,pcspk |
如果您需要声音,特别是对于游戏,我更喜欢使用 SoundBlaster16 声卡硬件和 AdLib 音乐支持来定义 QEMU。SoundBlaster16 和 AdLib 是 DOS 时代最常见的声卡硬件。一些较旧的程序可能会使用 PC 扬声器发出声音;QEMU 也可以模拟这一点。 |
-device cirrus-vga | 为了使用图形,我喜欢模拟一个简单的 VGA 显卡。Cirrus VGA 卡在当时是一种常见的显卡,QEMU 可以模拟它。 |
-display gtk |
对于虚拟显示器,我将 QEMU 设置为使用 GTK 工具包,这会将虚拟系统置于其自己的窗口中,并提供一个简单的菜单来控制虚拟机。 |
-boot order= | 您可以告诉 QEMU 从各种来源启动虚拟机。要从软盘驱动器启动(通常在 DOS 机器上为 A:),请指定 order=a。要从第一个硬盘驱动器启动(通常称为 C:),请使用 order=c。或者要从 CD-ROM 驱动器启动(通常由 DOS 分配为 D:),请使用 order=d。您可以组合字母以指定特定的启动首选项,例如 order=dc 以首先使用 CD-ROM 驱动器,然后如果 CD-ROM 驱动器不包含可启动介质,则使用硬盘驱动器。 |
步骤 3:启动并安装 FreeDOS
既然 QEMU 已设置为运行虚拟系统,我们需要一个 DOS 版本来安装并在该虚拟计算机中启动。FreeDOS 使这变得容易。最新版本是 FreeDOS 1.2,于 2016 年 12 月发布。
从 FreeDOS 网站 下载 FreeDOS 1.2 发行版。FreeDOS 1.2 CD-ROM “标准”安装程序 (FD12CD.iso) 非常适合 QEMU,所以我推荐这个版本。
安装 FreeDOS 很简单。首先,告诉 QEMU 使用 CD-ROM 镜像并从中启动。请记住,C: 驱动器是第一个硬盘驱动器,因此 CD-ROM 将显示为 D: 驱动器。
qemu-system-i386 -m 16 -k en-us -rtc base=localtime -soundhw sb16,adlib -device cirrus-vga -display gtk -hda dos.img -cdrom FD12CD.iso -boot order=d
只需按照提示操作,您将在几分钟内安装好 FreeDOS。

opensource.com

opensource.com

opensource.com

opensource.com
完成后,通过关闭窗口退出 QEMU。
步骤 4:安装并运行您的 DOS 应用程序
安装 FreeDOS 后,您可以在 QEMU 中运行不同的 DOS 应用程序。您可以在各种存档或其他 网站 上在线查找旧的 DOS 程序。
QEMU 提供了一种访问 Linux 本地文件的简便方法。假设您想要与 QEMU 共享 dosfiles/ 文件夹。只需告诉 QEMU 使用该文件夹作为虚拟 FAT 驱动器,方法是使用 -drive 选项。QEMU 将访问此文件夹,就好像它是一个硬盘驱动器一样。
-drive file=fat:rw:dosfiles/
现在,使用您的常规选项以及额外的虚拟 FAT 驱动器启动 QEMU
qemu-system-i386 -m 16 -k en-us -rtc base=localtime -soundhw sb16,adlib -device cirrus-vga -display gtk -hda dos.img -drive file=fat:rw:dosfiles/ -boot order=c
一旦您在 FreeDOS 中启动,您保存到 D: 驱动器的任何文件都将保存到 Linux 上的 dosfiles/ 文件夹中。这使得直接从 Linux 读取文件变得容易;但是,请注意在启动 QEMU 后不要从 Linux 更改 dosfiles/ 文件夹。QEMU 在您启动 QEMU 时构建一次虚拟 FAT 表。如果您在启动 QEMU 后在 dosfiles/ 中添加或删除文件,模拟器可能会变得混乱。
我像这样使用 QEMU 来运行我最喜欢的 DOS 程序,例如 As-Easy-As 电子表格程序。这是一款 1980 年代和 1990 年代流行的电子表格应用程序,它执行与 Microsoft Excel 和 LibreOffice Calc 今天所实现的工作相同的工作,或者更昂贵的 Lotus 1-2-3 电子表格在过去所做的工作。As-Easy-As 和 Lotus 1-2-3 都将数据保存为 WKS 文件,较新版本的 Microsoft Excel 无法读取这些文件,但 LibreOffice Calc 可能仍然支持,具体取决于兼容性。

opensource.com
我还喜欢在 QEMU 下启动 FreeDOS 来玩一些我最喜欢的 DOS 游戏,例如最初的 Doom。这些旧游戏仍然很有趣,而且它们在 QEMU 下都能很好地运行。

opensource.com

opensource.com

opensource.com

opensource.com
QEMU 和 FreeDOS 使在 Linux 下运行旧 DOS 程序变得容易。一旦您将 QEMU 设置为虚拟机模拟器并安装了 FreeDOS,您就应该可以从 Linux 运行您最喜欢的经典 DOS 程序了。
所有图片均由 FreeDOS.org 提供。
16 条评论