第 2 章 安装详情

目录

2.1. 在 Windows 主机上安装
2.1.1. 先决条件
2.1.2. Windows 安装目录安全要求
2.1.3. 执行安装
2.1.4. 卸载
2.1.5. 无人值守安装
2.1.6. 公共属性
2.2. 在 macOS 主机上安装
2.2.1. 执行安装
2.2.2. 卸载
2.2.3. 无人值守安装
2.3. 在 Linux 主机上安装
2.3.1. 先决条件
2.3.2. Oracle VM VirtualBox 内核模块
2.3.3. 执行安装
2.3.4. vboxusers 组
2.3.5. 在 Linux 上启动 Oracle VM VirtualBox
2.4. 在 Oracle Solaris 主机上安装
2.4.1. 执行安装
2.4.2. vboxuser 组
2.4.3. 在 Oracle Solaris 上启动 Oracle VM VirtualBox
2.4.4. 卸载
2.4.5. 无人值守安装
2.4.6. 为运行 Oracle VM VirtualBox 配置非全局区域
2.5. 安装扩展包
2.5.1. 扩展包管理器

由于 Oracle VM VirtualBox 的安装因主机操作系统而异,以下章节提供了 Windows、macOS、Linux 和 Oracle Solaris 的安装说明。

2.1. 在 Windows 主机上安装

2.1.1. 先决条件

有关支持作为主机操作系统的各种 Windows 版本,请参阅第 1.4 节,“支持的主机操作系统”

此外,您的系统上必须存在 Windows Installer。所有受支持的 Windows 平台都应如此。

2.1.2. Windows 安装目录安全要求

Windows 主机上的安装目录必须满足某些安全要求,才能被 Windows 安装程序接受。

这同样适用于 Oracle VM VirtualBox 的升级。

例如,将 Oracle VM VirtualBox 安装到自定义位置 X:\Data\MyPrograms\Oracle VM VirtualBox 时,此路径的所有父目录(即 X:\Data 和 X:\Data\MyPrograms)都必须满足以下自由裁量访问控制列表 (DACL)

          Users               S-1-5-32-545:(OI)(CI)(RX)
          Users               S-1-5-32-545:(DE,WD,AD,WEA,WA)
          Authenticated Users S-1-5-11:(OI)(CI)(RX)
          Authenticated Users S-1-5-11:(DE,WD,AD,WEA,WA)
        

所有父目录也必须禁用目录继承。

您可以使用 icacls Windows 命令行工具来满足安全要求。例如

          icacls <Directory> /reset /t /c
          icacls <Directory> /inheritance:d /t /c
          icacls <Directory> /grant *S-1-5-32-545:(OI)(CI)(RX)
          icacls <Directory> /deny  *S-1-5-32-545:(DE,WD,AD,WEA,WA)
          icacls <Directory> /grant *S-1-5-11:(OI)(CI)(RX)
          icacls <Directory> /deny  *S-1-5-11:(DE,WD,AD,WEA,WA)
        

请注意,这些命令必须对所有父目录(本例中为 X:\Data 和 X:\Data\MyPrograms)重复执行。

2.1.3. 执行安装

可以通过以下任一方式启动 Oracle VM VirtualBox 安装:

  • 双击可执行文件。

  • 输入以下命令:

    VirtualBox-<version>-<revision>-Win.exe -extract

    这会将安装程序以及 .MSI 文件提取到临时目录中。运行以下命令执行安装:

    msiexec /i VirtualBox-<version>-<revision>-Win.msi

