23.3. 作为宿主 OS 的 FreeBSD

在过去的几年中 FreeBSD 并没有任何可用的并被官方支持的虚拟化解决方案。 一些用户曾时使用过利用 Linux® 二进制兼容层运行的 VMware 陈旧并多半已过时的版本 (比如 emulators/vmware3)。 在 FreeBSD 7.2 发布不久, Sun 开源版本 (Open Source Edition OSE) 的 VirtualBox 作为一个 FreeBSD 原生的程序出现在了 Ports Collection 中。

VirtualBox 是一个开发非常活跃, 完全虚拟化的软件, 并且可在大部份的操作系统上使用, 包括 Windows®, Mac OS®, Linux® 和 FreeBSD。同样也能把 Windows® 或 UNIX® 作为客户系统运行。 它有一个开源和一个私有两种版本。 从用户的角度来看, OSE 版本最主要的限制也许是缺乏 USB 的支持。 其他更多的差异可以通过链接 http://www.virtualbox.org/wiki/Editions 查看 Editions 页面。 目前, FreeBSD 上只有 OSE 版本可用。

23.3.1. 安装 VirtualBox

VirtualBox 已作为一个 FreeBSD port 提供, 位于 emulators/virtualbox-ose, 可使用如下的命令安装:

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

在配置对话框中的一个有用的选项是 GusetAdditions 程序套件。 这些在客户操作系统中提供了一些有用的特性, 比如集成鼠标指针 (允许在宿主和客户系统间使用鼠标, 而不用事先按下某个特定的快捷键来切换) 和更快的视频渲染, 特别是在 Windows® 客户系统中。 在安装了客户操作系统之后, 客户附加软件可在 Devices 菜单中找到。

在第一次运行 VirtualBox 之前还需要做一些配置上的修改。port 会安装一个内核模块至 /boot/modules 目录, 此模块需要事先加载:

# kldload vboxdrv

可以在 /boot/loader.conf 中加入以下的配置使此模块在机器重启之后能自动加载:

vboxdrv_load="YES"

在 3.1.2 之前版本的 VirtualBox 需要挂接 proc 文件系统。 在新版本中不再有此要求, 因为它们使用了由 sysctl(3) 库提供的功能。

当使用旧版本的 port 时, 需要使用下面的步骤来挂载 proc

# mount -t procfs proc /proc

为了使配置能在重启后始终生效, 需要在 /etc/fstab 中加入以下这行:

proc /proc procfs rw 0 0

注意:

如果在运行 VirtualBox 的终端中发现了类似如下的错误消息:

VirtualBox: supR3HardenedExecDir: couldn't read "", errno=2 cchLink=-1

此故障可能是由 proc 文件系统导致的。 请使用 mount 命令检查文件系统是否正确挂载。

在安装 VirtualBox 时会自动创建 vboxusers 组。 所有需要使用 VirtualBox 的用户必须被添加为此组中的成员。 可以使用 pw 命令添加新的成员:

# pw groupmod vboxusers -m yourusername

运行 VirtualBox, 可以通过选择你当前图形环境中的 Sun VirtualBox, 也可以在虚拟终端中键入以下的命令:

% VirtualBox

获得更多有关配置和使用 VirtualBox 的信息, 请访问官方网站 http://www.virtualbox.org。 鉴于 FreeBSD port 非常新, 并仍处于开发状态。请查看 FreeBSD wiki 上的相关页面 http://wiki.FreeBSD.org/VirtualBox 以获取最新的信息和故障排查细则。

本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题,请先阅读 文档,如不能解决再联系 <questions@FreeBSD.org>.

关于本文档的问题请发信联系 <doc@FreeBSD.org>.