最近,我在回顾旧游戏时,发现 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实现兼容性,省去安装虚拟机的麻烦,这是一个方便的解决方案。