无论使用哪种方式,都会显示安装欢迎对话框,并允许您选择 Oracle VM VirtualBox 的安装位置以及要安装的组件。除了 Oracle VM VirtualBox 应用程序之外,还提供以下组件:

  • USB 支持。此软件包包含 Oracle VM VirtualBox 在您的虚拟机内部完全支持 USB 设备所需的 Windows 主机专用驱动程序。

  • 网络。此软件包包含 Oracle VM VirtualBox 支持桥接网络所需的 Windows 主机额外网络驱动程序。这使得您的虚拟机的虚拟网卡可以从物理网络上的其他机器访问。

  • Python 支持。此软件包包含 Oracle VM VirtualBox API 的 Python 脚本支持,请参阅第 11 章,《Oracle VM VirtualBox 编程接口》。为此,系统上需要已安装正常运行的 Windows Python。

    例如:https://pythonlang.cn/download/windows/

    注意

    需要 Python 2.6 或更高版本。Python 3 也受支持。

根据您的 Windows 配置,您可能会看到有关未签名驱动程序或类似内容的警告。请点击这些警告上的继续,否则安装后 Oracle VM VirtualBox 可能无法正常运行。

安装程序将在 Windows 开始菜单中创建一个 Oracle VM VirtualBox 组,使您能够启动应用程序并访问其文档。

在标准设置下,Oracle VM VirtualBox 将为本地系统上的所有用户安装。如果不需要,您必须首先按如下方式提取安装程序,然后运行:

VirtualBox.exe -extract

然后,在提取的 .MSI 文件上运行以下任一命令。这将仅为当前用户安装 Oracle VM VirtualBox。

VirtualBox.exe -msiparams ALLUSERS=2
msiexec /i VirtualBox-<version>-Win.msi ALLUSERS=2

如果您不想安装 Oracle VM VirtualBox 的所有功能,可以设置可选的 ADDLOCAL 参数来明确指定要安装的功能。以下功能可用:

VBoxApplication

Oracle VM VirtualBox 的主要二进制文件。

注意

此功能不得缺失,因为它包含使 Oracle VM VirtualBox 正常运行所需的最小文件集。

VBoxUSB

USB 支持。

VBoxNetwork

所有网络支持。这包括 VBoxNetworkFlt 和 VBoxNetworkAdp 功能。

VBoxNetworkFlt

桥接网络支持。

VBoxNetworkAdp

仅主机网络支持

VBoxPython

Python 支持

例如,要仅安装 USB 支持以及主二进制文件,运行以下任一命令:

VirtualBox.exe -msiparams ADDLOCAL=VBoxApplication,VBoxUSB
msiexec /i VirtualBox-<version>-Win.msi ADDLOCAL=VBoxApplication,VBoxUSB

用户在安装过程中可以选择 NDIS5 和 NDIS6 主机网络过滤器驱动程序。这通过命令行参数 NETWORKTYPE 完成。NDIS6 驱动程序是大多数受支持的 Windows 主机的默认设置。对于某些旧版 Windows,安装程序将自动选择 NDIS5 驱动程序,并且无法更改。

您可以通过指定 NETWORKTYPE=NDIS5 来强制安装旧版 NDIS5 主机网络过滤器驱动程序。例如,要在 Windows 7 上安装 NDIS5 驱动程序,请使用以下任一命令:

VirtualBox.exe -msiparams NETWORKTYPE=NDIS5
msiexec /i VirtualBox-<version>-Win;.msi NETWORKTYPE=NDIS5

2.1.4. 卸载

由于 Oracle VM VirtualBox 使用标准 Microsoft Windows 安装程序,因此可以随时安全地卸载 Oracle VM VirtualBox。单击 Windows 控制面板中添加/删除程序列表中的程序条目。

2.1.5. 无人值守安装

可以使用标准 MSI 支持执行无人值守安装。

2.1.6. 公共属性

可以使用 MSI API 指定公共属性,以控制 Windows 主机安装程序的其他行为和功能。使用以下任一命令:

VirtualBox.exe -msiparams NAME=VALUE [...]
msiexec /i VirtualBox-<version>-Win.msi NAME=VALUE [...]

