前言:
我刚刚在办公室放了一台 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。