Невозможно предоставить гостевой ОС VirtualBox доступ к физическому порту LPT1 хоста.
Предисловие:
Я только что установил 64-битный компьютер с Windows 10 (Dell Optiplex 760) в офисе, чтобы заменить старый 32-битный компьютер с Windows XP.
ПК должен иметь возможность печати на очень старом матричном принтере - Star LC100. Нет доступных 64-битных драйверов - только 32-битный. Он эмулирует Epson EX-800 (не XP-800). Этот принтер необходим, поскольку он печатает на тканевые этикетки, которые вымыты. Воздействие точечной матрицы означает, что чернила не исчезают.
Я попытался использовать драйвер Generic Text-Only на хосте, но он выдает ошибку и не может распечатать.
Итак, я установил 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 физического хоста? Порт отображается в диспетчере устройств операционной системы хоста.
2 ответа
Хотя ссылка на руководство показывает примеры, такие как:
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, которые могут столкнуться с этим в будущем.
В конце я использовал VMWare Workstation Pro 12, которая поддерживала графический интерфейс для добавления порта LPT1 и работала великолепно, прямо из коробки!
Я выбрал VMWare, потому что хотя Virtual PC предположительно поддерживает LPT-порты, он не может быть установлен в Windows 10, поскольку Hyper-V заменил его; который не имеет поддержки LPT.