以下公共属性可用。

  • VBOX_INSTALLDESKTOPSHORTCUT

    指定是否应在桌面上创建 Oracle VM VirtualBox 图标。

    设置为 1 启用,0 禁用。默认值为 1。

  • VBOX_INSTALLQUICKLAUNCHSHORTCUT

    指定是否应在快速启动栏中创建 Oracle VM VirtualBox 图标。

    设置为 1 启用,0 禁用。默认值为 1。

  • VBOX_REGISTERFILEEXTENSIONS

    指定是否应将文件扩展名 .vbox、.vbox-extpack、.ovf、.ova、.vdi、.vmdk、.vhd 和 .vdd 与 Oracle VM VirtualBox 关联。这些类型的文件随后将使用 Oracle VM VirtualBox 打开。

    设置为 1 启用,0 禁用。默认值为 1。

  • VBOX_START

    指定是否在成功安装后立即启动 Oracle VM VirtualBox。

    设置为 1 启用,0 禁用。默认值为 1。

2.2. 在 macOS 主机上安装

2.2.1. 执行安装

对于 macOS 主机,Oracle VM VirtualBox 以 dmg 磁盘映像文件形式提供。请执行以下步骤在 macOS 主机上安装:

  1. 双击 dmg 文件,以挂载其内容。

  2. 将打开一个窗口,提示您双击该窗口中显示的 VirtualBox.pkg 安装程序文件。

  3. 这将启动安装程序,使您可以选择 Oracle VM VirtualBox 的安装位置。

  4. Oracle VM VirtualBox 图标将添加到 Finder 的 Applications 文件夹中。

2.2.2. 卸载

要卸载 Oracle VM VirtualBox,请打开磁盘映像 dmg 文件并双击显示的卸载图标。

2.2.3. 无人值守安装

要执行 Oracle VM VirtualBox 的非交互式安装,您可以使用安装程序的命令行版本。

按照安装过程中的描述挂载 dmg 磁盘映像文件,或使用以下命令行:

hdiutil attach /path/to/VirtualBox-xyz.dmg

打开终端会话并运行以下命令:

sudo installer -pkg /Volumes/VirtualBox/VirtualBox.pkg -target /Volumes/Macintosh\ HD

2.3. 在 Linux 主机上安装

2.3.1. 先决条件

有关支持作为主机操作系统的各种 Linux 版本,请参阅第 1.4 节,“支持的主机操作系统”

在开始安装之前,您可能需要在 Linux 系统上安装以下软件包。某些系统在您安装 Oracle VM VirtualBox 时会自动为您完成此操作。

  • Qt 5.3.2 或更高版本。建议使用 Qt 5.6.2 或更高版本。

  • SDL 1.2.7 或更高版本。此图形库通常称为 libsdl 或类似名称。

注意

只有在您想运行 Oracle VM VirtualBox 图形用户界面时才需要这些软件包。特别是,VirtualBox(图形化的 VirtualBox 管理器)需要 Qt 和 SDL。如果您只想运行 VBoxHeadless,则不需要 Qt 和 SDL。

2.3.2. Oracle VM VirtualBox 内核模块

为了在虚拟机中与您的主操作系统并行运行其他操作系统,Oracle VM VirtualBox 需要与您的系统紧密集成。为此,它会在系统内核中安装一个名为 vboxdrv 的驱动程序模块。内核是操作系统中控制您的处理器和物理硬件的部分。没有此内核模块,您仍然可以使用 VirtualBox Manager 配置虚拟机,但它们将无法启动。

还会安装名为 vboxnetfltvboxnetadp 的网络驱动程序。它们使虚拟机能够更好地利用您计算机的网络功能,并且是除了基本 NAT 模式之外的任何虚拟机网络所必需的。

由于 Linux 不支持将驱动程序模块与内核分离分发,因此 Oracle VM VirtualBox 安装过程会在将使用它们的系统上创建模块。这意味着您可能需要从发行版中安装构建过程所需的一些软件包。所需软件包可能包括以下内容:

  • GNU 编译器 (GCC)

  • GNU Make (make)

  • 内核头文件

另请确保已安装所有系统更新,并且您的系统正在运行发行版最新内核。

注意

