相信好多人都知道,在基于 NT 的 32 位 Windows 中,可以通過 NTVDM 運行 DOS 程序,進而還可以通過 WOW 運行 16 位 Windows(Windows 1.x~3.x)程序。

但是在 64 位 Windows 中沒有 NTVDM 與 WOW。

于是有人(leecher1337)開發了 NTVDMx64——可以在 64 位 Windows 環境中運行的 NTVDM。

https://github.com/leecher1337/ntvdmx64

不過它可能會對系統有些影響,在該項目的 README 中提到了可能會導致一些 DPMI 程序崩潰。README 中還解釋了為什么已經有 DOSBox 了還要移植 NTVDM。

otyaWineVDM 則更進一步,不僅可以在 64 位的 Windows 中運行 DOS 程序,還可以運行 16 位的 Windows 程序。

https://github.com/otya128/winevdm

下圖是使用 WineVDM 在 64 位 Windows 10 中運行 Windows 3.2 的計算器與時鐘的截圖:

Windows 10 中運行 Windows 3.2 的計算器與時鐘

這個 WineVDM 是 Wine 項目中同名程序的增強版(在其 README 中也提到了),還可以運行 DOS 程序。

值得一提的是 WineVDM 本身是 32 位程序,不過能在 64 位 Windows 中正常運行。 既然是 32 位程序,那當然可以在 32 位環境運行了,只是對于 32 位 Microsoft Windows 來說并不需要,因為已經有 NTVDM 與 WOW 可以運行 DOS 程序及 16 位 Windows 程序。 但是在 ReactOS 中就能派上用場了

ReactOS 中運行 16 Windows 程序