Virtualbox终极无间配置篇Virtualbox有个问题,就是即使是相同用户启动,如果用户session不一样,那么还是会看到不同的启动结果,不能相互管理不同session启动的虚拟机(via)。这就杯具了啊,有时候,启动几个虚拟机,但是其中有一个死机了,要从主机的任务管理器里结束进程,我咋知道应该结束哪个??? 还有一个问题,就是网络默认是NAT,很灵活也很方便,端口转发很实用。但是有一个致命伤,就是大流量多连接情况下,容易导致内存溢出,虚拟机断网,甚至进程崩溃等问题。 我看到最近几个更新的changelog有改善NAT的问题,所以卸载了原来的Virualbox,重启,安装新版,重启。然后打开虚拟机,卸载Virtualbox Guest Addtion,重启,安装新版,重启。至此,由外到里更新完毕。 然后,开始正式的配置。 同步全局的Virtualbox设置 我们知道,默认的Virtualbox设置是因用户而异的,一般存放在“C:\Documents and Settings\用户名\.Virtualbox”文件夹中。我们可以设定一下,使设置文件统一存放:新建“VBOX_USER_HOME”变量,里面填入设置存放的目录即可。 虚拟机以服务形式启动(via) 下载srvstart,编辑下面内容存为srvstart.ini,比如保存在D盘根目录下:
然后运行下面命令即可安装里面的WinXP为系统服务VMWinXP:
类似的,安装里面的Win2003为系统服务则是:
当然,可以用系统命令sc创建系统服务,不过要注意两点:
WEB管理Virtualbox: 由于相同用户不同session也会导致虚拟机状态不同步,而且启动服务需要开启桌面互动,所以我们只能用默认的本地服务(Local Service)身份来启动服务。而Virtualbox的web service默认的验证方式是用户验证,所以我们要先把验证取消:
然后设置Virtualbox的web api为服务,还是使用srvstart工具。我们先编辑刚刚的srvstart.ini,在末尾加上:
并安装其为“VboxWebSrv”服务:
然后到SVN“phpvirtualbox”项目的源码,它是Virtualbox的WEB GUI。像安装PHP程序一样安装。注意要SOAP扩展,以及把config.php的用户名和密码置空。 启动“VboxWebSrv”服务,访问你刚刚安装的“phpvirtualbox”,应该看到了正常的仿真Virtualbox面板。怎么样,可以通过web控制了吧。最重要的是,解决了不同session的虚拟机有不同状态的问题。 要注意两点:
NAT环境下的端口映射和端口转发(via)
命令解释: 跟之前的一样,我们可以看到熟悉的VBoxManage的身影。紧随其后的是 modifyvm ,跟之前版本的命令不一样。然后就是“VM NAME”虚拟机名称,将其替换成相应的虚拟机名称就可以了。接着就是重点部分了,NAT端口映射的参数。 如果要删除端口映射,只需要输入以下命令:
清理压缩Virtualbox磁盘镜像 可以使用VBoxManage命令中的modifyhd的compact参数解决。Windows虚拟机可以使用微软官方的SDelete工具来清理磁盘。 |
|
来自: 用勿龍潛 > 《virtualbox》