phpvirtualbox是一个使用PHP写成的可以在Web端远程管理VirtualBox虚拟机的服务。它与VirtualBox之间是通过vboxwebsrv这个进程对外提供的SOAP服务进行通信,从而做到对虚拟机的信息获取与操控的效果的。

显然,远程服务器上安装好的VirtualBox绝大多数情况都是运行在无头模式(headless)下,没有图形化界面,这给虚拟机的系统安装造成了很大不便。那么如何远程连接虚拟机的图形化界面以安装操作系统呢?

我们知道,VirtualBox提供了VRDP功能,可以通过phpvirtualbox的Settings界面对虚拟机的VRDP进行设置,打开该功能,并设置服务端口。如下图。

iShot2022-03-03 13.50.12.png

但可能是因为phpvirtualbox本身的配置没有增加监听地址这一选项,打开VRDP之后,虚拟机监听的VRDP端口是在本地环回地址(127.0.0.1或localhost)上的,导致通过远程方式连接VRDP无效。如下图。

iShot2022-03-03 14.18.24.png

解决这一问题的办法是,进入VirtualBox所在服务器,使用vboxmanage命令手工设置虚拟机的vrdeaddress属性即可。具体命令如下:

#查看虚拟机列表。
[vbox@localhost ~]$ vboxmanage list vms
"test" {befd693e-02c0-4312-b267-b357e5f38f6d}

#修改vrdeaddress属性,指定为空则允许所有地址访问。
[vbox@localhost ~]$ vboxmanage modifyvm befd693e-02c0-4312-b267-b357e5f38f6d --vrdeaddress ""

上述操作要在虚拟机关机情况下进行,否则无法修改成功。命令执行结束后可以在phpvirtualbox界面看到VRDP监听的地址已经发生变化,不再是本地环回地址了。如下图。

iShot2022-03-03 14.19.45.png

此时,通过mstsc也可以连接到虚拟机显示器,可以正常安装系统。如下图。

iShot2022-03-03 14.01.41.png

标签: none

添加新评论