如今有很多理由去運行一個舊的 DOS 應用程式。或許是從一個遺留的商業應用程式中提取一個報告,或者是想玩一個經典的 DOS 遊戲,或者只是因為你對「傳統電腦」很好奇。你不需要去雙重引導你的系統去執行 DOS 程式。取而代之的是,你可以在 Linux 中在一個 PC 模擬程式和 FreeDOS 的幫助下去正確地運行它們。
FreeDOS 是一個完整的、免費的、DOS 相容的作業系統,你可以用它來玩經典的遊戲、運行舊式商業軟體,或是開發嵌入式系統。任何工作在 MS-DOS 中的程式也可以運行在 FreeDOS 中。
在那些「過去的時光」裡,你安裝的 DOS 是作為一台電腦上的獨佔作業系統。而現今,它可以輕鬆安裝到 Linux 上運行的一台虛擬機器中。 QEMU (快速模擬程式Quick EMUlator的縮寫) 是一個開源的虛擬機器軟體,它可以在 Linux 中以一個「訪客guest」作業系統來運行 DOS。許多流行的 Linux 系統都預設包含了 QEMU 。
透過以下四步,很容易地在 Linux 下透過使用 QEMU 和 FreeDOS 去運行一個舊的 DOS 程式。
第 1 步:設定一個虛擬磁碟你需要一個地方來在 QEMU 中安裝 FreeDOS,為此你需要一個虛擬的 C: 磁碟機。在 DOS 中,字母A: 和 B: 是分配給第一和第二個軟碟機的,而 C: 是第一個硬碟。其它介質,包括其它硬碟和 CD-ROM 驅動器,依序分配 D:、E: 等等。
在 QEMU 中,虛擬磁碟是一個映像檔。要初始化一個用做虛擬 C: 驅動器的文件,使用 qemu-img 指令。要建立一個大約 200 MB 的鏡像文件,可以這樣輸入:
qemu-img create dos.img 200M
與現代電腦相比, 200MB 看起來非常小,但是早在 1990 年代, 200MB 是非常大的。它足夠安裝和運行 DOS。
第 2 步: QEMU 選項與 PC 模擬系統 VMware 或 VirtualBox 不同,你需要透過 QEMU 指令去增加每個虛擬機器的元件來 「建置」 你的虛擬系統 。雖然,這可能看起來很費力,但它實際上並不困難。這些是我們在 QEMU 中用來去引導 FreeDOS 的參數:
第 3 步: 引導與安裝 FreeDOS現在 QEMU 已經設定好運行虛擬機,我們需要一個 DOS 系統來在那台虛擬機中安裝和引導。 FreeDOS 做這個很容易。它的最新版本是 FreeDOS 1.2, 發行於 2016 年 12 月。
從 FreeDOS 網站下載 FreeDOS 1.2 的發行版。 FreeDOS 1.2 CD-ROM “standard” 安裝器 (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 。
Starting FreeDOS installation
#Select your keyboard layout
#Selecting which packages to install
#Rebooting after installation
在你安裝完成之後,關閉視窗退出 QEMU。
第 4 步:安裝並執行你的 DOS 應用程式一旦安裝完 FreeDOS,你可以在 QEMU 中執行各種 DOS 應用程式。你可以在線上透過各種檔案文件或其它網站找到舊的 DOS 程式。
QEMU 提供了一個在 Linux 上存取本機檔案的簡單方法。比如說,想去用 QEMU 共享 dosfiles/ 資料夾。透過使用 -drive 選項,簡單地告訴 QEMU 去使用這個資料夾作為虛擬的 FAT 磁碟機。 QEMU 將像硬碟一樣存取這個資料夾。
-drive file=fat:rw:dosfiles/
現在,你可以使用合適的選項去啟動 QEMU,加上一個外部的虛擬 FAT 磁碟機:
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 电子表格程序。这是一个在上世纪八九十年代非常流行的电子表格程序,它和现在的 Microsoft Excel 和 LibreOffice Calc 或和以前更昂贵的 Lotus 1-2-3 电子表格程序完成的工作是一样的。 As-Easy-As 和 Lotus 1-2-3 都保存数据为 WKS 文件,最新版本的 Microsoft Excel 不能读取它,但是,根据兼容性, LibreOffice Calc 可以支持它。
As-Easy-As 电子表格程序
我也喜欢在 QEMU中引导 FreeDOS 去玩一些收藏的 DOS 游戏,比如原版的 Doom。这些老的 DOS 游戏玩起来仍然非常有趣, 并且它们现在在 QEMU 上运行的非常好。
Doom
Heretic
Jill of the Jungle
Commander Keen
QEMU 和 FreeDOS 使得在 Linux 上运行老的 DOS 程序变得很容易。你一旦设置好了 QEMU 作为虚拟机仿真程序并安装了 FreeDOS,你将可以在 Linux 上运行你收藏的经典的 DOS 程序。
所有图片要致谢 FreeDOS.org。
作者简介:
Jim Hall 是一位开源软件的开发者和支持者,可能最广为人知的是他是 FreeDOS 的创始人和项目协调者。 Jim 也非常活跃于开源软件适用性领域,作为 GNOME Outreachy 适用性测试的导师,同时也作为一名兼职教授,教授一些开源软件适用性的课程,从 2016 到 2017, Jim 在 GNOME 基金会的董事会担任董事,在工作中, Jim 是本地政府部门的 CIO。
以上是在 Linux 上執行 DOS 程式的方法和步驟的詳細內容。更多資訊請關注PHP中文網其他相關文章!