在VirtualBox中安装好客户操作系统(GuestOS)之后,建议安装VirtualBox增强包(VirtualBox GuestAddition),它的作用是对GuestOS的性能和可用性进行优化(也就是提高GuestOS的性能和提升使用者的使用体验)。
GuestAddition实质上是安装在GuestOS上的一组驱动程序和应用程序。
注意,很多人把下载的增强包双击之后,看到VirtualBox的“全局设定”--“扩展”中已经显示出了增强包的名字就认为已经安装好了,其实那样仅仅是 从增强包安装文件中解出了相关文件并以插件的形式安装到了VirtualBox中而已。真正的GuestAddition是该安装文件内的1个ISO文 件,必须在GuestOS中进行挂载并安装才能发挥作用,尤其是对于重装GuestOS的情况,“我分明装了GuestAddition,在扩展中也能看 到,怎么没用呢?”,我以前也是没搞明白这一点。
VirtualBox GuestAddition的功能:
1.鼠标集成: 不需要按下VirtualBox的HostKey(默认为右Ctrl)键,就可以从GuestOS中自动释放鼠标,从而无缝的在Host/Guest OS之间移动鼠标。GuestAddition中提供了一个GuestOS的鼠标驱动,可以与HostOS的鼠标驱动进行通讯,从而实现这一点。
2.共享文件夹:可以在Host/Guest OS之间交换文件。通过在Host OS上设置一个文件夹并指定为VirtualBox的共享文件夹,就可以在GuestOS中以网络共享文件夹的形式访问,即使GuestOS没有网络也可以。
3.更好的视频支持:VirtualBox的虚拟显卡只提供了最基本的视频特性,而GuestAddition中的显卡驱动提供了超高的分辨率和2D3D视频加速。你可以任意调节虚拟机窗口的大小且GuestOS也会自动适应,就如同在GuestOS中设置了任意的分辨率的一样。
4.无缝窗口:这个功能很强大。未安装GuestAddition时,虚拟机窗口只能是一个独立的窗口,安装GuestAddition并启用无缝窗口模式之后,GuestOS可以跳出虚拟机窗口并嵌入Host OS的桌面,就好像是Host OS的普通应用程序一样工作。
支持的GuestOS有:<Windows>和<运行X Window的Linux、Solaris>。
无缝模式的开关快捷键:HostKey+L
注:VirtualBox默认的HostKey是右ctrl。
5.通用的Host/Guest 通讯通道:这个功能主要跟程序员有关。GuestAddition中的"Guest Properties(客户机属性)"提供了一个通用的基于字符串的机制,使用此机制可以在Host/Guest之间交换数据,从而控制或者监控GuestOS。比如在Host OS上直接控制GuestOS的程序启动、运行、关闭等。
6.时间同步:因为某些原因,Host OS和Guest OS的系统时间可能不同步,虽然VirtualBox本身提供了同步功能,但GuestAddition的时间同步的效率和方式大大优于VirtualBox自身。
7.共享剪贴板:也就是可以在Host/Guest OS之间复制粘贴啦。
8.自动登录:可以使GuestOS自动登录,包括使用证书的情况下。
在CentOS 6.3下安装GuestAddition
在安装GuestAddition之间,需要让CentOS为编译生成外置核心模块做好准备。
(原文:Before installing the Guest Additions, you will have to prepare your guest system for building external kernel modules.)
不同的Linux distribution在这步的操作非常不同,这里只说CentOS 6.3的操作,其他操作请自行查阅VirtualBox_UserManual.pdf。
下列操作对CentOS, Red Hat Enterprise Linux and Oracle Enterprise Linux都适用:
建议以root身份运行下列命令。
1.如果你的CentOS 版本早于 6,那么需要在 /etc/grub.conf 中添加一行 divider=10,以将这个参数传递给核心,以减少 idle CPU load。
2.#yum update
把系统的所有软件升级到最新版本。
3.#yum install gcc
安装编译系统
4.#yum install kernel-devel
安装外置核心模块。
5.#reboot
重启以使所有的升级或安装生效。
至此,所有的准备工作就完成了,下面开始安装GuestAddition。
6.在虚拟机窗口的菜单条下选择 "Device"--“Mount CD/DVD-ROM” ,选择 "CD/DVD-ROM image" ,会弹出 Virtual Media Manager 窗口,然后在资源浏览器中找到 VBoxGuestAdditions.iso 文件(这里假设 Host OS 是 Windows),VBoxGuestAdditions.iso 通常位于 VirtualBox 的安装目录下。
注意:VirtualBox虚拟机窗口的菜单很多时候是隐藏的,显示的快捷键是HostKey+C。我找这个急出一身汗。
至此,就相当于在 CentOS 虚拟机中插入了 GuestAddition 的光盘。接下来需要挂载该光盘。
7.#mount -t auto /dev/cdrom1 /mnt
挂载光盘。
注意:VirtualBox默认有2个光驱,分别是 /dev/cdrom 和 /dev/cdrom1 。
如果你挂载命令执行后卡了很久,最后出现:you must specify the filesystem type,说明你需要换个设备名。
我就是在这一步卡了很久,尿都憋出来了,后来发现 VirtualBox 有2个光驱,nnd。
8.#cd /mnt
挂载成功后进入挂载目录。
9.#sh ./VBoxLinuxAdditions.run
安装 GuestAddition。安装过程比较久,慢慢等。
安装成功的画面如下:
好了,整个安装完成。最后需要重启以使 GuestAddition 生效。
#reboot