如何配置VirtualBox中的虚拟机的串口

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何配置VirtualBox中的虚拟机的串口相关的知识,希望对你有一定的参考价值。

1、VirtualBox的设置,

端口编号是指在VirtualBox中的WinXP中串口的符号;
端口模式选择Host Device,表示VirtualBox和主机Ubuntu共用同一个物理串口;
端口位置/dev/ttyS0表示虚实共用的物理端口在Host OS Ubuntu中的设备号
———这样VirtualBox中的端口1就成功设定了

2、 进入Guest OS WinXP后的动作:

(1)虽然在VirtualBox中已经为Guest OS WinXp 设定了串口设备,但是进入WinXP后却无法在设备管理器中看见,于是,进入控制面板-->添加硬件,选择 “是,我已经连接了此硬件” --> "添加新的硬件设备" --> "搜索并自动安装硬件",有时这样即可自动检测出COM1并安装;
(2)如果此处并未自动搜索出COM设备,则需要手动选择“端口(com和LPT)”-->"标准端口类型"-->"通讯端口",不过这样不会得到COM1而是COM3设备,并且没有正确地被驱动; 在设备管理器中,右键选择COM3-->属性-->资源-->手动配置,这里其实无须改动什么,直接确定即可,然后系统会提示重启,重启后,COM3就能构正常使用了;
重启后,如果不喜欢COM3而仍然想用COM1,此时也很容易了,设备管理器中卸载COM3设备,然后重复上述(1)的过程,肯定会自动检测出COM1。

这样,就可以在VirtualBox中和主机一样的直接正常使用物理串口了~~~~~~

-
此文,目的在于,将VirtualBox官网中,关于如何配置串口方面的配置的英文解释:
Serial ports
翻译为中文,并且截图演示,如何对应的去配置。

翻译之前,写截个图,说明一下,对于普通的VirtualBox中的虚拟机,默认配置情况下,是没有开启对应的串口的,其配置对应的是这样的:
(此处以VirtualBox中的某个XP虚拟机为例)

关于VirtualBox中的虚拟机,为何还需要使用到串口的部分,就不翻译了。
直接翻译,和配置串口有关的内容:
配置串口的方式
可以通过VirtualBox的图形界面或者命令行工具VBoxManage去配置对应的串口。
图形界面:就是上述截图中的 虚拟机配置->串口->端口1,直接去设置即可;
VBoxManage:此处不多解释,有兴趣的自己去看:VBoxManage modifyvm,对应所需工具去这里下载:VMWare Serial Line Gateway

串口数目的限制
每个虚拟机,最多可以支持2个串口,即上述截图中的,端口1,和端口2.
由于多数人都用不到串口,所以默认情况下,两个端口都是没有开启的。

配置串口的步骤
设置串口编号
即,用哪个COM。
默认情况下,有4种,分别是:
COM1: I/O base 0x3F8, IRQ 4
COM2: I/O base 0x2F8, IRQ 3
COM3: I/O base 0x3E8, IRQ 4
COM4: I/O base 0x2E8, IRQ 3
对应着,图形界面中的,端口编号:

设置端口的类型(模式)
目前支持4种模式:

未连接
设置成未连接,那么虚拟机内看到就是,有串口,但是物理上没有连接。
对应设置最简单了:

主机管道
把串口设置成主机上的一个管道pipe(pipe是个软件上的概念)
如何设置:
Windows系统中:名字必须为

\\\\.\\pipe\\<name>
其中name自己随便起一个(当然,应该起一个,和你的虚拟机所对应的,有意义的名字)
Mac/Linux/Soloris:本地域内的一个socket(local domain socket)。同时,需要保证虚拟机有对应的访问权限。其中比较常用的是 /tmp,然后再用对应的工具,比如socat去管理和操作

此处,即可如下设置:

