目录
上一章介绍了 Oracle VM VirtualBox 的入门以及如何在虚拟机中安装操作系统。对于任何严肃和交互式的使用,Oracle VM VirtualBox 增强功能将通过提供主机和虚拟机之间更紧密的集成以及改进虚拟机系统的交互性能,使您的工作变得更加轻松。本章详细介绍了增强功能。
如第 1.2 节“一些术语”所述,增强功能旨在在安装客户机操作系统后安装在虚拟机内部。它们由设备驱动程序和系统应用程序组成,可优化客户机操作系统以获得更好的性能和可用性。有关 Oracle VM VirtualBox 完全支持哪些客户机操作系统以及其增强功能的详细信息,请参阅第 3.1 节“支持的客户机操作系统”。
适用于所有受支持的客户机操作系统的 Oracle VM VirtualBox 增强功能以单个 CD-ROM 映像文件形式提供,该文件名为VBoxGuestAdditions.iso
。此映像文件位于 Oracle VM VirtualBox 的安装目录中。要为特定虚拟机安装增强功能,请将此 ISO 文件作为虚拟 CD-ROM 挂载到虚拟机中并从那里进行安装。
增强功能提供以下功能
鼠标指针集成。为了克服第 1.9.2 节“捕获和释放键盘与鼠标”中描述的鼠标支持限制,此功能为您提供了无缝的鼠标支持。您将只有一个鼠标指针,并且不再需要按 Host 键来释放被客户机操作系统捕获的鼠标。为此,客户机中会安装一个特殊的鼠标驱动程序,该驱动程序与主机上的物理鼠标驱动程序通信并相应地移动客户机鼠标指针。
共享文件夹。这些提供了一种在主机和客户机之间交换文件的简单方法。与普通的 Windows 网络共享非常相似,您可以告诉 Oracle VM VirtualBox 将某个主机目录视为共享文件夹,Oracle VM VirtualBox 将其作为网络共享提供给客户机操作系统,无论客户机是否实际具有网络。请参阅第 4.3 节“共享文件夹”。
更好的视频支持。虽然 Oracle VM VirtualBox 为任何客户机操作系统模拟的虚拟显卡提供了所有基本功能,但随增强功能安装的自定义视频驱动程序为您提供了超高和非标准视频模式,以及加速的视频性能。
此外,对于 Windows、Linux 和 Oracle Solaris 客户机,如果安装了增强功能,您可以调整虚拟机窗口的大小。客户机中的视频分辨率将自动调整,就像您在客户机的显示设置中手动输入了任意分辨率一样。请参阅第 1.9.5 节“调整机器窗口大小”。
如果安装了增强功能,则可以加速客户机应用程序的 3D 图形和 2D 视频。请参阅第 4.5 节“硬件加速图形”。
无缝窗口。借助此功能,虚拟机桌面上显示的单个窗口可以映射到主机桌面上,就好像底层应用程序实际在主机上运行一样。请参阅第 4.6 节“无缝窗口”。
通用主机/客户机通信通道。增强功能使您能够控制和监控客户机执行。客户机属性提供了一种通用的基于字符串的机制,用于在客户机和主机之间交换数据位,其中一些数据位对于控制和监控客户机具有特殊含义。请参阅第 4.7 节“客户机属性”。
此外,应用程序可以从主机在客户机中启动。请参阅第 4.9 节“应用程序的客户机控制”。
时间同步。安装增强功能后,Oracle VM VirtualBox 可以确保客户机系统时间与主机时间更好地同步。
由于各种原因,客户机中的时间可能与主机上的时间以略微不同的速率运行。主机可能通过 NTP 接收更新,其自身时间可能不会线性运行。虚拟机也可能暂停,这会使客户机中的时间流停止一段时间。当客户机和主机之间的实际时间仅略有不同时,时间同步服务会尝试以小增量逐渐平稳地调整客户机时间,以赶上或失去时间。当差异太大时,例如如果虚拟机暂停数小时或从保存状态恢复,客户机时间会立即更改,而无需渐进调整。
增强功能将定期重新同步时间。有关如何配置时间同步机制参数的信息,请参阅第 9.11.3 节“调整增强功能时间同步参数”。
共享剪贴板。安装增强功能后,客户机操作系统的剪贴板可以选择与您的主机操作系统共享。请参阅第 3.4 节“通用设置”。
自动登录。也称为凭据传递。请参阅第 9.1 节“自动客户机登录”。
每个版本的 Oracle VM VirtualBox,即使是次要版本,都附带其自己的增强功能版本。虽然 Oracle VM VirtualBox 核心与增强功能通信的接口保持稳定,以便在主机上升级 Oracle VM VirtualBox 时,虚拟机中已安装的增强功能应继续工作,但为了获得最佳效果,建议保持增强功能版本相同。
因此,Windows 和 Linux 增强功能会自动检查是否需要更新。如果主机运行的 Oracle VM VirtualBox 版本比增强功能更新,则会在客户机中显示一条包含进一步说明的通知。
要禁用给定虚拟机的增强功能更新检查,请将其/VirtualBox/GuestAdd/CheckHostVersion
客户机属性值设置为0
。请参阅第 4.7 节“客户机属性”。
增强功能适用于运行Windows、Linux、Oracle Solaris或OS/2的虚拟机。以下各节详细描述了每个变体的具体细节。
Oracle VM VirtualBox Windows 增强功能设计用于安装在运行 Windows 操作系统的虚拟机中。支持以下版本的 Windows 客户机:
Microsoft Windows NT 4.0(任何服务包)
Microsoft Windows 2000(任何服务包)
Microsoft Windows XP(任何服务包)
Microsoft Windows Server 2003(任何服务包)
Microsoft Windows Server 2008
Microsoft Windows Vista(所有版本)
Microsoft Windows 7(所有版本)
Microsoft Windows 8(所有版本)
Microsoft Windows 10 RTM build 10240
Microsoft Windows Server 2012
在虚拟机菜单栏的设备菜单中,Oracle VM VirtualBox 有一个菜单项插入增强功能 CD 映像,它会将增强功能 ISO 文件挂载到您的虚拟机内部。然后,Windows 客户机应自动启动增强功能安装程序,该程序会在您的 Windows 客户机上安装增强功能。
对于其他客户操作系统,或者如果CD上的软件自动启动被禁用,您需要手动启动安装程序。
要在Windows客户机中使基本的Direct3D加速正常工作,您必须安装适用于Windows Vista或更高版本的WDDM视频驱动程序。
对于 Windows 8 及更高版本,仅提供 WDDM Direct3D 视频驱动程序。为了使基本的 Direct3D 加速在 Windows XP 客户机中工作,您必须在安全模式下安装增强功能。有关详细信息,请参阅第 14 章,已知限制。
如果您希望手动挂载增强功能,可以执行以下步骤
启动您已安装Windows的虚拟机。
从虚拟机菜单栏的设备菜单中选择光驱,然后选择选择/创建磁盘映像。这将显示虚拟介质管理器,如第 5.3 节“虚拟介质管理器”所述。
在虚拟介质管理器中,单击添加并浏览主机文件系统以查找VBoxGuestAdditions.iso
文件。
在 Windows 主机上,此文件位于 Oracle VM VirtualBox 安装目录中,通常在C:\Program files\Oracle\VirtualBox
中。
在 macOS 主机上,此文件位于 Oracle VM VirtualBox 的应用程序包中。右键单击 Finder 中的 Oracle VM VirtualBox 图标并选择显示包内容。该文件位于Contents/MacOS
文件夹中。
在 Linux 主机上,此文件位于您安装 Oracle VM VirtualBox 的additions
文件夹中,通常是/opt/VirtualBox/
。
在 Oracle Solaris 主机上,此文件位于您安装 Oracle VM VirtualBox 的additions
文件夹中,通常是/opt/VirtualBox
。
在虚拟介质管理器中,选择 ISO 文件并单击添加按钮。这会挂载 ISO 文件并将其作为 CD-ROM 呈现给您的 Windows 客户机。
除非您在 Windows 客户机中禁用了自动启动功能,否则 Windows 现在将从增强功能 ISO 自动启动 Oracle VM VirtualBox 增强功能安装程序。如果自动启动功能已关闭,请从客户机内部的 CD/DVD 驱动器中选择VBoxWindowsAdditions.exe
以启动安装程序。
安装程序会将多个设备驱动程序添加到Windows驱动程序数据库,然后调用硬件检测向导。
根据您的配置,它可能会显示驱动程序未进行数字签名的警告。您必须确认这些警告才能继续安装并正确安装增强功能。
安装后,重新启动客户操作系统以激活增强功能。
Windows增强功能可以通过再次运行安装程序来更新。这会将旧的增强功能驱动程序替换为更新版本。
或者,您也可以打开 Windows 设备管理器,并为以下设备选择更新驱动程序...
Oracle VM VirtualBox 图形适配器
Oracle VM VirtualBox 系统设备
对于每个设备,选择提供您自己的驱动程序的选项,单击从磁盘安装,然后导航到包含增强功能的 CD-ROM 驱动器。
您可以在使用创建虚拟机向导创建新虚拟机时配置 Oracle VM VirtualBox 增强功能的无人值守安装。在向导的无人值守客户机操作系统安装页面上选择增强功能复选框。
客户操作系统安装完成后,增强功能将自动安装。
为了避免在执行 Oracle VM VirtualBox 增强功能无人值守安装时出现弹出窗口,用于对驱动程序进行签名的代码签名证书需要安装在客户机操作系统的正确证书存储中。如果未能这样做,将导致典型的 Windows 安装显示多个对话框,询问您是否要安装特定驱动程序。
在某些旧版Windows中,例如Windows 2000和Windows XP,即使导入了Oracle证书,上述用户干预弹出窗口也总是会显示。
在 Windows 客户机上安装代码签名证书可以自动完成。使用增强功能安装 CD 上cert
文件夹中的VBoxCertUtil.exe
实用程序。
请按照以下步骤操作
以管理员身份登录客户机。
挂载 Oracle VM VirtualBox 增强功能 .ISO。
在客户机上打开一个命令行窗口,并更改到 Oracle VM VirtualBox 增强功能 CD 上的cert
文件夹。
运行以下命令
VBoxCertUtil.exe add-trusted-publisher vbox*.cer --root vbox*.cer
此命令将证书安装到证书存储区。当多次安装相同的证书时,将显示相应的错误。
为了实现完全无人值守的客户机安装,您可以为安装启动器指定命令行参数
VBoxWindowsAdditions.exe /S
这会自动为相应的平台(32位或64位)安装正确的文件和驱动程序。
默认情况下,在 Vista 或 Windows 7 客户机上的无人值守安装中,会安装 XPDM 图形驱动程序。此图形驱动程序不支持客户机上的 Windows Aero / Direct3D。相反,需要安装 WDDM 图形驱动程序。要默认选择此驱动程序,请在调用 Windows 增强功能安装程序时添加命令行参数/with_wddm
。这仅适用于 Vista 和 Windows 7。
为了使Windows Aero在客户机上正常运行,客户机的VRAM大小需要配置至少128MB。
有关无人值守客户机安装的更多选项,请使用以下命令查阅命令行帮助
VBoxWindowsAdditions.exe /?
与 Windows 增强功能类似,适用于 Linux 的 Oracle VM VirtualBox 增强功能是一组设备驱动程序和系统应用程序,可以安装在客户机操作系统中。
正式支持以下Linux发行版
Oracle Linux 5版及更高版本,包括UEK内核
Fedora Core 4及更高版本
Red Hat Enterprise Linux 3版及更高版本
SUSE和openSUSE Linux 9版及更高版本
Ubuntu 5.10版及更高版本
许多其他发行版已知可与增强功能配合使用。
SUSE 和 openSUSE 10.2、Ubuntu 6.10(所有版本)和 Ubuntu 6.06(服务器版)中默认提供的 Linux 内核版本包含一个错误,该错误可能导致其在虚拟机中运行时在启动期间崩溃。增强功能在这些发行版中可以工作。
请注意,某些 Linux 发行版已经预装了部分或全部 Oracle VM VirtualBox 增强功能。您可以选择保留发行版提供的增强功能版本,但这些版本通常不是最新的且功能有限,因此我们建议将其替换为 Oracle VM VirtualBox 附带的增强功能。Oracle VM VirtualBox Linux 增强功能安装程序会尝试检测现有安装并替换它们,但根据发行版集成增强功能的方式,这可能需要一些手动交互。强烈建议在替换预安装的增强功能之前创建虚拟机的快照。
适用于 Linux 的 Oracle VM VirtualBox 增强功能与适用于 Windows 的增强功能在同一个虚拟 CD-ROM 文件中提供。请参阅第 4.2.1.1 节“安装 Windows 增强功能”。它们还附带一个安装程序,可指导您完成设置过程。然而,由于 Linux 发行版之间的显著差异,与 Windows 相比,安装可能会稍微复杂一些。
安装通常涉及以下步骤
在安装增强功能之前,您需要为构建外部内核模块准备客户机系统。这与第 2.3.2 节“Oracle VM VirtualBox 内核模块”中描述的方式相同,只是此步骤必须在您的 Linux 客户机中执行,而不是在 Linux 主机系统上执行。
如果您怀疑出现问题,请检查您的客户机是否已正确设置,并以root身份运行以下命令
rcvboxadd setup
将VBoxGuestAdditions.iso
CD 文件插入到您的 Linux 客户机的虚拟 CD-ROM 驱动器中,具体操作方法与第 4.2.1.1 节“安装 Windows 增强功能”中描述的 Windows 客户机相同。
切换到您的CD-ROM驱动器挂载的目录,并以root身份运行以下命令
sh ./VBoxLinuxAdditions.run
您可以在使用创建虚拟机向导创建新虚拟机时配置 Oracle VM VirtualBox 增强功能的无人值守安装。在向导的无人值守客户机操作系统安装页面上选择增强功能复选框。
客户操作系统安装完成后,增强功能将自动安装。
在 Linux 和 Oracle Solaris 客户机中,Oracle VM VirtualBox 图形和鼠标集成通过 X Window System 进行。Oracle VM VirtualBox 可以使用该系统的 X.Org 变体,或与第一个 X.Org 版本相同的 XFree86 4.3 版本。在安装过程中,X.Org 显示服务器将设置为使用随增强功能提供的图形和鼠标驱动程序。
在将增强功能安装到受支持的 Linux 发行版或 Oracle Solaris 系统的全新安装中后,许多不受支持的系统也能正常工作,客户机的图形模式将随主机上 Oracle VM VirtualBox 窗口的大小调整而变化。您还可以使用VBoxManage工具发送视频模式提示,要求客户机系统切换到特定分辨率。
使用 X.Org 服务器 1.3 版本(X Window System 版本 11 的 7.3 版本的一部分)或更高版本的客户机支持多个客户机显示器。客户机屏幕的布局可以根据需要使用客户机操作系统附带的工具进行调整。
如果您想了解有关 X.Org 驱动程序设置的更多详细信息,特别是如果您希望在我们的安装程序无法正确处理的环境中使用它们,请参阅第 9.3.2 节“客户机图形和鼠标驱动程序设置深入探讨”。
从 Oracle VM VirtualBox 7 开始,运行 VMSVGA 图形配置的 Linux 客户机屏幕调整功能已更改。从那时起,此功能由一个名为 VBoxDRMClient 的独立守护进程及其桌面环境辅助对应部分组成。
VBoxDRMClient 作为根进程运行,是主机与客户机的 vmwgfx 驱动程序之间的桥梁。这意味着 VBoxDRMClient 监听来自主机的屏幕调整提示并将其转发给 vmwgfx 驱动程序。这使得客户机屏幕调整功能在用户执行图形登录之前即可使用。
为了执行桌面环境特定的操作,例如在多显示器设置中设置主屏幕,会使用桌面环境助手。一旦用户执行图形登录操作,辅助守护进程将以用户会话范围启动,并尝试使用 IPC 连接到 VBoxDRMClient。当 VBoxDRMClient 收到来自主机的相应命令时,它会通过 IPC 转发给辅助守护进程,然后执行该操作。
默认情况下,VBoxDRMClient允许任何进程连接到其IPC套接字。这可以通过以下步骤进行限制
增强功能 Linux 安装程序会创建一个名为vboxdrmipc
的用户组。需要将相应的用户添加到此组中。
您必须设置DRMIpcRestricted
客户机属性,如下所示:
VBoxManage guestproperty set "VM name" /VirtualBox/GuestAdd/DRMIpcRestricted 1 \ --flags RDONLYGUEST
设置属性时仅设置 RDONLYGUEST 标志非常重要,这样就不能在 Guest 内部对其进行更改。
这两个步骤都是必需的。如果缺少其中一个,所有进程都将能够访问 IPC 套接字。
通过取消设置 Guest 属性可以禁用受限模式,如下所示
VBoxManage guestproperty unset "VM name" /VirtualBox/GuestAdd/DRMIpcRestricted
通过使用更新的 CD-ROM 映像再次执行安装过程,可以简单地更新 Guest Additions。这将用更新的版本替换驱动程序。更新 Guest Additions 后,应重新启动。
如果您的虚拟机上安装了某个版本的增强功能,并且希望在不安装新版本的情况下将其删除,您可以按照上述说明将增强功能 CD 映像插入到虚拟 CD-ROM 驱动器中。然后,从 CD 映像在客户机中挂载的路径中,使用uninstall
参数运行当前增强功能的安装程序,如下所示:
sh ./VBoxLinuxAdditions.run uninstall
虽然这通常可以顺利进行,但在某些情况下,您可能需要手动清理客户机,特别是 XFree86Config 或 xorg.conf 文件。特别是,如果安装的增强功能版本或客户机操作系统非常旧,或者您在安装增强功能后对其设置进行了自己的更改。
您可以按如下方式卸载 Additions
/opt/VBoxGuestAdditions-version
/uninstall.sh
将/opt/VBoxGuestAdditions-
替换为正确的增强功能安装目录。version
与 Windows 增强功能类似,适用于 Oracle Solaris 的 Oracle VM VirtualBox 增强功能以一组设备驱动程序和系统应用程序的形式提供,可以安装在客户机操作系统中。
正式支持以下 Oracle Solaris 发行版
Oracle Solaris 11,包括 Oracle Solaris 11 Express
Oracle Solaris 10 4/08 及更高版本
其他发行版如果基于可比较的软件版本,也可能工作。
适用于 Oracle Solaris 的 Oracle VM VirtualBox 增强功能与适用于 Windows 和 Linux 的增强功能在同一个 ISO CD-ROM 上提供。它们附带一个安装程序,可指导您完成设置过程。
安装包括以下步骤
将VBoxGuestAdditions.iso
文件作为您的 Oracle Solaris 客户机的虚拟 CD-ROM 驱动器挂载,方法与第 4.2.1.1 节“安装 Windows 增强功能”中描述的 Windows 客户机完全相同。
如果 Guest 上的 CD-ROM 驱动器未挂载(如某些 Oracle Solaris 10 版本所示),请以 root 身份运行以下命令
svcadm restart volfs
切换到您的CD-ROM驱动器挂载的目录,并以root身份运行以下命令
pkgadd -G -d ./VBoxSolarisAdditions.pkg
选择1并确认安装增强功能软件包。安装完成后,注销并在客户机上登录 X 服务器,以激活 X11 增强功能。
您可以在使用创建虚拟机向导创建新虚拟机时配置 Oracle VM VirtualBox 增强功能的无人值守安装。在向导的无人值守客户机操作系统安装页面上选择增强功能复选框。
客户操作系统安装完成后,增强功能将自动安装。
可以通过从 Guest 中移除软件包来安全地移除 Oracle Solaris Guest Additions。打开 root 终端会话并运行以下命令
pkgrm SUNWvboxguest
Oracle VM VirtualBox 还附带了一组驱动程序,可以改进在虚拟机中运行 OS/2 的体验。由于 OS/2 本身的限制,此版本的增强功能具有有限的功能集。有关详细信息,请参阅第 14 章,已知限制。
OS/2 增强功能与适用于其他平台的增强功能在同一个 ISO CD-ROM 上提供。按照前面描述的方式在 OS/2 中挂载 ISO。OS/2 增强功能位于\OS2
目录中。
目前我们不提供自动安装程序。请参阅 CD-ROM 目录中的readme.txt
文件,其中描述了如何手动安装 OS/2 增强功能。
借助 Oracle VM VirtualBox 的共享文件夹功能,您可以从客户机系统内部访问主机系统的文件。这类似于您在 Windows 网络中使用网络共享的方式,只是共享文件夹不需要网络连接,只需要增强功能。Windows 2000 或更高版本、Linux 和 Oracle Solaris 客户机支持共享文件夹。Oracle VM VirtualBox 包含对 Mac OS X 和 OS/2 客户机的实验性支持。
共享文件夹物理上位于主机上,然后与客户机共享,客户机使用增强功能中的特殊文件系统驱动程序与主机通信。对于 Windows 客户机,共享文件夹实现为伪网络重定向器。对于 Linux 和 Oracle Solaris 客户机,增强功能提供了一个虚拟文件系统。
要在 Oracle VM VirtualBox 中与虚拟机共享主机文件夹,您必须指定文件夹的路径并选择一个客户机可用于访问共享文件夹的共享名称。这在主机上进行。在客户机中,您可以使用共享名称连接到它并访问文件。
为虚拟机设置共享文件夹有几种方法
在运行中的虚拟机窗口中,您可以从设备菜单中选择共享文件夹,或单击右下角状态栏上的文件夹图标。
如果虚拟机当前未运行,您可以在虚拟机的设置窗口中配置共享文件夹。
从命令行,您可以使用VBoxManage创建共享文件夹,如下所示:
VBoxManage sharedfolder add "VM name" --name "sharename" --hostpath "C:\test"
共享有两种类型
永久共享,随 VM 设置一起保存。
瞬态共享,它们在运行时添加并在虚拟机关闭时消失。这些共享可以通过 VirtualBox 管理器中的复选框创建,或者使用VBoxManage sharedfolder add命令的--transient
选项创建。
共享文件夹可以是读写或只读的。这意味着客户机可以同时读取和写入主机上的文件,或者只能读取。默认情况下,共享文件夹是读写的。只读文件夹可以通过 VirtualBox 管理器中的复选框创建,或者使用VBoxManage sharedfolder add命令的--readonly
选项创建。
Oracle VM VirtualBox 共享文件夹还支持符号链接,也称为symlinks,但需满足以下条件:
Host 操作系统必须支持软链接。例如,需要 macOS、Linux 或 Oracle Solaris Host。
Guest VM 必须安装支持软链接的 Guest Additions 版本。目前只有 Linux 和 Oracle Solaris Guest Additions 支持软链接。
出于安全原因,默认情况下不允许客户机操作系统创建符号链接。如果您信任客户机操作系统不会滥用此功能,您可以按如下方式为共享文件夹启用符号链接的创建:
VBoxManage setextradataVM-name
VBoxInternal2/SharedFoldersEnableSymlinksCreate/sharename
1
如果在主机上的共享文件夹中创建了符号链接,并且安装的增强功能不支持符号链接,那么客户机将把符号链接的目标视为共享文件夹中的文件。例如,如果在 Linux 主机上创建了一个指向文件的符号链接
$ cd /SharedFolder && ln -s filename symlink-to-filename
然后在 Windows 客户机上查看共享文件夹时,将列出两个相同的文件:filename和symlink-to-filename。
您可以从 VM 内部挂载共享文件夹,方法与挂载普通网络共享相同
在 Windows 客户机中,共享文件夹可浏览,因此在 Windows 资源管理器中可见。要将主机的共享文件夹附加到您的 Windows 客户机,请打开 Windows 资源管理器并在我的网络位置、整个网络、Oracle VM VirtualBox 共享文件夹中查找该文件夹。通过右键单击共享文件夹并从弹出的菜单中选择映射网络驱动器,您可以为该共享文件夹分配一个驱动器号。
或者,在 Windows 命令行上,使用以下命令
net use x: \\vboxsvr\sharename
虽然vboxsvr
是一个固定名称,但请注意vboxsrv
也可以工作,将x:
替换为您要用于共享的驱动器号,将sharename
替换为使用VBoxManage指定的共享名称。
在 Linux Guest 中,使用以下命令
mount -t vboxsf [-o OPTIONS] sharename mountpoint
要在启动时挂载共享文件夹,请将以下条目添加到/etc/fstab
中:
sharename mountpoint vboxsf defaults 0 0
在 Oracle Solaris Guest 中,使用以下命令
mount -F vboxfs [-o OPTIONS] sharename mountpoint
将sharename
(使用小写字符串)替换为使用VBoxManage或 VirtualBox 管理器指定的共享名称。将mountpoint
替换为您希望在客户机上挂载共享的路径,例如/mnt/share
。通常的挂载规则适用。例如,如果此目录尚不存在,请首先创建它。
以下是在 Oracle Solaris 上为用户 jack 挂载共享文件夹的示例
$ id uid=5000(jack) gid=1(other) $ mkdir /export/home/jack/mount $ pfexec mount -F vboxfs -o uid=5000,gid=1 jackshare /export/home/jack/mount $ cd ~/mount $ ls sharedfile1.mp3 sharedfile2.txt $
除了mount命令提供的标准选项之外,还提供以下选项:
iocharset CHARSET
此选项设置用于 I/O 操作的字符集。请注意,在 Linux 客户机上,如果未指定iocharset
选项,则增强功能驱动程序将尝试使用 CONFIG_NLS_DEFAULT 内核选项指定的字符集。如果此选项也未设置,则使用 UTF-8。
convertcp CHARSET
此选项指定用于共享文件夹名称的字符集。默认情况下,这是 UTF-8。
mount手册页中记录的通用挂载选项也适用。特别是uid
、gid
和mode
选项非常有用,因为它们可以允许普通用户以读/写模式访问,具体取决于设置,即使 root 用户已挂载文件系统也是如此。
在 OS/2 客户机中,使用VBoxControl命令管理共享文件夹。例如:
VBoxControl sharedfolder use D: MyShareName VBoxControl sharedfolder unuse D: VBoxControl sharedfolder list
与 Windows 客户机一样,共享文件夹也可以通过 UNC 访问,使用\\VBoxSF\
、\\VBoxSvr\
或\\VBoxSrv\
作为服务器名称,并使用共享文件夹名称作为sharename
。
Oracle VM VirtualBox 提供了自动挂载共享文件夹的选项。当为共享文件夹启用自动挂载时,增强功能服务将自动为您挂载它。对于 Windows 或 OS/2,还可以指定首选驱动器号。对于 Linux 或 Oracle Solaris,还可以指定挂载点目录。
如果未指定驱动器号或挂载点,或者该位置已被占用,Guest Additions 服务将查找备用位置。该服务根据 Guest OS 查找备用位置,如下所示
Windows 和 OS/2 客户机。从Z:
开始查找一个空闲的驱动器号。如果所有驱动器号都已分配,则不挂载该文件夹。
Linux 和 Oracle Solaris 客户机。文件夹挂载在/media
目录下。文件夹名称会进行规范化(没有空格、斜杠或冒号),并以sf_
作为前缀。
例如,如果您有一个名为myfiles
的共享文件夹,它将以/media/sf_myfiles
的形式出现在客户机中。
客户机属性/VirtualBox/GuestAdd/SharedFolders/MountDir
和更通用的/VirtualBox/GuestAdd/SharedFolders/MountPrefix
可用于覆盖自动挂载目录和前缀。请参阅第 4.7 节“客户机属性”。
在 Windows 客户机中,自动挂载的共享文件夹的访问权限授予给所有人,包括客户机用户。对于 Linux 和 Oracle Solaris 客户机,访问权限仅限于vboxsf
组的成员和root
用户。
Oracle VM VirtualBox 使您能够将内容从主机拖放到客户机,反之亦然。为此,客户机上必须安装最新版本的增强功能。
拖放功能透明地允许在两端之间复制或打开文件、目录,甚至某些剪贴板格式。例如,从主机到客户机,或从客户机到主机。然后您可以在主机和虚拟机之间执行拖放操作,就像在主机操作系统上进行本机拖放操作一样。
目前,拖放功能已在基于 Windows 和基于 X-Windows 的系统上实现,包括主机和客户机端。由于 X-Windows 支持许多不同的拖放协议,目前仅支持最常见的 XDND 协议。使用其他协议(例如 Motif 或 OffiX)的应用程序将不被 Oracle VM VirtualBox 识别。
在使用拖放的上下文中,数据的来源称为源。也就是说,实际数据来自何处以及在哪里指定。而目的地则指定源数据应去向何处。数据从源传输到目的地可以通过各种方式完成,例如复制、移动或链接。
目前仅支持数据复制。移动或链接尚未实现。
当数据从主机传输到客户机操作系统时,在这种情况下主机是源,而客户机操作系统是目的地。但是,当数据从客户机操作系统传输到主机时,这次客户机操作系统成为源,主机是目的地。
出于安全原因,拖放功能可以在运行时按虚拟机进行配置,方法是使用虚拟机设备菜单中的拖放菜单项(如下所示),或使用VBoxManage命令。
提供以下拖放模式
禁用。完全禁用拖放功能。这是创建新虚拟机时的默认设置。
主机到客户机。仅启用从主机到客户机的拖放操作。
客户机到主机。仅启用从客户机到主机的拖放操作。
双向。启用双向拖放操作:从主机到客户机,以及从客户机到主机。
拖放支持取决于所使用的前端。目前,只有 VirtualBox Manager 前端提供了此功能。
要使用VBoxManage命令控制当前拖放模式,请参阅第 8 章,VBoxManage。modifyvm和controlvm命令允许从命令行设置虚拟机的当前拖放模式。
由于 Oracle VM VirtualBox 可以在各种主机操作系统上运行,并且支持广泛的客户机,因此某些数据格式在传输后必须进行转换。这是为了使接收数据的目标操作系统能够以适当的方式处理它们。
拖动文件时,不进行任何数据转换。例如,将文件从 Linux Guest 传输到 Windows Host 时,Linux 特定的行尾不会转换为 Windows 行尾。
Oracle VM VirtualBox 拖放服务处理以下格式:
纯文本: 来自文本编辑器、互联网浏览器和终端窗口等应用程序。
文件: 来自文件管理器,如 Windows 资源管理器、Nautilus 和 Finder。
目录: 对于目录,适用与文件相同的格式。
Oracle VM VirtualBox 增强功能包含对 Windows、Linux 和 Oracle Solaris 客户机的实验性硬件 3D 支持。
借助此功能,如果虚拟机内的应用程序通过 OpenGL 或 Direct3D 8/9 编程接口使用 3D 功能,Oracle VM VirtualBox 将尝试使用主机的 3D 硬件,而不是在软件中模拟它们(这会很慢)。这适用于所有受支持的主机平台,前提是您的主机操作系统首先能够利用您的加速 3D 硬件。
3D 加速功能目前具有以下前提条件:
它仅适用于某些 Windows、Linux 和 Oracle Solaris 客户机。特别是:
带有 Windows 客户机的 3D 加速需要 Windows 2000 或更高版本。除了 Windows 2000 客户机之外,OpenGL 和 Direct3D 8/9 都处于实验性支持阶段。
Linux 上的 OpenGL 需要内核 2.6.27 或更高版本,以及 X.org 服务器 1.5 或更高版本。Ubuntu 10.10 和 Fedora 14 已经过测试并确认可以正常工作。
Oracle Solaris Guest 上的 OpenGL 需要 X.org 服务器版本 1.5 或更高版本。
必须安装增强功能。
为了使基本的 Direct3D 加速在 Windows 客户机中工作,Oracle VM VirtualBox 需要替换虚拟机中的 Windows 系统文件。因此,增强功能安装程序提供了 Direct3D 加速作为必须明确启用的选项。此外,您必须在安全模式下安装增强功能。这不适用于 Windows Vista 及更高版本可用的 WDDM Direct3D 视频驱动程序。有关详细信息,请参阅第 14 章,已知限制。
由于 3D 支持目前仍处于实验阶段,因此默认情况下它是禁用的,必须在虚拟机设置中手动启用。请参阅第 3.6 节“显示设置”。
不应允许不受信任的客户机系统使用 Oracle VM VirtualBox 的 3D 加速功能,就像不应允许不受信任的主机软件使用 3D 加速一样。3D 硬件的驱动程序通常过于复杂,无法做到完全安全,任何允许访问它们的软件都可能危及运行它们的操作系统。此外,启用 3D 加速使客户机可以直接访问 Oracle VM VirtualBox 主机进程中大量的额外程序代码,客户机可能因此能够利用这些代码使虚拟机崩溃。
要启用 Aero 主题支持,必须安装 Oracle VM VirtualBox WDDM 视频驱动程序,该驱动程序随增强功能安装提供。WDDM 驱动程序默认情况下不会为 Vista 和 Windows 7 客户机安装,并且在选择 Direct3D 功能时,必须通过在是否要安装基本 Direct3D 支持对话框中单击否来在增强功能安装程序中手动选择。
Aero 主题在 Windows 上默认未启用。有关如何启用 Aero 主题的详细信息,请参阅您的 Windows 平台文档。
技术上,Oracle VM VirtualBox 通过在安装增强功能时在客户机内部安装一个额外的硬件 3D 驱动程序来实现 3D 加速。此驱动程序充当硬件 3D 驱动程序,并向客户机操作系统报告虚拟硬件能够进行 3D 硬件加速。当客户机中的应用程序通过 OpenGL 或 Direct3D 编程接口请求硬件加速时,这些请求会通过 Oracle VM VirtualBox 实现的特殊通信隧道发送到主机。主机然后使用主机的编程接口执行所请求的 3D 操作。
Oracle VM VirtualBox 增强功能包含对 Windows 客户机的实验性硬件 2D 视频加速支持。
借助此功能,如果 Windows 虚拟机中的应用程序(例如视频播放器)使用 2D 视频叠加层播放电影片段,那么 Oracle VM VirtualBox 将尝试使用主机的视频加速硬件,而不是在软件中执行叠加拉伸和颜色转换(这会很慢)。目前,这适用于 Windows、Linux 和 macOS 主机平台,前提是您的主机操作系统首先能够利用 2D 视频加速。
硬件 2D 视频加速目前具有以下前提条件:
仅适用于运行 Windows XP 或更高版本的 Windows 客户机。
必须安装增强功能。
由于 2D 支持目前仍处于实验阶段,因此默认情况下它是禁用的,必须在虚拟机设置中手动启用。请参阅第 3.6 节“显示设置”。
技术上,Oracle VM VirtualBox 通过在增强功能视频驱动程序中公开视频叠加 DirectDraw 功能来实现这一点。驱动程序通过 Oracle VM VirtualBox 实现的特殊通信隧道将所有叠加命令发送到主机。在主机端,然后使用 OpenGL 实现色彩空间转换和缩放。
借助 Oracle VM VirtualBox 的无缝窗口功能,您可以让虚拟机中显示的窗口与主机窗口并排显示。只要安装了增强功能,以下客户机操作系统就支持此功能:
Windows 客户机。
运行 X Window System 的受支持 Linux 或 Oracle Solaris 客户机。
启用无缝窗口后,Oracle VM VirtualBox 会抑制客户机桌面背景的显示,使您能够将客户机操作系统的窗口与主机的窗口无缝地并排运行。
要启用无缝模式,启动虚拟机后,按Host 键 + L。Host 键通常是右 Ctrl 键。这将把虚拟机的显示大小放大到主机屏幕的大小,并遮蔽客户机操作系统的背景。要禁用无缝窗口并返回到正常虚拟机显示,请再次按 Host 键 + L。
只要安装了 Oracle VM VirtualBox 增强功能并且虚拟机正在运行,Oracle VM VirtualBox 就可以从运行中的客户机请求某些属性。这提供了以下优点:
Oracle VM VirtualBox 自动维护许多预定义的虚拟机特性,并可在主机上检索。例如,用于监控虚拟机性能和统计信息。
任意字符串数据可以在 Guest 和 Host 之间交换。这在两个方向上都有效。
为了实现这一点,Oracle VM VirtualBox 在 Oracle VM VirtualBox 增强功能和主机之间建立了一个专用通信通道,双方的软件都可以使用此通道交换字符串数据以实现任意目的。客户机属性只是附加值的字符串键。它们可以由主机和客户机设置或写入。它们也可以从双方读取。
除了建立读写值的通用机制之外,Oracle VM VirtualBox 增强功能还会自动维护一组预定义的客户机属性,以便检索有趣的客户机数据,例如客户机的确切操作系统和服务包级别、安装的增强功能版本、当前登录到客户机操作系统的用户、网络统计信息等。这些预定义属性都以/VirtualBox/
为前缀,并组织成一个分层键树。
当您从虚拟机的机器菜单中选择会话信息对话框时,会显示一些此类运行时信息。
使用此通道的一种更灵活的方式是使用VBoxManage guestproperty命令。请参阅第 8.43 节“VBoxManage guestproperty”。例如,要列出给定运行虚拟机的所有可用客户机属性及其各自的值,请使用此命令:
$ VBoxManage guestproperty enumerate "Windows Vista III" VirtualBox Command Line Management Interface Versionversion-number
Copyright (C) 2005-2023 Oracle and/or its affiliates Name: /VirtualBox/GuestInfo/OS/Product, value: Windows Vista Business Edition, timestamp: 1229098278843087000, flags: Name: /VirtualBox/GuestInfo/OS/Release, value: 6.0.6001, timestamp: 1229098278950553000, flags: Name: /VirtualBox/GuestInfo/OS/ServicePack, value: 1, timestamp: 1229098279122627000, flags: Name: /VirtualBox/GuestAdd/InstallDir, value: C:/Program Files/Oracle/VirtualBox Guest Additions, timestamp: 1229098279269739000, flags: Name: /VirtualBox/GuestAdd/Revision, value: 40720, timestamp: 1229098279345664000, flags: Name: /VirtualBox/GuestAdd/Version, value:version-number
, timestamp: 1229098279479515000, flags: Name: /VirtualBox/GuestAdd/Components/VBoxControl.exe, value:version-number
r40720, timestamp: 1229098279651731000, flags: Name: /VirtualBox/GuestAdd/Components/VBoxHook.dll, value:version-number
r40720, timestamp: 1229098279804835000, flags: Name: /VirtualBox/GuestAdd/Components/VBoxDisp.dll, value:version-number
r40720, timestamp: 1229098279880611000, flags: Name: /VirtualBox/GuestAdd/Components/VBoxMRXNP.dll, value:version-number
r40720, timestamp: 1229098279882618000, flags: Name: /VirtualBox/GuestAdd/Components/VBoxService.exe, value:version-number
r40720, timestamp: 1229098279883195000, flags: Name: /VirtualBox/GuestAdd/Components/VBoxTray.exe, value:version-number
r40720, timestamp: 1229098279885027000, flags: Name: /VirtualBox/GuestAdd/Components/VBoxGuest.sys, value:version-number
r40720, timestamp: 1229098279886838000, flags: Name: /VirtualBox/GuestAdd/Components/VBoxMouse.sys, value:version-number
r40720, timestamp: 1229098279890600000, flags: Name: /VirtualBox/GuestAdd/Components/VBoxSF.sys, value:version-number
r40720, timestamp: 1229098279893056000, flags: Name: /VirtualBox/GuestAdd/Components/VBoxVideo.sys, value:version-number
r40720, timestamp: 1229098279895767000, flags: Name: /VirtualBox/GuestInfo/OS/LoggedInUsers, value: 1, timestamp: 1229099826317660000, flags: Name: /VirtualBox/GuestInfo/OS/NoLoggedInUsers, value: false, timestamp: 1229098455580553000, flags: Name: /VirtualBox/GuestInfo/Net/Count, value: 1, timestamp: 1229099826299785000, flags: Name: /VirtualBox/HostInfo/GUI/LanguageID, value: C, timestamp: 1229098151272771000, flags: Name: /VirtualBox/GuestInfo/Net/0/V4/IP, value: 192.168.2.102, timestamp: 1229099826300088000, flags: Name: /VirtualBox/GuestInfo/Net/0/V4/Broadcast, value: 255.255.255.255, timestamp: 1229099826300220000, flags: Name: /VirtualBox/GuestInfo/Net/0/V4/Netmask, value: 255.255.255.0, timestamp: 1229099826300350000, flags: Name: /VirtualBox/GuestInfo/Net/0/Status, value: Up, timestamp: 1229099826300524000, flags: Name: /VirtualBox/GuestInfo/OS/LoggedInUsersList, value: username, timestamp: 1229099826317386000, flags:
要查询单个属性的值,请使用get子命令,如下所示:
$ VBoxManage guestproperty get "Windows Vista III" "/VirtualBox/GuestInfo/OS/Product"
VirtualBox Command Line Management Interface Version version-number
Copyright (C) 2005-2023 Oracle and/or its affiliates
Value: Windows Vista Business Edition
要从客户机添加或更改客户机属性,请使用工具VBoxControl。此工具包含在增强功能中。从 Linux 客户机启动时,出于安全原因,此工具需要 root 权限。
$ sudo VBoxControl guestproperty enumerate
VirtualBox Guest Additions Command Line Management Interface Version version-number
Copyright (C) 2005-2023 Oracle and/or its affiliates
Name: /VirtualBox/GuestInfo/OS/Release, value: 2.6.28-18-generic,
timestamp: 1265813265835667000, flags: <NULL>
Name: /VirtualBox/GuestInfo/OS/Version, value: #59-Ubuntu SMP Thu Jan 28 01:23:03 UTC 2010,
timestamp: 1265813265836305000, flags: <NULL>
...
对于更复杂的需求,您可以使用 Oracle VM VirtualBox 编程接口。请参阅第 11 章,Oracle VM VirtualBox 编程接口。
客户机控制文件管理器是增强功能的一个特性,它可以在客户机和主机系统之间轻松复制和移动文件。其他文件管理操作提供创建新文件夹以及重命名或删除文件的支持。
当 Guest 的 VM 窗口不可见时,此功能非常有用。例如,当 Guest 在无头模式下运行时。
要使用 Guest 控制文件管理器,Guest 必须正在运行。对于已关机的 Guest,它会自动禁用。
客户机控制文件管理器通过挂载主机文件系统来工作。客户机用户必须进行身份验证并创建客户机会话,然后才能传输文件。
以下步骤描述了如何使用客户机控制文件管理器。
打开 Guest 控制文件管理器。执行以下任一操作
在客户机虚拟机中,选择机器,文件管理器。
在 VirtualBox 管理器中,单击机器名称。在虚拟机的机器工具菜单中单击文件管理器。
左侧窗格显示主机系统上的文件。
创建客户机会话。
在客户机控制文件管理器的底部,输入客户机系统上用户的身份验证凭据。
单击创建会话。
客户机虚拟机文件系统的内容出现在客户机控制文件管理器的右侧窗格中。
使用移动和复制文件传输图标在客户机和主机系统之间传输文件。
您可以将文件从客户机复制和移动到主机系统,或从主机系统复制和移动到客户机。
关闭客户机控制文件管理器。
单击关闭以结束客户机会话。
Guest Additions 支持从 Host 系统在 Guest VM 中启动应用程序。此功能可用于自动化 Guest 内的软件部署。
要实现此功能,应用程序需要安装在客户机上。主机上无需安装额外的软件。此外,可以在主机上显示到 stdout 和 stderr 的文本模式输出,以便进一步处理。可以选择指定用户凭据和超时值(以毫秒为单位),以限制应用程序运行的时间。
Windows 的 Guest Additions 支持自动更新。这适用于已安装的 Guest Additions 版本。此外,还支持从 Host 复制文件到 Guest 以及远程创建 Guest 目录。
要使用这些功能,请使用 Oracle VM VirtualBox 命令行。请参阅第 8.44 节“VBoxManage guestcontrol”。
在有许多虚拟机的服务器环境中,增强功能可用于在多个虚拟机之间共享物理主机内存。这减少了虚拟机使用的内存总量。如果内存使用是限制因素而 CPU 资源仍然可用,这有助于在每个主机上运行更多的虚拟机。
增强功能可以在机器运行时更改虚拟机使用的主机内存量。由于其实现方式,此功能称为内存气球技术。
Oracle VM VirtualBox 仅在 64 位主机上支持内存气球技术。macOS 主机不支持此功能。
启用大页面时,内存气球技术无法很好地工作。要关闭虚拟机的大页面支持,请运行VBoxManage modifyvm vmname
--large-pages off
通常,要更改分配给虚拟机的内存量,您必须完全关闭虚拟机并修改其设置。通过内存气球技术,可以将在虚拟机中分配的内存提供给另一个虚拟机,而无需关闭机器。
请求内存气球技术时,在客户机内部运行的 Oracle VM VirtualBox 增强功能会在内核级别从客户机操作系统分配物理内存,并在客户机中锁定此内存。这确保客户机不再使用该内存。没有客户机应用程序可以分配它,客户机内核也不会使用它。Oracle VM VirtualBox 然后可以重用此内存并将其提供给另一个虚拟机。
通过气球技术机制可用的内存仅供 Oracle VM VirtualBox 重用。它不会作为空闲内存返回给主机。因此,从运行中的客户机请求气球内存不会增加主机上空闲、未分配的内存量。实际上,内存气球技术是多个虚拟机在运行时的一种内存超量使用机制。这对于临时启动另一台机器,或者在更复杂的环境中,对于并行运行的许多虚拟机的复杂内存管理(取决于客户机如何使用内存)可能很有用。
目前,内存气球技术仅通过VBoxManage支持。使用以下命令增加或减少已安装增强功能的运行中虚拟机的内存气球大小:
VBoxManage controlvm "VM name" guestmemoryballoon n
其中VM name
是相关虚拟机的名称或 UUID,n
是从客户机分配的内存量(以兆字节为单位)。请参阅第 8.20 节“VBoxManage controlvm”。
您还可以设置一个默认气球,每次 VM 启动后都会自动从 VM 请求,使用以下命令
VBoxManage modifyvm "VM name" --guest-memory-balloon n
默认情况下,不分配气球内存。这是一项虚拟机设置,像其他modifyvm设置一样,因此只能在机器关闭时进行设置。请参阅第 8.10 节“VBoxManage modifyvm”。
内存气球只是简单地减少了 VM 可用的 RAM 量,而页面融合的工作方式不同。它避免了多个类似运行中的 VM 之间的内存重复。
在同一主机上运行多个相似虚拟机的服务器环境中,许多内存页面都是相同的。例如,如果虚拟机使用相同的操作系统。Oracle VM VirtualBox 的页面融合技术可以有效地识别这些相同的内存页面并在多个虚拟机之间共享它们。
Oracle VM VirtualBox 仅在 64 位主机上支持页面融合,并且不支持 macOS 主机。页面融合目前仅适用于 Windows 2000 及更高版本的客户机。
给定主机上的虚拟机越相似,页面融合就越能有效地减少正在使用的主机内存量。因此,如果主机上的所有虚拟机都运行相同的操作系统,它的效果最好。页面融合不是在每个虚拟机中都拥有每个操作系统的完整副本,而是识别这些操作系统正在使用的相同内存页面并消除重复项,从而在多台机器之间共享主机内存。这称为重复数据删除。如果虚拟机尝试修改与其他虚拟机共享的页面,则会为该虚拟机再次分配一个新页面,其中包含共享页面的副本。这称为写时复制。所有这些对虚拟机都是完全透明的。
您可能熟悉其他虚拟机管理程序产品中的这种内存超量使用,它们将此功能称为页面共享或相同页面合并。然而,页面融合与这些其他解决方案显著不同,后者的方法有几个缺点:
传统的虚拟机管理程序会扫描所有客户机内存,并为每个内存页面计算校验和(也称为哈希值)。然后,它们会查找具有相同哈希值的页面,并比较这些页面的全部内容。如果两个页面生成相同的哈希值,则这些页面的内容很可能相同。这个过程可能相当耗时,特别是当系统不空闲时。结果是,额外的内存只有在大量时间(例如数小时甚至数天)后才能变得可用。更糟糕的是,这种页面共享算法通常会消耗大量 CPU 资源,并将虚拟化开销增加 10% 到 20%。
Oracle VM VirtualBox 中的页面融合利用 Oracle VM VirtualBox 增强功能中的逻辑,快速识别在虚拟机之间极可能相同的内存单元。因此,它几乎可以立即实现大部分页面共享的潜在节省,并且几乎没有开销。
页面融合也更不可能被它将消除的相同内存混淆,只是几秒钟后才发现内存现在将发生变化,并且必须执行代价高昂且通常会中断服务的重新分配。
目前,页面融合只能通过VBoxManage控制,并且只能在虚拟机关闭时进行。要为虚拟机启用页面融合,请使用以下命令:
VBoxManage modifyvm "VM name" --page-fusion on
您可以使用一些指标来观察页面融合操作。RAM/VMM/Shared
显示融合页面的总量,而每虚拟机指标Guest/RAM/Usage/Shared
将返回给定虚拟机的融合内存量。有关如何查询指标的信息,请参阅第 8.46 节“VBoxManage metrics”。
启用页面融合可能会间接增加恶意客户机成功攻击同一主机上运行的其他虚拟机的可能性。请参阅第 13.3.4 节“潜在不安全操作”。
增强功能提供用于控制客户机系统显示器拓扑的服务。显示器拓扑是指每个虚拟显示器的分辨率及其状态(禁用/启用)。虚拟显示器的分辨率可以从主机侧修改,通过调整承载虚拟显示器的窗口大小,使用视图菜单或VBoxManage controlvm vmname
setscreenlayout命令。在具有 X11/Wayland 桌面的客户机操作系统上,这通过以下两种服务之一生效:
VBoxClient --vmsvga VBoxDRMClient
以下是有关 Guest 屏幕分辨率控制功能的一些详细信息
在 X11/Wayland 桌面环境上,调整大小服务在桌面会话初始化期间(即桌面登录时)启动。在 X11 桌面环境上,VBoxClient --vmsvga
通过 RandR 扩展处理屏幕拓扑。在 Wayland 客户端上,使用VBoxDRMClient
。该决定在每次桌面会话启动时自动做出。
在 32 位客户机操作系统上,为解决错误,始终使用VBoxDRMClient。
由于显示器拓扑控制服务在桌面会话启动期间初始化,因此无法控制 GDM 或 LightDM 等显示管理器的显示器分辨率。可以通过将虚拟机的客户机属性/VirtualBox/GuestAdd/DRMResize
设置为任何值来更改此默认行为。有关如何更新客户机属性的详细信息,请参阅第 4.7 节“客户机属性”。设置此客户机属性后,VBoxDRMClient将在客户机操作系统启动期间启动并始终保持活动状态,无论是在显示管理器登录屏幕还是在桌面会话中。