如何在Ubuntu 16.04上安装VirtualBox Guest Additions

什么是在Ubuntu 16.04上安装带有调整大小、剪贴板和文件共享功能的Guest Additions的最佳方法?

这个真的有效:https://askubuntu.com/questions/22743/how-do-i-install-guest-additions-in-a-virtualbox-vm - Josef Klotzner
2可能是如何在VirtualBox虚拟机中安装Guest Additions?的重复问题。 - Kristopher Ives
9个回答

对于Ubuntu Server,需要通过命令行安装虚拟机增强功能。
sudo apt-get update
sudo apt-get install virtualbox-guest-dkms 

4我不得不这样做,以便从主机操作系统启用文件共享。 - ThisClark
17为什么我要按照那些疯狂的“插入光盘”类型的指示去做,而不是直接运行它呢?真诚提问。 - Colin D
2@ColinD 这种方法在我的个人电脑上并没有起作用。 - jtpereyda
1无法让任何东西正常工作。在Ubuntu服务器17.10和VirtualBox 5.2.6上,似乎使用"DKMS"可以解决问题。 - willem
尝试了这个,现在我的Ubuntu虚拟机无法接受鼠标和键盘的任何输入。 - Alex G
我无法从Guest虚拟机中运行这些命令,因为它被困在只读文件系统中,但我正在尝试运行这些命令来防止只读文件系统问题。 - robert.bo.roth
@robert.bo.roth听起来像是一个无关的问题,你需要使用不同的软件来解决。请参考https://askubuntu.com/questions/197459/how-to-fix-sudo-unable-to-open-read-only-file-system - ThisClark
谢谢@ThisClark,最后我不得不使用e2fsck检查磁盘并修复了一些错误。 - robert.bo.roth

有一个增强功能包,但这只为我启用了一些功能。

最可靠的方法可能是使用VirtualBox附带的内置安装程序。

这适用于Ubuntu桌面版。对于Ubuntu服务器,请参考@ThisClark的回答。

更新

  1. 确保您拥有最新版本的VirtualBox
  2. 最好先执行sudo apt updatesudo apt upgrade,如果需要,重新启动。

增强功能

  1. 打开虚拟机
  2. 在屏幕顶部的VirtualBox菜单中点击“设备”
  3. 点击“安装增强功能CD映像…”
  4. 按照需要的步骤进行操作,输入密码等。
  5. 重新启动虚拟机

启用功能

  1. 打开虚拟机 -> 设置 -> 通用 -> 高级选项 -> 启用共享剪贴板和/或拖放功能。
  2. 确保查看 -> 自动调整客户机显示器 处于选中状态。

3对不起,但这个答案没有提到所需的软件包。在我安装的Ubuntu 16.04.1 Server上,默认情况下未安装所需的开发软件包。 - Colin 't Hart
@Colin'tHart 谢谢你提供的信息。除了列出的步骤之外,你还需要安装哪些软件包?如果你的情况有所不同,可以自由地写下你自己的答案。 - jtpereyda
当你运行增强功能的安装程序时,它会告诉你需要什么。就我个人而言,我相信你需要内核头文件,可以通过apt-getaptitude进行安装。 - rbaleksandar
@jtpereyda:运行得很顺利 :) 要启用这些功能,不要重新启动,而是在启动机器之前在第一个vb屏幕上完成。 - cwhisperer
在帖子顶部提供的ISO下载链接有点令人困惑。你必须在那个页面上寻找Release下面的链接,然后再找到Downloads。在那里,我发现以.orig.tar.gz结尾的文件是最简单的选择。我在我的Mac上解压缩了它,然后在Virtualbox机器存储设置下挂载它,然后启动。然后,因为我使用的是Lubuntu,我不得不以root身份进入命令行,在/media下找到光盘,然后运行./VBoxLinuxAdditions.run。一旦我重新启动,一切都正常了。 - Volomike
如果菜单中没有“设备”选项怎么办?我的意思是根本就没有这个菜单。 - ses
@ses 你启动了客户机虚拟机吗?在VirtualBox管理器中你看不到"设备"菜单,你必须进入客户机虚拟机窗口才能看到。 - wisbucky
现在只需插入ISO文件。所以你需要运行sudo sh /media/....../autorun.sh - qwertzguy
2一些注意事项:如果您没有光驱,您可能需要创建一个光驱以便能够插入"Guest Additions CD"。我不得不从设备下拉菜单中选择"插入Guest Additions CD镜像..."。之后,在启动时自动运行未打开,所以我不得不打开终端并运行'./autorun.sh'。 - Blaskovicz
其他人使用这种方法的视频性能如何?我在macOS主机下运行Ubuntu客户端,效果很差。3D加速似乎有问题,所以我想弄清楚是不是只有我遇到这个问题 :) - jocull
1确保查看->自动调整客户显示已选中,这样就可以正常工作了。谢谢,你救了我的一天。 - Lins Louis
对于Ubuntu 16 Xenial,您需要安装VirtualBox的5.x版本。不幸的是,如果运行最新版本的OSX,这个版本已经不再受支持。因此,我建议您运行18.04或hashicorp/bionic64。 - Daniel