主机设备
说白了就是,和你主机,对应着真实的电脑中的串口。
比如你电脑中有一个COM1,那么此处就是设置为对应的 主机设备,并且对应的端口写成
Windows系统:COM1
Linux类系统:类似于/dev/ttyS0
此处,对于XP虚拟机来说,就应该这样设置:

裸文件
将串口输出,放到一个文件里面去。
具体设置,就很简单了,比如我在对应的虚拟机磁盘.vdi路径下,随便创建一个文件:
D:\\tmp\\tmp_dev_root\\virutalbox\\xp\\deepin_xp_com1.txt
然后再去设置为 裸文件,同时填上上述文件:

即可。

一些注意事项
很容易想到,如果使用了两个串口,那么最好不要设置为同一个COM,比如两个都设置为COM1,那么就容易有问题。因为两者共享同一个中断。
另外,如果用了两个串口,那么最好是COM1和COM2,而不是COM1和COM3,因为COM1和COM2。
其原理,从最开始的COM1到COM4的配置,即可看出。尽量使得两个串口,不要在资源使用上有冲突即可。
参考技术A 方法/步骤

1
右击XP系统 点击设置 出现设置界面
步骤阅读
2
首先我们先了解串口配置的方式
可以通过VirtualBox的图形界面或者命令行工具VBoxManage去配置对应的串口。
图形界面:就是上述截图中的 虚拟机配置->串口->端口1,直接去设置即可;
步骤阅读
3
串口数目的限制
每个虚拟机,最多可以支持2个串口,即上述截图中的,端口1,和端口2.
由于多数人都用不到串口,所以默认情况下,两个端口都是没有开启的。
4
配置串口的步骤
即,用哪个COM。
默认情况下,有4种,分别是:

COM1: I/O base 0x3F8, IRQ 4

COM2: I/O base 0x2F8, IRQ 3

COM3: I/O base 0x3E8, IRQ 4

COM4: I/O base 0x2E8, IRQ 3

对应着,图形界面中的,端口编号:
如下图所示
步骤阅读
5
设置端口的类型(模式)
目前支持4种模式:
步骤阅读
6
如果我们设置成未连接,那么虚拟机内看到就是,有串口,但是物理上没有连接。
步骤阅读
7
下拉选项 找到主机管道
把串口设置成主机上的一个管道pipe(pipe是个软件上的概念)
Windows系统中:名字必须为\\.\pipe\<name> (name表示一个名字可以随便)
Mac/Linux/Soloris:本地域内的一个socket(local domain socket)。同时,需要保证虚拟机有对应的访问权限。其中比较常用的是 /tmp,然后再用对应的工具,比如socat去管理和操作
步骤阅读
8
向下拉 找到主机设备
主机设备说白了就是,和你主机,对应着真实的电脑中的串口。
比如你电脑中有一个COM1,那么此处就是设置为对应的 主机设备,并且对应的端口写成
步骤阅读
9
继续下拉 找到裸文件
裸文件将串口输出,放到一个文件里面去。
具体设置,就很简单了,比如我在对应的虚拟机磁盘.vdi路径下,随便创建一个文件:
D:\tmp\tmp_dev_root\virutalbox\xp\deepin_xp_com1.txt
然后再去设置为 裸文件

如何配置 VirtualBox 虚拟机的网络模式

最近有小伙伴遇到虚拟机网络通信的问题。本文以 VirtualBox 为例梳理一下虚拟机的网络设置。

为什么是 VitualBox,因为这款虚拟机软件免费,简单易用,性能也很优异。完全能够满足日常使用。

闲话少絮,步入正题。

网络接入模式

VirtualBox 提供了 7 种网络接入模式,如下图所示:

这 7 种模式分别是:

  • 网络地址转换(Network Address Translation,NAT)模式
  • 桥接网卡模式
  • 内部网络模式
  • 仅主机网络模式
  • 通用驱动
  • NAT 网络
  • Cloud Network

其中,前 4 种是最常用的网络模式。本篇文章主要介绍这几种网络模式的配置和应用场景。

