我一直在努力在 Debian 虚拟机(Debian 7、Debian 8 和 Debian 9)中安装 VirtualBox Guest Additions。
答案1
作为 root 用户,Debian 9 的 TL;DR 版本是:
echo deb http://ftp.debian.org/debian stretch-backports main contrib > /etc/apt/sources.list.d/stretch-backports.list
apt update
apt install virtualbox-guest-dkms virtualbox-guest-x11 linux-headers-$(uname -r)
就这样,VirtualBox Guest Additions 就安装好了。
对于 Debian 10 和 11,VirtualBox 软件包在新版本中提供快速通道服务(另见Debian wiki 上的 VirtualBox 页面)。因此对于 Debian 11:
echo deb http://ftp.debian.org/debian bullseye-backports main contrib > /etc/apt/sources.list.d/bullseye-backports.list
apt update
apt install fasttrack-archive-keyring
echo deb https://fasttrack.debian.net/debian-fasttrack/ bullseye-fasttrack main contrib > /etc/apt/sources.list.d/bullseye-fasttrack.list
echo deb https://fasttrack.debian.net/debian-fasttrack/ bullseye-backports-staging main contrib >> /etc/apt/sources.list.d/bullseye-fasttrack.list
apt update
apt install virtualbox-guest-x11
来宾内核模块包含在 Debian 11 内核中。对于 Debian 10,请按照上面的说明进行操作,替换bullseye
为buster
,并安装与 Debian 9 中相同的软件包:
apt install virtualbox-guest-dkms virtualbox-guest-x11 linux-headers-$(uname -r)
更详细地说,这是使用 Debian 软件包的 Debian 7、8 和 9 的解决方案:
对于 Debian 7 和 8,启用
contrib
存储库;例如对于 Debian 8,请确保您/etc/apt/sources.list
包含类似的内容deb http://ftp.debian.org/debian jessie main contrib
对于 Debian 9,使用
contrib
;启用向后移植为此,请添加一行,例如deb http://ftp.debian.org/debian stretch-backports main contrib
到
/etc/apt/sources.list
(或者更好的是,一个stretch-backports.list
文件/etc/apt/sources.list.d
);install
virtualbox-guest-dkms
、内核头文件以及可选的virtualbox-guest-x11
(对于图形来宾实用程序):sudo apt update sudo apt install virtualbox-guest-dkms virtualbox-guest-x11 linux-headers-$(uname -r)
(如果您使用的是 Debian 9,则在第二行
-t stretch-backports
后)。install
那是全部这是必需的——您不需要在虚拟机中安装来宾添加项,也不需要运行安装程序。您可以将三行 shell 调用添加到您的Vagrantfile
(或用于配置虚拟机的任何内容)中,然后忘记它们。
安装该virtualbox-guest-dkms
软件包将确保自动构建适当的内核模块(并在升级内核时重新构建),并安装来宾添加项。
(请注意,这将安装您使用的 Debian 版本中可用的来宾添加版本在虚拟机中,这可能与运行虚拟机的 Virtual Box 版本不匹配 - 但来宾添加应该仍然可以正常工作。)
答案2
请按照以下步骤在 Debian 虚拟机上安装 Guest Additions:
- 以 root 身份登录;
- 更新您的 APT 数据库
apt-get 更新;
安装最新的安全更新
此步骤将升级您的所有软件包,因此请明智地对待它,首先尝试以下步骤,如果没有,它们可能足以工作,然后升级并重试。
apt-get 升级;
- 安装所需的包
apt-get install build-essential module-assistant;
2 个软件包(build-essential 和 module-assistant),这两个软件包都是在安装 virtualbox linux 附加软件包时能够重新编译内核模块所必需的,因此此命令将获取工作所需的头文件和软件包(编译器和库),请注意安装你的 virtualbox linux 附加包后,你会留下一些包以及 linux 头文件,之后你可能会删除它们,也可能不会删除它们,在我的例子中,它们并没有什么坏处,但为了系统的整洁,你可能想在玩完后把它们捡起来; )
- 通过在终端中运行来配置系统以构建内核模块:
妈妈准备;
- 在虚拟机菜单上并在虚拟机运行的情况下!,单击安装来宾添加...来自设备菜单,virtualbox 应该挂载 iso 副本,但如果出于任何原因,它不仅仅在终端运行中:
挂载/media/cdrom。
最后在终端运行:
sh /media/cdrom/VBoxLinuxAdditions.run
按照屏幕上的说明进行操作,然后重新启动。
希望这可以帮助。
CN
答案3
从 Debian 存储库安装 VirtualBox 来宾插件的另一种方法是使用供应商的源代码。该存储库预计将提供较旧且更稳定的代码,而来自供应商的源代码将具有最新的功能和安全更新。
我已在使用 VirtualBox 5.0.30 和 OS X 10.11.6 运行 Linux 内核 4.9.0-4 的 Debian 9.4 客户机上成功尝试了后续说明。首先,将来宾插件 ISO 映像附加到虚拟机,然后启动它。启动后,映像的内容将在/media/cdrom0/
.首先,必须安装两个包及其依赖项:
$ sudo apt-get install linux-headers-$(uname -r) build-essential
然后,运行供应商提供的脚本来构建和安装必要的内核模块:
$ cd /media/cdrom0/
$ sudo sh VBoxLinuxAdditions.run
重新启动虚拟机并享受吧!
答案4
在 Debian 9 中,virtualbox-guest-dkms 软件包位于不稳定 (sid) 存储库中。
将其添加到
/etc/apt/sources.list
:deb http://http.us.debian.org/debian sid main non-free contrib
更新存储库并安装包
sudo apt-get update sudo apt-get install virtualbox-guest-dkms
可选:禁用 sid 存储库,因为它包含您可能不想要的软件包的更新。