无法让 VirtualBox 客户操作系统访问主机物理 LPT1 端口

无法让 VirtualBox 客户操作系统访问主机物理 LPT1 端口

前言:

我刚刚在办公室放了一台 64 位 Windows 10 机器(戴尔 Optiplex 760)来替换旧的 32 位 Windows XP PC。

PC 需要能够打印到非常老旧的点阵打印机 - Star LC100。没有 64 位驱动程序可用 - 只有 32 位驱动程序。它模拟 Epson EX-800(不是 XP-800)。需要此打印机,因为它打印到洗过的织物标签上。点阵的影响意味着墨水不会褪色。

我尝试在主机上使用通用文本驱动程序,但它出现错误并且无法打印。


因此我在主机上安装了 VirtualBox 和 32 位 XP,有一个 Star LC100 驱动程序。我现在正尝试让客户操作系统访问物理 LPT1 端口。

下列的本指南,我运行了以下命令:

cd "c:\Program Files\Oracle\VirtualBox"
VBoxManage modifyvm "XP" --lptmode1 "LPT1:"
VBoxManage modifyvm "XP" --lpt1 0x378 7

但是现在当我尝试启动虚拟机时,出现以下错误:

Parallel#0 could not open 'LPT1:' (VERR_FILE_NOT_FOUND).
Parallel device 0 cannot attach to host driver (VERR_FILE_NOT_FOUND).

Result Code: E_FAIL (0x80004005)
Component: ConsoleWrap
Interface: IConsole {872da645-4a9b-1727-bee2-5585105b9eed}

我也尝试以管理员身份运行 CMD 和 VirtualBox,结果相同。

如何让客户 XP 操作系统访问物理主机操作系统 LPT1 端口?该端口显示在主机操作系统的设备管理器上。

答案1

尽管链接指南显示如下示例:

VBoxManage modifyvm "My VM Name" --lptmode1 "LPT4:"
VBoxManage modifyvm "My VM Name" --lpt1 0x378 7

然后原始发帖者运行了以下命令:

VBoxManage modifyvm "XP" --lptmode1 "LPT1:"
VBoxManage modifyvm "XP" --lpt1 0x378 7

似乎基于此错误单这条具体评论命令如下;请注意如何:从中删除--lptmode1 "LPT1"

VBoxManage modifyvm "XP" --lptmode1 "LPT1"
VBoxManage modifyvm "XP" --lpt1 0x378 7

这就是说,原始海报解决了他们自己的问题通过切换到 VMWare。但这种错误似乎已经够烦人的了,因此有必要为将来可能遇到这种问题的 VirtualBox 用户澄清解决方案。

答案2

最后我使用了 VMWare Workstation Pro 12,它具有添加 LPT1 端口的 GUI 支持,并且开箱即用,运行良好!

我选择 VMWare 是因为虽然 Virtual PC 据称支持 LPT 端口,但它无法安装在 Windows 10 上,因为 Hyper-V 已经取代了它;而 Windows 10 不支持 LPT。

相关内容