最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【详解】如何配置VirtualBox中的虚拟机的串口

VirtualBox crifan 19529浏览 0评论

此文,目的在于,将VirtualBox官网中,关于如何配置串口方面的配置的英文解释:

Serial ports

翻译为中文,并且截图演示,如何对应的去配置。

 

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

(此处以VirtualBox中的某个XP虚拟机为例)

serial port not enable


关于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

对应着,图形界面中的,端口编号:

port number

 

设置端口的类型(模式)

目前支持4种模式:

4 kind of port mode

 

未连接

设置成未连接,那么虚拟机内看到就是,有串口,但是物理上没有连接。

对应设置最简单了:

unconnected port

 

主机管道

把串口设置成主机上的一个管道pipe(pipe是个软件上的概念)

如何设置:

  • Windows系统中:名字必须为
    \\.\pipe\<name>

    其中name自己随便起一个(当然,应该起一个,和你的虚拟机所对应的,有意义的名字)

  • Mac/Linux/Soloris:本地域内的一个socket(local domain socket)。同时,需要保证虚拟机有对应的访问权限。其中比较常用的是 /tmp,然后再用对应的工具,比如socat去管理和操作

 

此处,即可如下设置:

use pipe for com1

 

主机设备

说白了就是,和你主机,对应着真实的电脑中的串口。

比如你电脑中有一个COM1,那么此处就是设置为对应的 主机设备,并且对应的端口写成

  • Windows系统:COM1
  • Linux类系统:类似于/dev/ttyS0

此处,对于XP虚拟机来说,就应该这样设置:

host dev port com1

 

裸文件

将串口输出,放到一个文件里面去。

具体设置,就很简单了,比如我在对应的虚拟机磁盘.vdi路径下,随便创建一个文件:

D:\tmp\tmp_dev_root\virutalbox\xp\deepin_xp_com1.txt

然后再去设置为 裸文件,同时填上上述文件:

bare file for com1

即可。

 

一些注意事项

很容易想到,如果使用了两个串口,那么最好不要设置为同一个COM,比如两个都设置为COM1,那么就容易有问题。因为两者共享同一个中断。

另外,如果用了两个串口,那么最好是COM1和COM2,而不是COM1和COM3,因为COM1和COM2。

其原理,从最开始的COM1到COM4的配置,即可看出。尽量使得两个串口,不要在资源使用上有冲突即可。

转载请注明:在路上 » 【详解】如何配置VirtualBox中的虚拟机的串口

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1)

  1. 终于将虚拟机里的串口使用上了!
    bobo10年前 (2015-03-25)回复
85 queries in 0.186 seconds, using 22.18MB memory