最近,我在回顧舊遊戲時,發現 Windows 10 已經偷偷刪除了內建的 NTVDM 模擬器功能,所以我需要使用第三方小工具來建立執行環境。
1995 年,該作業系統由 Windows 3 開發1 向 Windows 95 的過渡,因為 Windows 95 仍然是在 DoS 上建立的軟體,本質上仍然是乙個 16 位 32 位混合系統,因此它可以直接執行舊的 16 位應用程式而無需修改,同時還支援新的 32 位應用程式。 但是,基於 Windows NT 的作業系統無法直接實現上述相容性。
為了解決這個問題,Microsoft於2024年為使用IA-32處理器架構的Windows NT作業系統提供了NTVDM(NT Virtual Dos Machine,NT DOS Virtual Machine),允許使用者在32位Windows NT作業系統中執行16位Windows應用程式和位DOS應用程式。
此外,Microsoft 還引入了 Windows on Windows (WOW) 相容層,它能夠通過 NTVDM 擴充套件 Windows 3 的執行與 X 開發的舊版 16 位 Windows 應用程式相容。 後來,Microsoft還推出了WOW64,它使64位Windows作業系統能夠執行32位應用程式。
但是,根據 Microsoft 官方**“NTVDM 和 16 位應用程式支援”文件,NTVDM 不支援 64 位作業系統,因此該功能無法在 64 位 WindowsY 作業系統上正常啟用。
官方文件提到了如何在 Windows 10 中啟用 NTVDM。
但是 64 位 Windows 10 無法正常啟用該功能。
Windows 10 無法在未啟用 NTVDM 的情況下作為 Windows 3 執行開發了 1 個 16 位應用程式。
wineVDM** 連線
開發人員開發的 WineVDM 工具OTYA128類似於 NTVDM,因為它整合了處理器模擬器和基於 Wine 的 Win16-Win32 轉換程式碼等元件,使 64 位 Windows 10 作業系統能夠執行 16 位應用程式。
*提取 WineVDM 後,只需將 16 位應用程式拖放到 OTVDM 即可exe,可以直接執行。 如果訊息“vcruntime140DLL“,只需安裝 Microsoft Visual C++ Redistributable for Visual Studio 2017(32 位)即可解決問題。
此外,閱讀器還可以執行解壓後的安裝快捷方式,這樣 16 位應用程式就可以像普通程式一樣通過雙擊直接執行。 如果 Winvdm 登錄檔被 Windows 更新覆蓋並失敗,則只需重新執行“安裝”,也可以執行“解除安裝”reg 解除安裝。
作者實際上使用滑翔機 40 遊戲進行測試,未安裝 WineVDM,執行滑翔機 40 “此應用程式無法在您的計算機上執行”錯誤訊息,安裝後,遊戲將正常執行,但是在遊戲中進行按鈕設定時,會觸發停機,並且沒有發現其他問題。
* 解壓winevdm後,可以執行安裝快捷方式(之後可以直接雙擊16位應用執行),或者將16位應用拖拽到OTVDMexe的。
通過 winevdm 執行 Windows 31 個版本的 Glider 40遊戲,執行效果相當流暢。
在測試過程中發現的唯一錯誤是進行按鈕設定會觸發停機。
雖然據說直到現在還是有必要做Windows 31 剩下的程式不多了,但是如果需要的話,可以使用winevdm實現相容性,省去安裝虛擬機器的麻煩,這是乙個方便的解決方案。