Fedora虚拟机安装VirtualBox增强功能(Guest Additions)
这篇教程介绍如何在Fedora虚拟机里安装VirtualBox增强功能。不管宿主机使用什么OS,只要VirtualBox里安装的是Fedora系统,就能按照下面的步骤安装VirtualBox增加功能。
VirtualBox增强功能提供了如下4个功能。
- 用户可以在宿主机和虚拟机之间无缝地移动鼠标指针。用户不再需要按Host键,即右Ctrl键,使鼠标指针从VirtualBox虚拟机中释放出来。
- 宿主机可以将文件系统中的一个目录共享给虚拟机,使虚拟机对这个目录有读取和写入的权限。
- 增强虚拟机的图形显卡方面的能力。虚拟机的屏幕可以随窗口大小的变动来自动调整分辨率。虚拟机可以使用宿主机的3D硬件加速能力。如果你用VirtualBox安装Ubuntu虚拟机,那么一定要安装增强功能以使用宿主机的3D硬件加速,否则Ubuntu的Unity桌面运行速度会非常慢。
- 宿主机和虚拟机之间可以双向共享剪贴板。
安装VirtualBox增强功能的基本流程
明白了安装的流程,下面的安装步骤就很简单了。VirtualBox增强功能包含了一组设备驱动程序(显卡驱动、鼠标驱动)和系统程序(包括VirtualBox内核模块),它们是安装在虚拟机系统中的,而不是安装在宿主机系统上。VirtualBox内核模块必须使用编译的方法来安装。
所以,安装过程可以分为3步。
- 在虚拟机里安装gcc, dkms等开发工具,使我们能在虚拟机里编译软件。
- 在宿主机下载VirtualBox增强功能的ISO镜像文件,然后插入到虚拟机的虚拟光驱。
- 在虚拟机中安装增强功能。
常见问题
为什么必须要编译VirtualBox内核模块?
内核模块的二进制兼容性取决于Linux内核API。由于每一个版本的Linux内核都会对API做点修改,所以内核升级后,内核模块可能就不会与Linux内核兼容了。我们先编译一次,之后如果内核升级了,DKMS会自动编译VirtualBox内核模块。
为什么不在虚拟机里下载增强功能,而要在宿主机下载增强功能?
因为Oracle以ISO镜像文件的格式提供VirtualBox增强功能。VritualBox本身提供了一个插入ISO文件到虚拟光驱的图形操作方法。这比我们手动在虚拟机里挂载ISO文件要更方便。
Fedora虚拟机安装VirtualBox功能的步骤
升级Fedora系统的软件。
sudo dnf update && sudo dnf upgrade
安装DKMS、GCC编译器、kernel-headers和kernel-devle。
sudo dnf install dkms gcc kernel-devel kernel-headers
重启Fedora虚拟机。
sudo shutdown -r now
然后,在虚拟机的窗口选择设备 > 插入增强功能CD镜像。
有一个窗口会弹出,询问你是否要运行VirtualBox增强功能的安装脚本,点击运行(Run)。
有些版本的VirtualBox自带了增强功能的ISO文件,所以就不需要我们手动下载。但有些VirtualBox版本会提示你下载增强功能的ISO镜像文件。
输入密码后,增强功能就开始安装了。在此过程中会编译VirtualBox内核模块,安装X Window驱动程序、鼠标驱动程序。如下图:
所有状态都为OK,就表示增强功能都安装成功了,如果有failed状态,就表示有的组件安装失败。安装成功后,重启Fedora虚拟机,就能让屏幕进入全屏模式,设置文件共享和剪贴版共享了。