題 在Linux中添加DOS 6.22啟動分區失敗


我正在為我的計算機添加一個小的MS-DOS分區,主要用於使用QuickBasic測試舊的自定義硬件。是的,我 仍然 使用並行端口。

我確實設法創建一個可啟動的MS-DOS CD,但我不想每次我想要啟動到MS-DOS時都要將CD插入驅動器。

這是我嘗試過的,到目前為止沒有成功:

  1. 我將圖像作為驅動器安裝在Linux中。
  2. 我對磁盤進行了磁盤複製(使用DD),因此圖像的原始內容被轉儲到新分區上。
  3. 我檢查了目標文件夾的列表,看起來所有文件都被正確複製(大約1.5MB)。
  4. 我修改了LILO配置以添加指向正確設備路徑的新DOS分區,以便在重新啟動時,我將其作為選項。

現在,當我嘗試訪問新分區時(從LILO菜單中選擇它之後),我的系統首先掃描軟盤驅動器(我認為是啟動盤?)然後我收到此消息:

 Non-System disk or disk error
 Replace and press any key when ready

沒有插入媒體,我按了一個鍵,然後我返回LILO菜單。

我能想到的唯一解決方案是乏味(因為軟盤不再可用)是以某種方式獲得可啟動的軟盤並運行sys命令。

有什麼方法可以以某種方式執行此操作 sys.com 在一個只有Unix的shell中命令還是有一個更好的方法來讓這個文件系統啟動而不用製作軟盤的歌曲和舞蹈?


3
2017-08-08 22:36


起源


這個“新分區”將成為格式為FAT-16的MBR分區表中的第一個主分區。如果沒有,DOS將無法啟動 - 它的啟動記錄(你獲得的消息就是它)在我描述的分區中搜索IO.SYS文件。 PS。為什麼不使用虛擬機? - Akina


答案:


好吧,如果您可以從軟盤啟動,那麼我認為從USB閃存驅動器啟動將滿足您的需求。您可以下載開源程序 rufus 並創建自己的可啟動閃存驅動器,可以從10年前構建的任何計算機開始。

rufus 即使您沒有DOS的原始圖像,也可以用DOS圖像構建可啟動的閃存驅動器,但是您需要了解一些細節, - 作者提供兩個圖像 - 本機DOS和FreeDOS。 FreeDOS並不總是適用於一些挑剔的DOS程序,而DOS版本實際上是從您運行的機器中提取的 rufus。 (為了避免法律衝突,程序從中提取DOS圖像 diskcopy.dll 所有Windows上都存在,但不包括Windows 10)雖然它仍然是合法的方式來刻錄它,如果你需要真正的真實CPU模式它並不總是有效,因為DOS圖像的複制來自 diskcopy.dll 實際上是DOS 7+刪除了實模式支持,所以DOS啟動到保護模式,集成了HIMEM。關於它的更多細節,你可以從原作者的角度找到 rufus  這裡。我的建議是找到MSDOS 6.22的原始圖像並用上述程序刻錄它。

另一種解決方案是 - 設置 TFTP 服務器並使用許多計算機上提供的PXE功能。這樣,您可以在TFTP服務器上託管MSDOS映像並直接通過網絡啟動。如果您熟悉Linux,則可以使用Linux構建PXE服務器 ISOLINUX 並根據需要託管盡可能多的不同圖像,並根據需要啟動它們(如果您需要不同的工具,非常方便)。

有沒有什麼方法可以在Unix-only shell中以某種方式執行這個sys.com命令,或者有沒有更好的方法來啟動這個文件系統而不用製作軟盤的歌曲和舞蹈?

Unix的內核在保護模式下工作,從shell運行任何東西都不會讓你自由模式。如果你真的不需要直接訪問硬件,那麼有一些模擬DOS的軟件包: DOSEMUDOSBox中 您可以嘗試使用您的程序。


1
2017-08-09 01:36





將CD-ROM映像放在硬盤DOS分區上將不起作用。 CD映像具有不同的格式。

硬盤分區(確保它是第一個)需要格式化為FAT,它需要DOS引導加載程序。原則上應該可以復制引導加載程序 dd,但我無法快速谷歌合適的圖像。

所以另一種方式是開始 dosemu 要么 dosbox 甚至 qemu 使用DOS映像,編輯配置以使該硬盤可供VM使用,然後運行 sys 在VM內部。

當然,只要您可以為VM提供硬件(並行端口應該不是問題),您也可以首先從VM執行所有測試。然後您不需要重新啟動,並且您不需要特殊的分區。


0
2017-08-09 05:24