免灌旧系统,winevdm小工具让64位元Windows也能执行16位元旧程式

笔者最近在回味旧游戏的时候,发现Windows 10已经偷偷把内建的NTVDM模拟器功能拿掉,因此需要透过第三方小工具来建立执行环境。

WOW!原来Windows还有这一手

在1995年作业系统由Windows 3.1过渡到Windows 95的时期,因为Windows 95仍然是建立在Dos上的软体,本质仍为16/32位元混合系统,因此不需修改就能直接执行旧有16位元应用程式,同时也能支援新的32位元应用程式。不过以Windows NT为基础的作业系统,则无法直接达到上述相容性。

为了解决这个问题,Microsoft在1993年就为采用IA-32处理器架构IA-32的Windows NT作业系统提供NTVDM(NT Virtual DOS Machine,NT DOS虚拟机器),让使用者能在32位元的Windows NT作业系统中执行16位元Windows应用程式,以及16、32位元DOS应用程式。

此外Microsoft推出了Windows on Windows(简称WOW)相容层,能够扩展透过NTVDM执行为Windows 3.x开发的旧式16位元Windows应用程式之相容性。之後Microsoft也推出WOW64,让64位元Windows作业系统能够执行32位元应用程式。

不过Microsoft似乎已经取消了在Windows 10使用NTVDM的功能,笔者依照Microsoft官方网站的《NTVDM and 16-bit app support》说明文件操作,发现无法正常启用该功能。

透过winevdm达到相容

winevdm下载连结
https://github.com/otya128/winevdm/releases

开发者otya128所开发的winevdm工具软体功能与NTVDM类似,它整合了处理器模拟器、以Wine为基础的Win16->Win32转换程式码(wine based Win16->Win32 conversion codes)、16位元DOS模拟器等元件,能够让64位元的Windows 10作业系统执行16位元应用程式。

下载并解压缩winevdm之後,只需将16位元应用程式拖曳到otvdm.exe上,就能直接执行。如果出现「遗失VCRUNTIME140.dll」的错误讯息,只需安装Microsoft Visual C++ Redistributable for Visual Studio 2017 (32-bit)就可解决问题。

此外读者也可以执行解压缩得到的install捷径安装程式,如此一来就能够像开启一般程式一样,双击16位元应用程式就能直接执行。如果winevdm的登录档被Windows Update覆盖而失效,只需重新执行install即可,读者也可以透过执行uninstall.reg解除安装。

笔者实际以Glider 4.0游戏进行测试,在未安装winevdm的情况下,执行Glider 4.0会出现「此应用程式无法在您的电脑上执行」的错误讯息,而安装之後,游戏就能正常执行,不过在游戏中进行按键设定时,会触发当机情况,此外并没有发现其他问题。

▲透过winevdm执行Windows 3.1版的Glider 4.0游戏,执行效果相当流畅。

虽然说到现在还需要执行的Windows 3.1程式所剩无几,但万一遇到需要的时候,就可以透过winevdm达到相容的效果,并省下安装虚拟机器的麻烦,不失为一方便的解决方案。

0 0 投票数
Article Rating
订阅评论
提醒
guest
0 Comments
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x