正在运行的内核和内核头文件必须更新到匹配的版本。

以下列表包含了一些常见发行版所需文件的详细信息。首先,在终端中使用命令 uname -r 查找内核的版本名称。该列表假设您没有对原始安装进行太多更改,特别是您没有安装不同类型的内核。

  • 对于基于 Debian 和 Ubuntu 的发行版,您必须安装正确版本的 linux-headers,通常是 linux-headers-genericlinux-headers-amd64linux-headers-i686linux-headers-i686-pae 中最匹配内核版本名称的那个。如果存在的话,还需要安装 linux-kbuild 软件包。基本的 Ubuntu 版本应默认安装正确的软件包。

  • 在 Fedora、Red Hat、Oracle Linux 和许多其他基于 RPM 的系统上,内核版本有时在版本名称末尾附近带有字母代码或单词。例如,Oracle Unbreakable Enterprise Kernel 的“uek”或标准内核的“default”或“desktop”。在这种情况下,软件包名称为 kernel-uek-devel 或等效项。如果没有这样的代码,通常是 kernel-devel

  • 在某些 SUSE 和 openSUSE Linux 版本上,您可能需要安装 kernel-sourcekernel-syms 软件包。

如果您怀疑模块安装出现问题,请检查您的系统是否已按照上述说明进行设置,并尝试以 root 用户身份运行以下命令:

rcvboxdrv setup

2.3.2.1. 内核模块和 UEFI 安全启动

如果您正在使用 UEFI(统一可扩展固件接口)安全启动的系统上运行,您可能需要在加载以下内核模块之前对其进行签名:

  • vboxdrv

  • vboxnetadp

  • vboxnetflt

  • vboxpci

有关内核模块签名过程的详细信息,请参见您的系统文档。

2.3.3. 执行安装

Oracle VM VirtualBox 提供多种适用于各种常见 Linux 发行版的原生软件包格式。请参阅第 1.4 节,“支持的主机操作系统”。此外,还有一个替代的通用安装程序(.run),您可以在支持的 Linux 发行版上使用它。

2.3.3.1. 从 Debian 或 Ubuntu 软件包安装 Oracle VM VirtualBox

下载适合您发行版的软件包。以下示例假设您正在安装到 64 位 Ubuntu Xenial 系统。使用 dpkg 来安装 Debian 软件包,如下所示:

sudo dpkg -i virtualbox-version-number_Ubuntu_xenial_amd64.deb

安装程序还将尝试为当前运行的内核构建内核模块。如果构建过程不成功,您将看到警告,并且软件包将处于未配置状态。查看 /var/log/vbox-install.log 以找出编译失败的原因。您可能需要安装适当的 Linux 内核头文件,请参阅第 2.3.2 节,“Oracle VM VirtualBox 内核模块”。在纠正任何问题后,运行以下命令:

sudo rcvboxdrv setup

这将开始第二次构建模块的尝试。

如果软件包中找到了合适的内核模块或模块成功构建,安装脚本将尝试加载该模块。如果失败,请参阅第 12.7.1 节,“Linux 内核模块拒绝加载”以获取更多信息。

Oracle VM VirtualBox 成功安装和配置后,您可以通过单击开始菜单中的VirtualBox或从命令行启动它。请参阅第 2.3.5 节,“在 Linux 上启动 Oracle VM VirtualBox”

2.3.3.2. 使用替代的通用安装程序 (VirtualBox.run)

替代通用安装程序执行以下步骤:

  • 将应用程序文件解压到目标目录 /opt/VirtualBox/,该目录不可更改。

  • 构建并安装 Oracle VM VirtualBox 内核模块:vboxdrvvboxnetfltvboxnetadp

  • 创建 /sbin/rcvboxdrv,一个用于启动 Oracle VM VirtualBox 内核模块的 init 脚本。

  • 创建名为 vboxusers 的新系统组。

  • /usr/bin 中创建指向 shell 脚本 /opt/VirtualBox/VBox 的符号链接,该脚本执行一些健全性检查并分派到实际的可执行文件:VirtualBoxVBoxVRDPVBoxHeadlessVBoxManage

  • 如果存在 udev,则创建 /etc/udev/rules.d/60-vboxdrv.rules,一个 udev 描述文件,它使 USB 设备可供 vboxusers 组中的所有用户访问。

  • 将安装目录写入 /etc/vbox/vbox.cfg

