在 CentOS 上安装及使用 VirtualBox

<!> VirtualBox(VB)的开发正在迅速地进行,而这页的信息也许已经过时。现时的 Linux 下载页已经收录了一个 yum 软件库配置文件。很不幸地这些 RPM 组件并未能得体地处理重大版本升级。VB 内置的更新通知亦不整全,并且只会报告规模更新(例如:5.1.6->5.1.8),而不会报告主要更新(例如:4->5)。此刻,你必须先删除旧的版本,然后才能安装一个新的主要版本,否则组件在升级时会遇上 RPM 冲突。请细心阅读 VB 的使用手册;然而,截至本文它仍未能称职地讨论 RPM 的安装。最新详情可参阅 VB 的网站。好消息就是,这些新版本拥有重大改善及崭新功能,而它们与旧虚拟机器有良好的兼容性。

可供选用及获支持的版本有 VirtualBox-5.2(VirtualBox-5.2-5.2.28_130011_el7-1)及 6.0(VirtualBox-6.0-6.0.6_130049_el7-1) 。要拥有 5.x/6.x 版的所有功能,你亦需要 VirtualBox Extension Pack,它支持 USB 2.0/3.0 设备、RDP 及利用 Intel 网络卡以PXE 开机。

如果你执行客端的 CentOS 7.6.1810 图像界面,你必须采用 5.2.23 或 6.0.0 版才能创建图像驱动程序。见 VBox 错误报告 18093。此外,鼠标或许会不能运作,正如 此 VBox 论坛议题 所汇报。

有关运用 CentOS 作为 VB 客端的信息,请参阅 CentOS 作为 VirtualBox 的客端操作系统

另外参阅此篇 关于 VirtualBox 的 Red Hat Developer 文章

请注意 VirtualBox 是 Oracle Corporation(它收购了 Sun Microsystems)的产品。CentOS 计划并不提供,也不支持它,但是在论坛虚拟化邮件列表上发问也许会获得解答。

1. VirtualBox 是什么?

VirtualBox 是一套为不同操作系统而设的 x86 虚拟化产品。它是一个机器/硬件的虚拟化产品,亦即监督器,功能上与 VMware ServerParallels WorkstationQEMUKVM、及 Xen 相若,并能支持各种客端操作系统,当中包括 Windows(Server 2003-2012、Vista、7、8 及 10)、DOS/Windows 3.x、Linux(2.4 及 2.6)、Solaris/OpenSolaris、与及 OpenBSD。它的支持者声称它是「在 GNU General Public License(GPL)下唯一个以开源程序免费供应的专业方案」。

VirtualBox 以原生组件的方式提供给不同构架。它们有针对 RHEL5/RHEL6/RHEL7 的 i386 及 AMD64(x86_64)RPM 组件,可在 CentOS-5/6/7(或 Scientific 及其它衍生自 RHEL 的发行版本)上使用,此外还有针对 Debian、Ubuntu 及其衍生的 .deb 组件,Mac OS-X,Windows,Solaris 和 OpenSolaris,与及源代码。

2. 为何用 VirtualBox?

虽然它不及那些修改 Linux 内核的操作系统级虚拟化方案,如 XenKVMOpenVZ、或 Vserver 般高效率,它却是容易安装及使用。优点包括:

  1. 备有 RPM 组件
  2. 积极的社区支持

  3. 执行各种客端操作系统
  4. 良好的硬件访问支持,包括声音、USB、及串口
  5. 支持不少主体操作系统
  6. 容许你执行微软的操作系统及应用程序而不会搞乱你的计算机或要双重开机

3. 安装 VirtualBox

VirtualBox 的网页内收录了很多高质素的文件,包括:

这份文章会简略地介绍安装的过程。现在同时备有 i386 及 AMD64(x86_64)版本。

你须要以 root 的身份完成下列步骤。请登录 root 的指令壳,或在一个终端窗口内输入 "su -"。

下载 RHEL 软件库的配置文件

cd /etc/yum.repos.d
wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo

安装 VB 时是须要创建内核模块的。假如 DKMS(Dynamic Kernel Module Support)已被安装,它会被应用,并会简化内核升级。我们推荐在安装 VirtualBox 前,首先从 EPEL 软件库安装 DKMS。切勿忘记设置 yum-priorities 插件。安装 DKMS 将会自动带进所需的开发用依赖组件:

yum --enablerepo=epel install dkms

<!> 有位论坛用户声称所有来自 Dell 的新版 DKMS 都可能有错误。

如果你不采用 DKMS,而开发环境及内核的源代码仍未被安装:

yum groupinstall "Development Tools" 
yum install kernel-devel

你也可选择只安装最少量的个别开发工具组件(最低限度需要 gcc 及 make),而不进行某些人视为太重型的 groupinstall。要是你使用 PAE 内核的话,请以 kernel-PAE-devel 代替 kernel-devel。如果你使用的并非标准 CentOS 内核,你必须从提供内核给你的地方取得并安装内核的源代码。切勿尝试在 Xen 内核上使用 VirtualBox,或者在客端操作系统里安装一个 Xen 内核。

安装 RPM:

yum install VirtualBox-5.2

假如开发环境已被正确地设置,这个安装程序将会创建 vboxusers 这个群组及它所需的内核模块。

请为每一个会执行 VirtualBox 的用户执行:

usermod -a -G vboxusers 用户名称

或者利用图像界面的 Users and Groups 工具。

4. 执行 VirtualBox

请以 vboxusers 群组内一位成员的身份执行 VB。在 VirtualBox-4.0 或 4.1 你可以选择通过图像界面的 File / Preferences / Extensions 选项安装 VirtualBox Extension Pack。这个程序需要 root 的密码。

接纳授权,选择会否注册,然后创建一个新的虚拟机器。VMware 的虚拟机器应该可应用在 VirtualBox 上。请在 Google 用 "vmware to virtualbox" 寻找信息。

你可以从选单或在网上取得帮助。

5. 在 VirtualBox 内运用 USB

VirtualBox 访问 USB 时要求用户对 usbfs 设备有写入权限。请以 root 的身份执行以下指令:

mkdir /vbusbfs
echo "none /vbusbfs usbfs rw,devgid=$(awk -F : '/vboxusers/ {print $3}' /etc/group),devmode=664 0 0" >> /etc/fstab
mount -a




这页的英文版本由 PhilSchaffner 创建,它现时由 ChristophGaluschka 维护。欢迎其它 Wiki 用户作出更正、添加、或修改。

Translation of revision 137

zh/HowTos/Virtualization/VirtualBox (last edited 2019-04-20 11:07:05 by TimothyLee)