如何在 VirtualBox 中从客户机使用主机串行端口?

如何在 VirtualBox 中从客户机使用主机串行端口?

作为一名嵌入式软件工程师,串行端口访问对我来说是非常关键的要求,无论我使用哪种操作系统以及如何使用它(我的意思是是否使用虚拟化)。

我的主要操作系统是 Windows XP,但是我需要在 Linux 上进行许多业余项目。我讨厌管理两台计算机,原因有两个:首先,多余的电线会让工作场所变得非常杂乱;其次,我总是需要一些空间来存放电源、示波器、编程器、调试器等不可避免的物品。

因此,我在 Windows 主机上安装了 Kubuntu 作为客户操作系统,并希望访问主机串行端口以进行调试。Virtual Box 确实提供了此功能,而且配置起来也相当容易。问题是,它可以用多种方式完成,而这正是用户可能感到困惑的地方,这就是我写这篇文章的原因。

答案1

您可以为该特定的虚拟机启用串行端口吗?

在 VirtualBox 中,确保您的虚拟机未启动,并且

  • 右键单击您的虚拟机
  • 点击设置,
  • 选择“串行端口”菜单
  • 选择要通过的串行端口
  • 单击复选框以启用它。

您还可以从此屏幕更改串行端口的设置。

答案2

我找到了这个问题,发现现有的答案并不令人满意。以下是我解决类似问题的方法。

我在 Windows (Vista) 主机上的 VirtualBox 4.2 上以客户机身份运行 OpenSuSE 12.2。我想与 X10“Firecracker”串行设备通信。对我有用的是

  Port 1
  [X] Enable Serial Port
     Port Number: COM1  IRQ: 4  I/O Port: 0x3f8 
       Port Mode: Host Device
                  [ ] Create Pipe
  Port/File Path: COM1

这里的关键(我不太清楚)是选择“主机设备”,然后输入看似多余的“COM1”作为主机路径。我没有选择“创建管道”。

答案3

Virtualbox 允许每个 VM 拥有两个串行端口。我尝试了所有办法,让第一个端口正常工作(设置 | 串行端口 | 端口 1 选项卡页)。

最后我去掉了端口 1 上“启用串行端口”的勾选,然后尝试端口 2。它立即起作用了,客户机可以使用主机的物理串行端口。

主机 = Win 7 64 位 客户机 = Win XP Pro SP3

相关内容