安装程序必须以 root 身份执行,并将 installuninstall 作为第一个参数。例如:

sudo ./VirtualBox.run install

或者,如果您没有 sudo 命令可用,请以 root 身份运行以下命令:

./VirtualBox.run install

将需要从 VirtualBox 客户机访问 USB 设备的每个用户添加到 vboxusers 组。可以使用操作系统用户管理工具或以 root 身份运行以下命令:

sudo usermod -a -G vboxusers username

注意

某些旧版本 Linux 发行版的 usermod 命令不支持 -a 选项,该选项会将用户添加到给定组,而不会影响其他组的成员资格。在这种情况下,请使用 groups 命令查明当前的组员资格,并将所有这些组以逗号分隔的列表形式添加到命令行中,紧随 -G 选项之后。例如:usermod -G group1,group2,vboxusers username

2.3.3.3. 执行手动安装

如果您无法使用第 2.3.3.2 节,“使用替代的通用安装程序 (VirtualBox.run)”中描述的 shell 脚本安装程序,则可以执行手动安装。按如下方式运行安装程序:

./VirtualBox.run --keep --noexec

这会将安装所需的所有文件解压到当前目录下的 install 目录中。Oracle VM VirtualBox 应用程序文件包含在 VirtualBox.tar.bz2 中,您可以将其解压到系统上的任何目录。例如:

sudo mkdir /opt/VirtualBox
sudo tar jxf ./install/VirtualBox.tar.bz2 -C /opt/VirtualBox

要以 root 身份运行相同的示例,请使用以下命令:

mkdir /opt/VirtualBox
tar jxf ./install/VirtualBox.tar.bz2 -C /opt/VirtualBox

Oracle VM VirtualBox 内核模块的源文件在 src 目录中提供。要构建模块,请切换到该目录并使用以下命令:

make

如果一切构建正确,运行以下命令将模块安装到适当的模块目录:

sudo make install

如果您没有 sudo,请将用户帐户切换到 root 并运行以下命令:

make install

Oracle VM VirtualBox 内核模块需要一个设备节点才能运行。上述 make 命令将根据您的 Linux 系统告诉您如何创建设备节点。对于带有 /dev 目录的经典 Linux 设置、带有现已弃用的 devfs 的系统以及带有 udev 的现代 Linux 系统,其过程略有不同。

在某些 Linux 发行版上,您可能会在构建模块时遇到困难。您将不得不分析构建系统中的错误消息,以诊断问题原因。通常,请确保为构建过程使用了正确的 Linux 内核源。

请注意,/dev/vboxdrv 内核模块设备节点必须由 root:root 拥有,并且仅对用户可读/可写。

接下来,您将安装内核模块的系统初始化脚本,并使用适合您的发行版的方法激活初始化脚本,如下所示:

cp /opt/VirtualBox/vboxdrv.sh /sbin/rcvboxdrv

此示例假设您将 Oracle VM VirtualBox 安装到 /opt/VirtualBox 目录。

为 Oracle VM VirtualBox 创建一个配置文件,如下所示:

mkdir /etc/vbox
echo INSTALL_DIR=/opt/VirtualBox > /etc/vbox/vbox.cfg

创建以下符号链接:

ln -sf /opt/VirtualBox/VBox.sh /usr/bin/VirtualBox
ln -sf /opt/VirtualBox/VBox.sh /usr/bin/VBoxManage
ln -sf /opt/VirtualBox/VBox.sh /usr/bin/VBoxHeadless

2.3.3.4. 更新和卸载 Oracle VM VirtualBox

