Windows Server 2008 R2 上的 16 位应用程序虚拟化

Windows Server 2008 R2 上的 16 位应用程序虚拟化

我很快就要升级客户的 2003 终端服务器,但他们仍然需要运行 16 位 DOS 应用程序。我知道 R2 不支持这一点,但如果可以通过虚拟化解决这个问题,我还是愿意使用它。

是否可以安装 32 位客户操作系统来运行 16 位应用程序,并让远程桌面会话使用远程应用程序运行该应用程序?我以前没有使用过 Hyper-V,所以对整个领域不太了解。许可要求是什么?

可能会使用双处理器四核机器,我认为这应该足以使用这个 32 位操作系统处理大约 10 个远程桌面会话?

答案1

我不确定我是否读懂了您的描述;如果您虚拟化系统,您将在终端服务器中运行旧版本的 Windows,并让它们连接到该旧版本以从内部运行应用程序。

我甚至不确定是否建议在终端服务器中为多个用户运行虚拟化。Hyper-V 之类的东西旨在创建专用的虚拟化服务器(即运行邮件服务器、DNS 服务器等的 Hyper-V 服务器,而不是虚拟化子会话的终端服务器。这基本上就是 Win32 子系统的目的)。

如果您要获取服务器,对其进行 Hyper-V 处理,然后在其中以旧版 Windows 的来宾身份运行终端服务器,我不确定这样做能给您带来什么好处,除非您要迁移其他服务器或在同一 Hyper-V 服务器上进行整合。您将遭受性能损失,而这需要通过将其他服务器添加到同一 Hyper-V 服务器的优势来抵消。

可能可以做的是安装 virtualbox,看看是否可以在其会话中运行某个版本的 DOS(如 FreeDOS),如果应用程序将在其中运行。或者旧版本的 DOS。不过,您必须测试它以查看它是否与多个会话兼容,因为您可能需要调整对硬件设置的访问,以确保 Windows 不会崩溃或 Virtualbox 会话不会崩溃。

不过我可能有点困惑。现在正是凌晨……但根据您要向 hyper-v 服务器添加的内容,我会先对 Virtualbox 进行单独会话测试。

答案2

如果这只是一个短期现象,直到他们放弃 16 位应用程序,你可以看看道斯宝箱- 它实际上是为运行旧游戏而设计的,但据我所知它是一个 32 位应用程序,因此可以托管在 Server 2008 R2 机器上。不过,您需要检查它如何处理映射驱动器和打印。

答案3

如果您愿意,您可以在 Windows 2008 R1 终端服务器(32 位操作系统)上运行 16 位应用程序。您可以在此终端服务器上使用 2008 RDS CALS,以便将来可以将它们重新用作 RDS CALS。您只需弄清楚 16 位应用程序的限制。例如,如果应用程序工作目录的实例需要为每个连接提供自己的空间。我制作了一个简单的批处理文件,它采用连接名称,删除前 4 个字符以获得唯一的 8 个字符 16 位文件夹命名限制,根据唯一名称创建工作目录并将工作目录复制到其中并从中运行应用程序。您可以使用 RemoteApp 发布一个批处理文件,该文件将运行例程并在其自己的工作目录中启动应用程序。我还在复制文件之前检查了它是否已经创建。

相关内容