我正在為我的電腦新增一個小型 MS-DOS 分割區,主要用於使用 QuickBasic 測試舊的自訂硬體。是的,我仍然使用並行連接埠。
我確實設法創建了可啟動的 MS-DOS CD,但我不想每次啟動到 MS-DOS 時都必須將 CD 插入驅動器。
這是我嘗試過的方法,到目前為止還沒有成功:
- 我將映像安裝在 Linux 中作為磁碟機。
- 我對映像進行了磁碟複製(使用 DD),以便將映像的原始內容轉儲到新分割區上。
- 我檢查了目標資料夾的列表,看起來所有檔案都複製得很好(大約 1.5MB)。
- 我修改了 LILO 配置以新增指向正確裝置路徑的新 DOS 分割區,以便在重新啟動時,我可以將其作為選項。
現在,當我嘗試存取新分割區(從 LILO 選單中選擇它後)時,我的系統會先掃描軟碟機(我認為是啟動磁碟?),然後我收到以下訊息:
Non-System disk or disk error
Replace and press any key when ready
在沒有插入媒體的情況下,我按下了一個按鍵,然後回到 LILO 選單。
我能想到的唯一乏味的解決方案(因為軟碟不再可用)是以某種方式獲得可引導的軟碟並執行 sys 命令。
有沒有什麼方法可以讓我sys.com
在純 Unix shell 中執行這個命令,或者有沒有更好的方法讓這個檔案系統啟動而無需製作軟碟?
答案1
好吧,如果您可以從軟碟啟動,那麼我認為從 USB 隨身碟啟動可以滿足您的需求。您可以下載開源程式rufus
並創建您自己的可啟動閃存驅動器,該驅動器可以從任何 10 年前製造的電腦啟動。
rufus
即使您沒有 DOS 原始映像,也可以使用 DOS 映像建立可啟動閃存驅動器,但有一些細節您需要了解, - 作者提供了兩個映像 - 本機 DOS 和 FreeDOS。 FreeDOS 並不總是能夠與某些挑剔的 DOS 程式和實際從您運行的電腦中提取的 DOS 版本一起使用rufus
。 (為了避免法律衝突,程式從diskcopy.dll
所有Windows 上存在的DOS 映像中提取DOS 映像,但不包括Windows 10)雖然它仍然是合法的燒錄方式,但如果您需要真正的真實CPU 模式,它並不總是有效,因為複製DOS 映像diskcopy.dll
實際上是 DOS 7+,刪除了實模式支持,因此 DOS 啟動到保護模式,並整合了 HIMEM。有關它的更多詳細信息,您可以從原始作者那裡找到rufus
這裡。我的建議是找到 MSDOS 6.22 的原始映像並使用上述程式刻錄它。
另一個解決方案 - 是設置TFTP伺服器並使用許多電腦上提供的 PXE 功能。這樣您就可以在 TFTP 伺服器上託管 MSDOS 映像並直接透過網路啟動。如果您熟悉Linux,您可以使用以下命令建立PXE伺服器作業系統並根據需要託管任意數量的不同映像並按需啟動它們(如果您需要不同的工具,則非常方便)。
有沒有什麼方法可以讓我在純 Unix 的 shell 中執行這個 sys.com 命令,或者有沒有更好的方法讓這個檔案系統啟動而無需製作軟碟?
Unix 的核心工作在保護模式下,從 shell 運行任何東西都不會給你實模式的自由。如果您確實不需要直接存取硬件,那麼有一些模擬 DOS 的軟體包:DOSemu,DOS盒您可以嘗試使用您的程式。
答案2
將 CD-ROM 映像放在硬碟 DOS 分割區上是行不通的。 CD 映像有不同的格式。
硬碟分割區(確保是第一個)需要格式化為FAT,並且需要DOS引導程式。原則上應該可以使用 複製引導程序dd
,但我無法快速透過谷歌搜尋合適的圖像。
因此,另一種方法是啟動dosemu
或dosbox
甚至qemu
使用 DOS 映像,編輯配置以使該硬碟可供虛擬機器使用,然後sys
在虛擬機器內運行。
當然,您也可以先從虛擬機器進行所有測試,只要您可以使硬體可供虛擬機器使用(並行連接埠應該不是問題)。然後你不需要重新啟動,也不需要專門的分區。