运行 Hyper-V 的 Windows Server 2012r2 和 WinXP 32 位 VM。有一个特定的应用程序只能在 WinXP 上运行,它使用串行连接器与旧柴油机调速器连接。
我已经研究过如何在客户机和主机之间传输 COM 端口,但我要么做错了,要么我不了解其功能。
其他资源包括:
https://charbelnemnom.com/2014/10/hyper-v-enhanced-session-mode-show-options-issue-hyperv/
安装了集成工具,为机器和用户启用了增强模式
在主机上的 powershell 中输入:
[System.IO.Directory]::GetFiles("\\.\\pipe\\")
然后它返回了\\.\pipe\\COM3
我的 USB 转串行适配器。在 XP 客户机上的 Hyper-V 中,我通过选择命名管道编辑了 COM1 串行端口设置,并在管道名称字段中输入此信息,\COM3
这导致显示命名管道路径:字段\\.\pipe\\COM3
然后我将串行电缆连接到端口,以管理员身份在客户机上运行 Putty,但什么也没显示,没有任何交互。我在主机上以管理员身份运行 Putty,然后就可以连接了。
我确信问题出在两个接口的“管道”中,但不知道如何进一步排除故障。我不确定主机连接是 USB 转串行,这会导致与客户机集成的问题。任何帮助都将不胜感激。我将密切关注此线程,以便能够及时提供其他所需信息。
先感谢您!
答案1
Hyper-V 将命名管道中的数据作为 COM 端口提供给 VM。它不会将该命名管道连接到主机的 COM 端口,而这正是将数据传递到 VM 所需的。
我编写了一个在主机操作系统上运行的 Windows 程序,它在主机 OS 上提供主机 COM 端口和命名管道之间的链接,允许您从 Ubuntu VM 使用主机 COM 端口。
您需要以管理员用户身份运行它。