网络地址转换(NAT)模式

NAT 模式是实现虚拟机上网最简单的方式,且不需要进行其他设置。如果只是简单地实现虚拟机上网,选择这个模式就可以了。

这个模式下,虚拟机不占用局域网的 IP 地址,仅分配到连接宿主机的内部地址。虚拟机上网时,需要经过地址转换到宿主机后,再去访问互联网。

默认情况下,虚拟机可以通过网卡访问到宿主机和网络。但是,宿主机无法通过网络访问到虚拟机,因为虚拟机的 IP 地址是私有的,宿主机不会路由到虚拟机中。

虚拟机分配到的 IP 地址为 10.0.2.15,网关地址为 10.0.2.2。虚拟机可以通过这个 IP 地址访问宿主机和外部网络。

虚拟机访问宿主机和互联网

NAT 模式下,主机如何访问虚拟机呢

通过设置端口转发机制,宿主机可以访问到虚拟机中的服务。例如,宿主机访问虚拟机中的 HTTP 服务,可以设置为 80 端口转发。

如此,宿主机可以访问虚拟机 80 端口提供的服务。

桥接网卡模式

Virtual 连接你的真实网卡并和真实网卡直接交换数据。虚拟机可以直接对外提供服务。

桥接网卡,相当于,通过主机网卡,架设了一座桥,直接连入到网络中。这种模式下,虚拟机能够分配到一个网络中独立的 IP 地址,虚拟机所有的网络功能和存在于网络中的实体机一样。

宿主机可以通过网络访问虚拟机,网络中的其他主机也可以访问虚拟机的网络服务。

内部网络模式

这种模式适用于,同一宿主机上,不同虚拟机之间的网络通信。虚拟机和宿主机不能通信,与外网同样不能通信。从技术上来说,桥接模式也可以实现不同虚拟机之间的通信,但是,这种模式有安全优势。

内部网络在设置时会自动创建,不需要其他配置。每一个内部网络根据名称来区分。

VirtualBox 驱动程序实现了一个完整的以太网交换机,当检测到有两个或者两个以上的活动虚拟网卡,具有相同的内部网络 ID,则会自动将他们连接到这个网络交换机上。

仅主机网络模式

这种模式应用于创建包含主机和一组虚拟机之间的网络,不需要主机的物理网卡,而是创建一个虚拟网卡提供网络连接。

仅主机(Hots-Only)网络模式被认为是桥接模式和内部网络模式的混合体:

  • 虚拟机和宿主机可以互相通信,他们之间需要通过一个物理以太网交换机连接。
  • 作为内部网络,不需要存在一个物理网卡,虚拟机无法跟外部网络通信。

在这个模式下,VirtualBox 将在宿主机中模拟出一张专供虚拟机使用的网桥,所有的虚拟机连接到这个网桥上。

可以通过如下方式进行配置

这种模式下,虚拟机默认分配到的 IP 地址为 192.168.56.102,主机的 IP 地址为 182.168.56.1,两者之间可以通过 IP 互相访问。同一宿主机上的其他虚拟机默认会分配到 192.168.56.X 的 IP 地址,虚拟机之间通过 IP 地址也可以互相访问。

注意:这种模式下,跟宿主机本身的物理网卡没有任何关系。

小结

经过上面的介绍,相信你已经对虚拟机网络配置有所了解。

行动起来吧,根据自己的需求,去配置虚拟机的网络吧。


以上是关于如何配置VirtualBox中的虚拟机的串口的主要内容,如果未能解决你的问题,请参考以下文章

如何修改VirtualBox虚拟机的硬件信息

虚拟机的串口突然接收不到消息,求大佬帮忙看看

linux相关知识在VirtualBox中配置Linux版虚拟机的静态地址

如何给VirtualBox虚拟机的ubuntu LVM分区扩容

VirtualBOX中的Fedora 25 客户机如何全屏化显示?如何安装增强工具?

virtualbox中centos虚拟机网络配置