DOS时代已经过去了很久,以前有些好玩的小程序或者小游戏,用现在的电脑来运行,会提示无法运行。

有人用DOSBOX能模拟DOS大部分的程序,但是有没有一种方法将应用直接运行在windows10上面呢?

有国外的程序员就开发了专门用来运行老旧应用的虚拟机程序。

32位win10运行16位程序

NTVDM 或 NT Virtual DOS Machine 是 1993 年引入的系统组件,适用于Windows NT系列的所有 IA-32 版本, (操作系统) 的 64 位版本不包含。 此组件允许在 32 位 Windows 操作系统上执行 16 位 Windows 应用程序,以及执行 16 位和 32 位 DOS 应用程序。 Windows NT 32 位用户模式可执行文件,该可执行文件是单个 DOS (或 Windows 3.x) 环境的基础,称为ntvdm.exe。

在 Windows 10 中启用/禁用 16 位应用程序支持/NTVDM 的步骤

如果无法更新应用,并且需要在Windows 10上使用 NTVDM,他将如何执行此操作。

备注

若要启用此功能,必须运行 Windows 10 32 位,并且必须具有本地管理员权限。 不建议让最终用户拥有本地管理员权限。

NTVDM 作为按需功能提供,首先必须使用 DISM 命令进行安装。 以管理员身份运行 Windows PowerShell ISE,并使用以下命令:

  • 若要启用 NTVDM,请: DISM /online /enable-feature /all /featurename:NTVDM

  • 禁用 NTVDM: DISM /online /disable-feature /featurename:NTVDM

NTVDMx64

可以在 64 位 Windows 环境中运行的 NTVDM

源码:

https://github.com/leecher1337/ntvdmx64

不过它可能会对系统有些影响,在该项目的 README 中提到了可能会导致一些 DPMI 程序崩溃。

README 中还解释了为什么已经有 DOSBox 了还要移植 NTVDM。

WineVDM

不仅可以在 64 位的 Windows 中运行 DOS 程序,还可以运行 16 位的 Windows 程序。

源码:

https://github.com/otya128/winevdm

WineVDM 是 Wine 项目中同名程序的增强版(在其 README 中也提到了),还可以运行 DOS 程序。

值得一提的是 WineVDM 本身是 32 位程序,不过能在 64 位 Windows 中正常运行。