在VirtualBox中增强FreeBSD虚拟机

在 VirtualBox 中增强 FreeBSD 虚拟机

注:以 VirtualBox 3.2.12、FreeBSD 8.1 为例。
在VirtualBox中安装完FreeBSD后,会遇到无法调整桌面分辨率(最大800×600)、鼠标无法移动、无法启用Seamless窗口的问题。这皆因没有安装“VirtualBox增强功能包 for FreeBSD”的原因。VirtualBox程序本身并不提供该安装软件,只提供了Windows、Linux、Solaris版的增强包。但我们可以安装VirtualBox OSE的增强包(virtualbox-ose-additions)来代替。
VirtualBox OSE是VirtualBox的GPL开源版本,与闭源版在功能上有少许不同。我们平时在FreeBSD中安装的VirtualBox就是OSE版。

安装步骤如下:

一、首先要先让鼠标动起来

我们在sysintall中配置鼠标时点击enable启用鼠标服务后,点击鼠标左键这时屏幕会出现指针图标但指针就是不会动。在X-Window中也是如此。这是因为VirtualBox自作主张的启用了鼠标集成功能,当指针从主机移到虚拟机窗口中时,VirtualBox会自动让虚拟机捕获到鼠标,这功能在Linux和Windows作虚拟机时工作的挺好但在FreeBSD中就造成鼠标不会动的问题。
我们要先关闭VirtualBox的鼠标集成功能。将鼠标移入虚拟机中,再按右Ctrl+I键(右Ctrl是默认的热键)禁止自动独占鼠标,这样FreeBSD中的鼠标就会动了。如果要将鼠标移出虚拟机,按右Ctrl键切换到主机。
二、安装VirtualBox OSE增强功能包

1、用root执行
# pkg_add -r virtualbox-ose-additions

# cd /usr/ports/emulators/virtualbox-ose-additions && make install clean

2、在/etc/rc.conf中增加
vboxguest_enable=“YES”

3、在xorg.conf中修改
显卡部分:
  Section "Device"
      ### Available Driver options are:-
      ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
      ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
      ### [arg]: arg optional
      Identifier  "Card0"
      Driver      "vboxvideo"  (修改)
      VendorName  "InnoTek Systemberatung GmbH"
      BoardName   "VirtualBox Graphics Adapter"
      BusID       "PCI:0:2:0"
  EndSection
鼠标部分:
  Section "InputDevice"
      Identifier  "Mouse0"
      Driver     "vboxmouse"  (修改)
  EndSection

4、拷贝HAL fdi文件;
# cp /usr/local/share/hal/fdi/policy/10osvendor/90-vboxguest.fdi /usr/local/etc/hal/fdi/policy/
上面做完后,鼠标可以自由在主机与虚拟机中移动(仅限X-Window环境中,文字模式下参看第一节),可以选择更高的分辨率。但FreeBSD分辨率还是固定的,不能随虚拟机窗口调整,不能共享剪切板,不能启用Seamless窗口。

5、用root执行
# VBoxClient –clipboard 共享剪切板
# VBoxClient –display 自动调整分辨率
# VBoxClient –seamless 启动seamless窗口模式
可惜的是没有共享文件夹(分配数据空间)功能。

参考:VirtualBox in FreeBSD wiki (http://wiki.freebsd.org/VirtualBox)

原文链接:http://wiki.freebsdchina.org/software/v/virtualbox-additions