VirtualBox 允许你在虚拟机内模拟串行(COM)端口,使你能够运行遗留应用程序、连接物理串行设备,或在虚拟系统之间建立通信。通过正确配置 VirtualBox 的 COM 端口,你可以将串行数据重定向到主机、共享真实硬件,或使用管道和网络套接字创建虚拟连接。
本文将解释 VirtualBox 串行端口的工作方式、可用的配置选项,以及在虚拟环境中连接和管理 COM 端口的实用方法。
VirtualBox 中的串行端口仿真与管理
在 VirtualBox 中创建的虚拟串行端口默认会被操作系统识别为标准的、与 16550A 兼容的 UART 设备。VBoxManage modifyvm 命令可使该端口模拟其他类型的 UART 设备。虚拟串行端口支持数据接收与发送,以实现双向通信。与主机的连接可通过其操作系统的功能进行自定义。
用户可通过 VirtualBox 的“设置”选项卡或使用 VBoxManage 命令来设置虚拟串行端口。每台虚拟机最多可配置四个虚拟串行端口。端口号在配置期间分配,通常会模拟标准值,例如 COM1、COM2 等。在建立虚拟串行端口时也可使用用户自定义名称。
Virtualbox 中的端口模式选项与通信技术
选择端口模式时有多种选项可用,这会影响虚拟端口的连接。可选项包括:
- 断开连接 – 客户机操作系统会识别该设备,但会将其视为未连接到端口。
- 主机设备 – 此选项将虚拟串口连接到主机计算机的物理串口。路径反映主机操作系统的格式。例如,Linux 使用 /dev/ttyS0,而 Windows 系统使用 COM1。
- 主机管道 – 此选项在 Windows 系统上创建命名管道,或在 Mac、Linux 或 Oracle Solaris 上使用本地域套接字。这是从软件到主机操作系统创建管道连接的首选设置。
- 原始文件 – 此模式将虚拟串口的输出保存到文件中,可用于收集来自客户机操作系统的诊断数据。
- TCP 套接字 – 使用此模式可建立 VirtualBox 串口透传,并允许通过 TCP/IP 网络转发串行数据。虚拟机可以作为服务器或客户端。
当创建多个虚拟串口时,如果这些端口使用相同的中断级别,则不应实施中断共享,以避免通信冲突。
用户可以通过空调制解调器连接在虚拟机之间建立通信。其中一台虚拟机被配置为管道或套接字,第二台虚拟机使用它来连接第一台机器。
TCP 套接字模式支持通过 TCP 创建到客户机串口的外部连接。VirtualBox 同时支持 TCP 服务器模式(可通过 telnet 等工具访问)以及 TCP 客户端模式,适用于虚拟空调制解调器电缆。
了解 VirtualBox 串口可为开发人员和系统程序员提供一种有价值的工具,以扩展其虚拟机的功能。这些端口可用于设备共享、内核调试,或在不需要物理串行接口的情况下建立网络桥接。
VirtualBox 串行端口技术细节
VirtualBox 每台虚拟机最多支持 四个虚拟串行端口。每个端口都会模拟标准 PC 的 COM 接口,并且需要特定的硬件参数,以确保与旧版软件和操作系统兼容。
VirtualBox 中的默认 COM 端口设置
当手动配置串口时,您必须指定 I/O 基地址 和 IRQ 号。VirtualBox 遵循传统的 PC 串口布局:
| COM 端口 | I/O 基地址 | IRQ |
| COM1 | 0x3F8 | 4 |
| COM2 | 0x2F8 | 3 |
| COM3 | 0x3E8 | 4 |
| COM4 | 0x2E8 | 3 |
使用这些默认值有助于避免冲突,并确保来宾操作系统能够正确检测到串行设备。
通过 VBoxManage 配置串行端口
除了 VirtualBox 图形界面之外,还可以使用 VBoxManage 命令行工具来配置串口。这种方法适用于自动化、脚本编写或无头环境。
VirtualBox 提供如下命令选项,例如:
--uart– 定义串口编号和硬件参数--uartmode– 指定端口的连接方式(主机设备、管道、套接字、文件等)--uarttype– 设置 UART 仿真类型
命令行配置使高级用户无需依赖 GUI 即可精确控制串口行为。
VirtualBox 串口直通与串口转以太网连接器
为了简化 VirtualBox 串口透传并启用对物理串行设备的访问,你可以使用 Serial to Ethernet Connector。该软件通过在虚拟机内创建虚拟串口,使 VirtualBox 虚拟机能够连接到连接在本地或远程 Windows 主机上的串行设备。
通过使用 Serial to Ethernet Connector,虚拟机可以对网络连接的串行外设获得完全控制,就像它们是直接连接的一样。这种方法为串行设备管理增加了灵活性,使硬件能够在不同虚拟会话之间轻松重新分配,而无需重新配置虚拟机。
在 VirtualBox 中设置 COM 端口
以下步骤演示如何与您的虚拟机建立并共享虚拟串行端口。
1. 下载并在将共享物理串口的计算机上安装 Serial to Ethernet Connector。
2. 启动程序并打开服务器连接选项卡。
3. 提供主机的 COM 端口名称以及将监控通信的 TCP 端口。
4. 选择创建服务器连接。
5. 在客户端连接选项卡中,将串行端口连接到虚拟机,位于将访问共享物理端口的来宾操作系统上。
6. 提供在创建服务器期间定义的 TCP 端口名称以及主机计算机的 IP 地址。
7. 为虚拟机的串行端口选择一个名称。
8. 选择创建客户端连接。
视频教程
COM Port Redirector 使您能够在虚拟机环境中访问串行端口。建立客户端连接后,COM Port Redirector(又称 Serial to Ethernet Connector)在使用已连接设备时为来宾虚拟机提供与直接物理连接相同级别的功能。