如果你不下载ISO文件,就无法获得“最新和最好”的版本。如果你想坚持选择这个选项,请查看以下依赖说明。
我已经在Ubuntu 16.04虚拟机下成功测试了这些指令。
  1. 在VirtualBox下创建Ubuntu服务器实例(显然)。
  2. 启动虚拟机,进入设备 -> 插入Guest Additions CD镜像以挂载ISO镜像。

  3. 从终端运行以下命令:

    sudo -i  
    apt install gcc make  
    mkdir -p /media/cdrom  
    mount /dev/cdrom /media/cdrom  
    /media/cdrom/VBoxLinuxAdditions.run  
    reboot  
    
  4. 重启后:

    sudo usermod --append --groups vboxsf 用户名
    
  5. 主机共享现在应该通过安装的VBoxService服务,在Ubuntu客户机中挂载到/media目录下,并设置为系统启动时自动启动。

这对我的安装产生了影响。
从评论中注意到:
- 将用户帐户添加到vboxsf组后,请注销并重新登录。

2这对我有用,谢谢!还有一点要注意的是,在将我的用户帐户添加到vboxsf组后,我必须退出并重新登录才能访问共享文件夹。 - Guy Starbuck

1)通过您所使用的发行版的常规渠道安装一个软件包。例如,您可以使用如下命令:
sudo apt-get install virtualbox-guest-additions-iso

2) 通过选择设备 > 光驱 > VBoxGuestAdditions.iso添加客户附加组件。
当您使用上述命令下载iso文件时,可以在此处找到它:
/usr/share/virtualbox/VBoxGuestAdditions.iso

这对我有用:
sudo mount /dev/cdrom /media/cdrom
sudo apt install -y dkms build-essential linux-headers-generic linux-headers-$(uname -r)
sudo sh /media/cdrom/VBoxLinuxAdditions.run

然后重新启动虚拟机。


1这对我来说解决了16.04的问题。 - Karl Morrison
挂载:挂载点 /media/cdrom 不存在。 - Rockstar5645

这适用于在MacOS主机上运行Ubuntu Server 16.04.3 LTS客户机的VirtualBox 5.1.28。所有指令都是针对Ubuntu Server客户机的。
注意:不要使用VirtualBox GUI来“插入Guest Additions CD镜像”。它没有像从virtualbox网站下载的最新.iso文件那样调用“vboxadd.sh”。此外,您的客户机必须具有互联网访问权限(如果您的客户机操作系统无法连接到互联网,请使用“NAT”而不是“桥接适配器”)。
在终端中,根据您的VirtualBox版本(对我来说是5.1.28),下载VBoxGuestAdditions.iso文件。
wget http://download.virtualbox.org/virtualbox/5.1.28/VBoxGuestAdditions_5.1.28.iso

然后在/media中创建一个空目录,并将其挂载在那里。
sudo mkdir /media/iso
sudo mount VBoxGuestAdditions_5.1.28.iso /media/iso

然后去那里运行Linux安装程序:
cd /media/iso
sudo ./VBoxLinuxAdditions.run

重新启动您的虚拟机操作系统:
reboot

你应该能够在/media/sf_[你的文件夹名称]下访问到你的共享文件夹。

想要Virtual Box 5.1吗?

如果您打算获取并使用Virtual Box 5.1(不是5.0版本),在撰写本文时,您可能无法通过apt获取该版本。添加第三方存储库可能会意外获取32位版本,并出现模糊的错误版本参见此答案

因此,最好从此处找到的最高5.1.x版本直接下载VirtualBox本身和Guest Additions(现已更名为“Extension Pack”):

http://download.virtualbox.org/virtualbox/

即(i.e.)
http://download.virtualbox.org/virtualbox/5.1.28/

在上述32位的烦恼之后,我运气不错。
virtualbox-5.1_5.1.28-117968~Ubuntu~xenial_amd64.deb

两个提供的扩展包完全相同(校验和相同),随便选择一个:
Oracle_VM_VirtualBox_Extension_Pack-5.1.28-117968.vbox-extpack
Oracle_VM_VirtualBox_Extension_Pack-5.1.28.vbox-extpack  

怎么安装所有这些东西?双击。打开标准的“.deb”安装程序,或者虚拟盒子来处理扩展包。(是的,有点像Windows,不太酷,但是有效!)

我和你有同样的问题,我来解释一下我做了什么:
我阅读了与安装的VB版本相对应的VirtualBox用户指南。 我从Ubuntu的软件仓库中安装了VB;现在是2017年7月,版本号为5.0.40。 我从VB的官网下载了与这个版本相对应的扩展包,双击安装后,我可以访问USB设备。 似乎需要在安装虚拟机时安装VBGuestAdditions.iso文件, 通过在设置->用户界面->设备->插入GuestAdditions CD镜像进行检查, 但在我的情况下没有这样做,所以我在主机中搜索了这个ISO文件, 在VB版本中,这个ISO文件位于/usr/share/virtualbox目录下。 最后,在虚拟机的设置中(VBGuestAdditions需要安装在客户机中), 在存储器中,我将路径设置为VBGuestAdditions.iso文件, 它会出现在虚拟机中作为一个CD设备,您可以访问并运行VBGuestAdditions, 从而实现正确的屏幕调整和访问共享文件夹功能(至少在Windows 7客户机中)。

我发现这种方法是迄今为止最简单的,同时还允许动态屏幕调整大小。
sudo apt install virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11