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