在更新或卸载 Oracle VM VirtualBox 之前,您必须终止所有正在运行的虚拟机并退出 Oracle VM VirtualBox 或 VBoxSVC 应用程序。要更新 Oracle VM VirtualBox,只需运行更新版本的安装程序即可。要卸载 Oracle VM VirtualBox,请按如下方式运行安装程序:

sudo ./VirtualBox.run uninstall

作为 root 用户,您可以使用以下命令:

./VirtualBox.run uninstall

您可以按如下方式卸载 .run 软件包:

/opt/VirtualBox/uninstall.sh

要手动卸载 Oracle VM VirtualBox,请按相反顺序执行手动安装步骤。

2.3.3.5. Debian 软件包的自动安装

Debian 软件包在首次安装时会请求一些用户反馈。使用 debconf 系统来执行此任务。为了防止安装过程中出现任何用户交互,可以定义默认值。一个名为 vboxconf 的文件可以包含以下 debconf 设置:

virtualbox virtualbox/module-compilation-allowed boolean true
virtualbox virtualbox/delete-old-modules boolean true

第一行在当前内核未找到模块时启用 vboxdrv 内核模块的编译。第二行使软件包能够删除以前安装编译的任何旧 vboxdrv 内核模块。

这些默认设置可以在安装 Oracle VM VirtualBox Debian 软件包之前应用,如下所示:

debconf-set-selections vboxconf

此外,还有一些常见的配置选项可以在安装前设置。请参阅第 2.3.3.7 节,“自动安装选项”

2.3.3.6. RPM 软件包的自动安装

RPM 格式不提供与 debconf 系统相当的配置系统。有关如何设置 Oracle VM VirtualBox 提供的一些常见安装选项,请参阅第 2.3.3.7 节,“自动安装选项”

2.3.3.7. 自动安装选项

要配置 .deb 和 .rpm 软件包的安装过程,您可以创建一个名为 /etc/default/virtualbox 的响应文件。可以使用以下设置防止自动生成 udev 规则:

INSTALL_NO_UDEV=1

可以通过以下方式阻止创建 vboxusers 组:

INSTALL_NO_GROUP=1

如果指定了以下行,则当未找到适合当前内核的模块时,软件包安装程序将不会尝试构建 vboxdrv 内核模块。

INSTALL_NO_VBOXDRV=1

2.3.4. vboxusers 组

Linux 安装程序在安装过程中创建系统用户组 vboxusers。任何将要从 Oracle VM VirtualBox 客户机使用 USB 设备的系统用户都必须是该组的成员。用户可以通过桌面用户和组工具或使用以下命令成为 vboxusers 组的成员:

sudo usermod -a -G vboxusers username

2.3.5. 在 Linux 上启动 Oracle VM VirtualBox

启动 Oracle VM VirtualBox 程序最简单的方法是在终端中运行您选择的程序(VirtualBoxVBoxManageVBoxHeadless)。这些是 VBox.sh 的符号链接,它们会为您启动所需的程序。

以下详细说明仅在您希望在不先安装的情况下执行 Oracle VM VirtualBox 时才有趣。您应该首先编译 vboxdrv 内核模块并将其插入 Linux 内核。Oracle VM VirtualBox 由一个服务守护程序 VBoxSVC 和几个应用程序组成。守护程序在必要时会自动启动。所有 Oracle VM VirtualBox 应用程序都将通过 UNIX 本地域套接字与守护程序通信。在不同的用户帐户下可以有多个守护程序实例,并且应用程序只能与在与应用程序相同的用户帐户下运行的守护程序通信。本地域套接字位于系统临时文件目录的子目录中,名为 .vbox-<username>-ipc。如果出现通信问题或服务器启动问题,您可以尝试删除此目录。

所有 Oracle VM VirtualBox 应用程序(VirtualBoxVBoxManageVBoxHeadless)都要求 Oracle VM VirtualBox 目录位于库路径中,如下所示:

