我刚刚虚拟化了一台运行 Windows XP Pro SP3 的物理机。复制它的物理机正在运行日常运行和安全所需的一款关键软件。
该软件通过DB-9 RS232串行端口(COM1)与单独的设备通信。
我需要新创建的 VM 能够通过主机服务器 (Server 2012 R2) 上的物理串行端口与同一设备通信。我使用 Hyper-V 作为 VM 的虚拟机管理程序。我可以看到可以在 VM 的设置中设置虚拟 COM 端口,但从我对该主题的研究来看,如果不使用第三方软件,似乎无法在 Hyper-V 中将虚拟 COM 端口直接映射到物理端口。
我的问题是:如何允许我的虚拟机通过 Hyper-V 访问主机的物理串行端口,如果我不能通过 Hyper-V 执行此操作,哪个虚拟机管理程序将允许我执行此操作?
答案1
如何允许我的虚拟机通过 Hyper-V 访问主机的物理串行端口
Hyper-V 不支持通过 COM 端口。你这次运气不佳。
答案2
我在这篇博文中找到了这个问题的答案http://www.goodjobsucking.com/?p=214
使用名为 com0com 的程序http://com0com.sourceforge.net/ 您可以通过网络设置一个连接到主机上的物理 COM 端口的虚拟 COM 端口。
按照博客文章中的说明进行设置。
答案3
从我个人的经验来看,com0com 在大多数情况下都运行良好。由于某些未知原因,某些应用程序(例如 Suunto Dive Manager)无法检测到 com0com 虚拟端口,因此您必须使用其他解决方案。Eltima VSPD 的性能https://www.virtual-serial-port.org/有时似乎更好。在这种情况下,Windows 和虚拟机可以很好地交互。
答案4
我想添加一个链接https://github.com/tdhoward/COMpipe- 允许将主机 COM 连接到管道。只是不要忘记在 Hyper-v 中启动您的 VM,您需要运行它才能使管道存在,并且 COMpipe 能够连接到管道。