ArchLinux中VirtualBox安装


前言

工作中,经常需要使用不同平台的不同软件,这个时候虚拟机就是必需品了。在 Linux 上比较常见的有 kvm、Xen、VirtualBox、vmware workstation

现在笔记本大多都是直接安装各个发行版的Linux,这时候就非常有必要选择一个虚拟机来安装 windows

这里是需要执行的bash ,下面有具体的解释,还是Wiki链接。

1
2
3
4
sudo pacman -S linux-headers
sudo pacman -S virtualbox
# 选择 1 virtualbox-host-dkms
sudo pacman -S virtualbox-guest-iso

Archlinux 中安装成功但是运行失败,就用bash运行,看看有什么错误。正常情况下,更新软件到最新版本就可了:

1
sudo pacman -Syu

如果当前主板支持虚拟化技术的话,可以直接在主板中打开。这样就可以安装 64位操作系统了。

VirtualBox

VirtualBox 是一款开源虚拟机软件。VirtualBox 是由德国 Innotek 公司开发,由 Sun Microsystems 公司出品的软件,使用 Qt 编写,在 SunOracle
收购后正式更名成 Oracle VM VirtualBox VirtualBox 号称是最强的免费虚拟机软件,它不仅具有丰富的特色,而且性能也很优异!VirtualBox 是由 qemu
改写而成,包含大量 qemu 代码。可以使用于不支持虚拟化的CPU。值得说的一点:VirtualBox 在图形方面比较好,能进行2D 3D加速。操作上有独立的图形界面,易于上手。但对CPU
的控制不是很好,比较适合有桌面需要的虚拟机。

安装 VirtualBox

Wiki地址

安装基本软件包

安装
软件包 virtualbox。内核模块的安装方式要从下面二选一:

为了能基于 virtualbox-host-dkms
编译内核模块,你还要安装与内核对应的内核头文件(例如linux-lts
内核的头文件是 linux-lts-headers
)。[1] 当 VirtualBox 或内核更新的时候,DKMS 的
Pacman 钩子会自动编译内核模块。

1
2
3
sudo pacman -S linux-headers
sudo pacman -S virtualbox
# 选择 1 virtualbox-host-dkms

从客体系统访问主机 USB 设备

将需要运行 VirtualBox 的用户名添加到 vboxusers 用户组,USB 设备才能被访问。

客体机插件光盘

建议在运行 VirtualBox 的主机系统上安装 virtualbox-guest-iso
软件包。这个包里有个 .iso 镜像文件,用来为 Arch 之外的客体系统安装插件。镜像文件的位置在 /usr/lib/virtualbox/additions/VBoxGuestAdditions.iso
,手动在虚拟机的虚拟光驱里加载这个文件之后,即可在客体机里安装插件。``

1
sudo pacman -S virtualbox-guest-iso

确认是否加载

1
2
lsmod  |grep vboxdrv
vboxdrv 491520 3 vboxpci,vboxnetadp,vboxnetflt

没有加载的话,重启重试。

使用正确的前端

VirtualBox 自带三个前端:

  • 如果你想通过常规 GUI 使用 VirtualBox,使用 VirtualBox 命令来启动 VirtualBox。
  • 如果你想在命令行下启动与管理 VirtualBox,可以使用 VBoxSDL 命令。从 VBoxSDL 启动的虚拟机,其窗口仅包含虚拟机的画面,没有菜单或是其他控制项。
  • 如果你想使用不想由任何 GUI(例如在服务器上)来使用 VirtualBox,使用 VBoxHeadless 命令。如果还想登录到这种虚拟机的图形界面,就需要安装 VRDP 扩展。

如果你想通过 web 界面来管理虚拟机,可以安装 PhpVirtualBox

若要了解如何创建虚拟机,可以查阅 VirtualBox 手册

遇到问题 rc=-1908

错误详情

1
2
3
4
5
6
7
8
9
Kernel driver not installed (rc=-1908)

The VirtualBox Linux kernel driver is either not loaded or not set up correctly. Please try setting it up again by executing

'/sbin/vboxconfig'

as root.

If your system has EFI Secure Boot enabled you may also need to sign the kernel modules (vboxdrv, vboxnetflt, vboxnetadp, vboxpci) before you can load them. Please see your Linux system's documentation for more information.

解决方式

安装

1
2
3
4
5
6
7
# 查看当前内核
uname -srm
# 查询当前内核对应的版本安装
sudo pacman -Ss linux-headers
# 查询当前内核对应的版本安装
sudo pacman -Ss virtualbox-host-dkms
sudo modprobe vboxdrv

本文地址:ArchLinux中VirtualBox安装
推荐:
ArchLinux中KVM安装

本文地址: https://github.com/maxzhao-it/blog/post/1380/