傳統(tǒng)的 DOS 操作系統(tǒng)支持的許多非常優(yōu)秀的應(yīng)用程序: 文字處理,電子表格,游戲和其它的程序。但是一個應(yīng)用程序太老了,并不意味著它沒用了。
如今有很多理由去運行一個舊的 DOS 應(yīng)用程序?;蛟S是從一個遺留的業(yè)務(wù)應(yīng)用程序中提取一個報告,或者是想玩一個經(jīng)典的 DOS 游戲,或者只是因為你對“傳統(tǒng)計算機”很好奇。你不需要去雙引導(dǎo)你的系統(tǒng)去運行 DOS 程序。取而代之的是,你可以在?Linux?中在一個 PC 仿真程序和 FreeDOS 的幫助下去正確地運行它們。
FreeDOS 是一個完整的、免費的、DOS 兼容的操作系統(tǒng),你可以用它來玩經(jīng)典的游戲、運行舊式業(yè)務(wù)軟件,或者開發(fā)嵌入式系統(tǒng)。任何工作在 MS-DOS 中的程序也可以運行在 FreeDOS 中。
在那些“過去的時光”里,你安裝的 DOS 是作為一臺計算機上的獨占操作系統(tǒng)。 而現(xiàn)今,它可以很容易地安裝到 Linux 上運行的一臺虛擬機中。 QEMU (快速仿真程序Quick EMUlator的縮寫) 是一個開源的虛擬機軟件,它可以在 Linux 中以一個“訪客guest”操作系統(tǒng)來運行 DOS。許多流行的 Linux 系統(tǒng)都默認包含了 QEMU 。
通過以下四步,很容易地在 Linux 下通過使用 QEMU 和 FreeDOS 去運行一個老的 DOS 程序。
第 1 步:設(shè)置一個虛擬磁盤
你需要一個地方來在 QEMU 中安裝 FreeDOS,為此你需要一個虛擬的 C: 驅(qū)動器。在 DOS 中,字母A: 和 B: 是分配給第一和第二個軟盤驅(qū)動器的,而 C: 是第一個硬盤驅(qū)動器。其它介質(zhì),包括其它硬盤驅(qū)動器和 CD-ROM 驅(qū)動器,依次分配 D:、E: 等等。
在 QEMU 中,虛擬磁盤是一個鏡像文件。要初始化一個用做虛擬 C: 驅(qū)動器的文件,使用 qemu-img 命令。要創(chuàng)建一個大約 200 MB 的鏡像文件,可以這樣輸入:
qemu-img create dos.img 200M
與現(xiàn)代計算機相比, 200MB 看起來非常小,但是早在 1990 年代, 200MB 是非常大的。它足夠安裝和運行 DOS。
第 2 步: QEMU 選項
與 PC 仿真系統(tǒng) VMware 或 VirtualBox 不同,你需要通過 QEMU 命令去增加每個虛擬機的組件來 “構(gòu)建” 你的虛擬系統(tǒng) 。雖然,這可能看起來很費力,但它實際并不困難。這些是我們在 QEMU 中用于去引導(dǎo) FreeDOS 的參數(shù):
qemu-system-i386QEMU 可以仿真幾種不同的系統(tǒng),但是要引導(dǎo)到 DOS,我們需要有一個 Intel 兼容的 CPU。 為此,使用 i386 命令啟動 QEMU。-m 16我喜歡定義一個使用 16MB 內(nèi)存的虛擬機。它看起來很小,但是 DOS 工作不需要很多的內(nèi)存。在 DOS 時代,計算機使用 16MB 或者 8MB 內(nèi)存是非常普遍的。-k en-us從技術(shù)上說,這個?-k?選項是不需要的,因為 QEMU 會設(shè)置虛擬鍵盤去匹配你的真實鍵盤(在我的例子中, 它是標準的 US 布局的英語鍵盤)。但是我還是喜歡去指定它。-rtc base=localtime每個傳統(tǒng)的 PC 設(shè)備有一個實時時鐘 (RTC) 以便于系統(tǒng)可以保持跟蹤時間。我發(fā)現(xiàn)它是設(shè)置虛擬 RTC 匹配你的本地時間的最簡單的方法。-soundhw sb16,adlib,pcspk如果你需要聲音,尤其是為了玩游戲時,我更喜歡定義 QEMU 支持 SoundBlaster 16 聲音硬件和 AdLib 音樂。SoundBlaster 16 和 AdLib 是在 DOS 時代非常常見的聲音硬件。一些老的程序也許使用 PC 喇叭發(fā)聲; QEMU 也可以仿真這個。-device cirrus-vga要使用圖像,我喜歡去仿真一個簡單的 VGA 視頻卡。Cirrus VGA 卡是那時比較常見的圖形卡, QEMU 可以仿真它。-display gtk對于虛擬顯示,我設(shè)置 QEMU 去使用 GTK toolkit,它可以將虛擬系統(tǒng)放到它自己的窗口內(nèi),并且提供一個簡單的菜單去控制虛擬機。-boot order=你可以告訴 QEMU 從多個引導(dǎo)源來引導(dǎo)虛擬機。從軟盤驅(qū)動器引導(dǎo)(在 DOS 機器中一般情況下是A:?)指定order=a。 從第一個硬盤驅(qū)動器引導(dǎo)(一般稱為?C:) 使用?order=c。 或者去從一個 CD-ROM 驅(qū)動器(在 DOS 中經(jīng)常分配為?D:?) 使用?order=d。 你可以使用組合字母去指定一個特定的引導(dǎo)順序, 比如?order=dc?去第一個使用 CD-ROM 驅(qū)動器,如果 CD-ROM 驅(qū)動器中沒有引導(dǎo)介質(zhì),然后使用硬盤驅(qū)動器。
第 3 步: 引導(dǎo)和安裝 FreeDOS
現(xiàn)在 QEMU 已經(jīng)設(shè)置好運行虛擬機,我們需要一個 DOS 系統(tǒng)來在那臺虛擬機中安裝和引導(dǎo)。 FreeDOS 做這個很容易。它的最新版本是 FreeDOS 1.2, 發(fā)行于 2016 年 12 月。
從 FreeDOS 網(wǎng)站上下載 FreeDOS 1.2 的發(fā)行版。 FreeDOS 1.2 CD-ROM “standard” 安裝器 (FD12CD.iso) 可以很好地在 QEMU 上運行,因此,我推薦使用這個版本。
安裝 FreeDOS 很簡單。首先,告訴 QEMU 使用 CD-ROM 鏡像并從其引導(dǎo)。 記住,第一個硬盤驅(qū)動器是 C: 驅(qū)動器,因此, CD-ROM 將以 D: 驅(qū)動器出現(xiàn)。
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
正如下面的提示,你將在幾分鐘內(nèi)安裝完成 FreeDOS 。
Starting FreeDOS installation
Select your keyboard layout
Selecting which packages to install
Rebooting after installation
在你安裝完成之后,關(guān)閉窗口退出 QEMU。
第 4 步:安裝并運行你的 DOS 應(yīng)用程序
一旦安裝完 FreeDOS,你可以在 QEMU 中運行各種 DOS 應(yīng)用程序。你可以在線上通過各種檔案文件或其它網(wǎng)站找到老的 DOS 程序。
QEMU 提供了一個在 Linux 上訪問本地文件的簡單方法。比如說,想去用 QEMU 共享 dosfiles/ 文件夾。 通過使用 -drive 選項,簡單地告訴 QEMU 去使用這個文件夾作為虛擬的 FAT 驅(qū)動器。 QEMU 將像一個硬盤驅(qū)動器一樣訪問這個文件夾。
-drive file=fat:rw:dosfiles/
現(xiàn)在,你可以使用合適的選項去啟動 QEMU,加上一個外部的虛擬 FAT 驅(qū)動器:
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
一旦你引導(dǎo)進入 FreeDOS,你保存在 D: 驅(qū)動器中的任何文件將被保存到 Linux 上的 dosfiles/ 文件夾中??梢詮?Linux 上很容易地直接去讀取該文件;然而,必須注意的是,啟動 QEMU 后,不能從 Linux 中去改變 dosfiles/ 這個文件夾。 當你啟動 QEMU 時,QEMU 一次性構(gòu)建一個虛擬的 FAT 表,如果你在啟動 QEMU 之后,在 dosfiles/ 文件夾中增加或刪除文件,仿真程序可能會很困惑。
我使用 QEMU 像這樣運行一些我收藏的 DOS 程序, 比如 As-Easy-As 電子表格程序。這是一個在上世紀八九十年代非常流行的電子表格程序,它和現(xiàn)在的 Microsoft Excel 和 LibreOffice Calc 或和以前更昂貴的 Lotus 1-2-3 電子表格程序完成的工作是一樣的。 As-Easy-As 和 Lotus 1-2-3 都保存數(shù)據(jù)為 WKS 文件,最新版本的 Microsoft Excel 不能讀取它,但是,根據(jù)兼容性, LibreOffice Calc 可以支持它。
As-Easy-As 電子表格程序
我也喜歡在 QEMU中引導(dǎo) FreeDOS 去玩一些收藏的 DOS 游戲,比如原版的 Doom。這些老的 DOS 游戲玩起來仍然非常有趣, 并且它們現(xiàn)在在 QEMU 上運行的非常好。
Doom
Heretic
Jill of the Jungle
Commander Keen
QEMU 和 FreeDOS 使得在 Linux 上運行老的 DOS 程序變得很容易。你一旦設(shè)置好了 QEMU 作為虛擬機仿真程序并安裝了 FreeDOS,你將可以在 Linux 上運行你收藏的經(jīng)典的 DOS 程序。
所有圖片要致謝 FreeDOS.org。
作者簡介:
Jim Hall 是一位開源軟件的開發(fā)者和支持者,可能最廣為人知的是他是 FreeDOS 的創(chuàng)始人和項目協(xié)調(diào)者。 Jim 也非?;钴S于開源軟件適用性領(lǐng)域,作為 GNOME Outreachy 適用性測試的導(dǎo)師,同時也作為一名兼職教授,教授一些開源軟件適用性的課程,從 2016 到 2017, Jim 在 GNOME 基金會的董事會擔(dān)任董事,在工作中, Jim 是本地政府部門的 CIO。
?
評論
查看更多