LD_LIBRARY_PATH=. ./VBoxManage showvminfo "Windows XP"

2.4. 在 Oracle Solaris 主机上安装

有关支持作为主机操作系统的 Oracle Solaris 的特定版本,请参阅第 1.4 节,“支持的主机操作系统”

如果您的 Oracle Solaris 主机上之前安装过 Oracle VM VirtualBox 实例,请务必先将其卸载,然后再安装新实例。有关卸载说明,请参阅第 2.4.4 节,“卸载”

2.4.1. 执行安装

Oracle VM VirtualBox 作为标准的 Oracle Solaris 软件包提供。下载 Oracle VM VirtualBox SunOS 软件包,其中包含 64 位版本的 Oracle VM VirtualBox。安装必须以 root 身份并在全局区域执行。这是因为 Oracle VM VirtualBox 安装程序会加载内核驱动程序,这无法在非全局区域中完成。要验证您当前所在的区域,请执行 zonename 命令。

要开始安装,请运行以下命令:

gunzip -cd VirtualBox-version-number-SunOS.tar.gz | tar xvf -

Oracle VM VirtualBox 内核软件包已集成到主软件包中。按如下方式安装 Oracle VM VirtualBox 软件包:

pkgadd -d VirtualBox-version-number-SunOS.pkg

安装程序将提示您输入要安装的软件包。选择1all并继续。接下来,安装程序会询问您是否允许执行安装后脚本。选择y并继续,因为执行此脚本(用于安装 Oracle VM VirtualBox 内核模块)至关重要。确认后,安装程序将安装 Oracle VM VirtualBox 并执行安装后设置脚本。

一旦安装后脚本执行完毕,您的安装就完成了。您现在可以安全地从系统中删除未压缩的软件包和 autoresponse 文件。Oracle VM VirtualBox 安装在 /opt/VirtualBox 中。

注意

如果您需要在非全局区域中使用 Oracle VM VirtualBox,请参阅第 2.4.6 节,“为运行 Oracle VM VirtualBox 配置非全局区域”

2.4.2. vboxuser 组

安装程序在安装期间为支持 Oracle VM VirtualBox 所需 USB 功能的 Oracle Solaris 主机创建系统用户组 vboxuser。任何将要从 Oracle VM VirtualBox 客户机使用 USB 设备的用户都必须是此组的成员。用户可以通过桌面用户和组工具或以 root 身份运行以下命令成为此组的成员:

usermod -G vboxuser username

请注意,将活跃用户添加到 vboxuser 组将要求用户注销并再次登录。这应在软件包成功安装后手动完成。

2.4.3. 在 Oracle Solaris 上启动 Oracle VM VirtualBox

启动 Oracle VM VirtualBox 程序最简单的方法是在终端中运行您选择的程序(VirtualBoxVBoxManageVBoxHeadless)。这些是 VBox.sh 的符号链接,它们会为您启动所需的程序。

或者,您也可以直接从 /opt/VirtualBox 调用所需的程序。使用提供的链接更容易,因为您无需输入完整路径。

您可以通过从终端运行 VBoxQtconfig 来配置 VirtualBox Qt GUI 的某些元素,例如字体和颜色。

2.4.4. 卸载

在 Oracle Solaris 上卸载 Oracle VM VirtualBox 需要 root 权限。要执行卸载,请启动一个 root 终端会话并运行以下命令:

pkgrm SUNWvbox

确认后,这将从您的系统中删除 Oracle VM VirtualBox。

2.4.5. 无人值守安装

为了执行 Oracle VM VirtualBox 的非交互式安装,有一个名为 autoresponse 的响应文件。安装程序使用此文件来响应输入,而不是提示用户。

按照第 2.4.1 节,“执行安装”中的描述解压 tar.gz 软件包。然后打开一个 root 终端会话并运行以下命令:

pkgadd -d VirtualBox-version-number-SunOS-x86 -n -a autoresponse SUNWvbox

要执行非交互式卸载,请打开一个 root 终端会话并运行以下命令:

