如何在Linux中运行DOS程序
经典的 DOS 操作系统支持许多出色的应用程序:文字处理器、电子表格、游戏和其他程序。仅仅因为一个应用程序是旧的并不意味着它不再有用。 今天运行旧的 DOS 应用程序有很多原因。也许是从遗留业务应用程序中提取报告。或者玩经典的DOS游戏。或者只是因为您对“经典计算”感到好奇。您无需双启动系统即可运行 DOS 程序。相反,您可以在 PC 模拟器和FreeDOS的帮助下直接在 Linux 中运行它们。
经典的 DOS 操作系统支持许多出色的应用程序:文字处理器、电子表格、游戏和其他程序。仅仅因为一个应用程序是旧的并不意味着它不再有用。
今天运行旧的 DOS 应用程序有很多原因。也许是从遗留业务应用程序中提取报告。或者玩经典的DOS游戏。或者只是因为您对“经典计算”感到好奇。您无需双启动系统即可运行 DOS 程序。相反,您可以在 PC 模拟器和FreeDOS的帮助下直接在 Linux 中运行它们。
FreeDOS 是一个完整的、免费的、与 DOS 兼容的操作系统,您可以使用它来玩经典的 DOS 游戏、运行遗留的商业软件或开发嵌入式系统。任何在 MS-DOS 上运行的程序也应该在 FreeDOS 上运行。
在“过去”中,您将 DOS 作为计算机上唯一的操作系统安装。如今,在 Linux 下运行的虚拟机中安装 DOS 容易得多。QEMU(Quick EMUlator的简称)是一个开源软件虚拟机系统,可以将DOS作为“来宾”操作系统Linux运行。大多数流行的 Linux 系统默认包含 QEMU。
更多 Linux 资源
-
Linux 命令备忘单
-
高级 Linux 命令备忘单
-
免费在线课程:RHEL 技术概述
-
Linux 网络备忘单
-
SELinux 备忘单
-
Linux常用命令备忘单
-
什么是 Linux 容器?
-
我们最新的 Linux 文章
以下是使用 QEMU 和 FreeDOS 在 Linux 下运行旧 DOS 应用程序的四个简单步骤。
第一步:设置虚拟磁盘
你需要一个在 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-我们
从技术上讲,-k 选项不是必需的,因为 QEMU 将设置虚拟键盘以匹配您的实际键盘(在我的情况下,这是标准美国布局中的英语)。但我还是喜欢指定它。
-rtc baseu003d本地时间
每台经典 PC 都提供实时时钟 (RTC),因此系统可以跟踪时间。我发现简单地设置虚拟 RTC 以匹配您的本地时间是最简单的。
-soundhw sb16,adlib,pcspk
如果你需要声音,尤其是游戏,我更喜欢用 SoundBlaster16 声音硬件和 AdLib Music 支持来定义 QEMU。 SoundBlaster16 和 AdLib 是 DOS 时代最常见的声音硬件。一些较旧的程序可能会使用 PC 扬声器发出声音; QEMU 也可以模拟这一点。
**-设备 cirrus-vga **
要使用图形,我喜欢模拟一个简单的 VGA 视频卡。 Cirrus VGA 卡在当时是一种常见的显卡,QEMU 可以仿效。
-显示 gtk
对于虚拟显示,我将 QEMU 设置为使用 GTK 工具包,它将虚拟系统放在自己的窗口中,并提供一个简单的菜单来控制虚拟机。
-启动顺序u003d
您可以告诉 QEMU 从各种来源引导虚拟机。要从软盘驱动器引导(在 DOS 机器上通常为 A:),请指定 orderu003da。要从第一个硬盘驱动器(通常称为 C:)启动,请使用 orderu003dc。或者要从 CD-ROM 驱动器(通常由 DOS 分配 D:)启动,请使用 orderu003dd。您可以组合字母来指定特定的引导首选项,例如 orderu003ddc 以首先使用 CD-ROM 驱动器,如果 CD-ROM 驱动器不包含可引导介质,则使用硬盘驱动器。
第三步:引导并安装 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。
图片来源:
开源网站
图片来源:
开源网站
图片来源:
开源网站
图片来源:
开源网站
完成后,通过关闭窗口退出 QEMU。
第四步:安装并运行你的DOS应用程序
一旦安装了 FreeDOS,就可以在 QEMU 中运行不同的 DOS 应用程序。您可以通过各种档案或其他网站在线找到旧的 DOS 程序。
QEMU 提供了一种在 Linux 上访问本地文件的简单方法。假设您想与 QEMU 共享 dosfiles/ 文件夹。只需使用 -drive 选项告诉 QEMU 将该文件夹用作虚拟 FAT 驱动器。 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 可能仍支持,具体取决于兼容性。
图片来源:
开源网站
我也喜欢在 QEMU 下启动 FreeDOS 来玩一些我最喜欢的 DOS 游戏,比如最初的 Doom。这些老游戏玩起来仍然很有趣,而且在 QEMU 下都运行得很好。
图片来源:
开源网站
图片来源:
开源网站
图片来源:
开源网站
图片来源:
开源网站
QEMU 和 FreeDOS 使在 Linux 下运行旧的 DOS 程序变得容易。一旦你将 QEMU 设置为虚拟机模拟器并安装了 FreeDOS,你应该已经准备好从 Linux 运行你最喜欢的经典 DOS 程序了。
所有图片由FreeDOS.org提供。
更多推荐
所有评论(0)