pkgrm -n -a /opt/VirtualBox/autoresponse SUNWvbox

2.4.6. 为运行 Oracle VM VirtualBox 配置非全局区域

在全局区域中安装 Oracle VM VirtualBox 后(安装说明请参见第 2.4 节,“在 Oracle Solaris 主机上安装”),在非全局区域中运行 Oracle VM VirtualBox 所需的第一步是修改区域的配置,使其能够访问位于全局区域中的 Oracle VM VirtualBox 设备节点。这通过在全局区域中作为区域管理员执行以下步骤来完成:

global$ zonecfg -z vboxzone

vboxzone 替换为您计划运行 Oracle VM VirtualBox 的非全局区域的名称。

使用 zonecfg(8)device 资源和 match 属性添加到非全局区域,以便访问全局区域中的每个 Oracle VM VirtualBox 设备节点,如下所示:

zonecfg:vboxzone> add device
zonecfg:vboxzone:device> set match=/dev/vboxdrv
zonecfg:vboxzone:device> end
zonecfg:vboxzone> add device
zonecfg:vboxzone:device> set match=/dev/vboxdrvu
zonecfg:vboxzone:device> end
zonecfg:vboxzone> exit

在 Oracle Solaris 11 上,如果您计划使用配置为使用 USB 设备(例如 USB 指点设备或 USB 直通设备)的虚拟机,您也应该使用上述步骤直通 /dev/vboxusbmon 设备。

Oracle Solaris 11 不支持稀疏根区域,因此您需要将全局区域中的 /opt/VirtualBox 循环挂载到非全局区域的相同路径中。这通过使用 zonecfg(8) 设置此目录的 dir 属性和 special 属性来完成。例如:

zonecfg:vboxzone> add fs
zonecfg:vboxzone:fs> set dir=/opt/VirtualBox
zonecfg:vboxzone:fs> set special=/opt/VirtualBox
zonecfg:vboxzone:fs> set type=lofs
zonecfg:vboxzone:fs> add options [readonly]
zonecfg:vboxzone:fs> end
zonecfg:vboxzone>exit

在使用 zonecfg(8) 进行上述更改后,使用 zoneadm(8) 重新启动该区域,如下所示:

global$ zoneadm -z vboxzone reboot

以便更改生效。然后,您将能够从配置的非全局区域内的 /opt/VirtualBox 运行 Oracle VM VirtualBox。

2.5. 安装扩展包

扩展包为 Oracle VM VirtualBox 基本包提供了额外功能,例如扩展 USB 设备支持和云集成功能。请参阅第 1.5 节,“安装 Oracle VM VirtualBox 和扩展包”

要安装 Oracle VM VirtualBox 扩展包,请执行以下操作:

  1. 双击扩展包文件名。

    Oracle VM VirtualBox 扩展包的文件名扩展名为 .vbox-extpack

  2. 按照屏幕上的说明安装扩展包。

您也可以使用扩展包管理器工具安装扩展包。请参阅第 2.5.1 节,“扩展包管理器”

2.5.1. 扩展包管理器

可以使用 VirtualBox Manager 中的扩展包管理器工具来安装和管理扩展包。

“扩展包管理器”列出了当前安装在主机上的扩展包,并使您能够安装和卸载扩展包。

要显示扩展包管理器,请转到全局工具菜单并单击扩展。扩展包管理器将显示。

要使用扩展包管理器安装扩展包,请单击安装并选择一个扩展包文件。扩展包将安装在主机上并列在扩展包管理器中。

要使用“扩展包管理器”卸载扩展包,请执行以下操作:

  1. 在“扩展包管理器”窗口中选择该扩展包,然后单击卸载

  2. 在提示对话框中点击删除

    扩展包将从主机卸载并从“扩展包管理器”中删除。

另外,您可以使用 VBoxManage 命令行来安装和管理 Oracle VM VirtualBox 扩展包。请参阅第 8.52 节,“VBoxManage extpack”