将 VirtualBox 升级到 V.6.0.2、将 Vagrant V2.2.3 以及将 homestead 升级到版本 8.0.0 后,每次运行时vagrant up
我都会得到:
GuestAdditions 似乎已正确安装(6.0.2),但未运行
我尝试GuestAdditions
按如下方式手动安装:
- 从以下网址下载最新的
GuestAdditions
isohttps://download.virtualbox.org/virtualbox/6.0.2 - 运行 VirtualBox 并在虚拟机设置中单击
Devices
->Insert Guest Additions CD Image
- 登录到客户服务器/虚拟机
- 挂载 CDROM
sudo mount /dev/cdrom /media/cdrom
- 使用命令切换到挂载目录
cd /media/cdrom
- 使用命令安装必要的依赖项
sudo apt-get install -y dkms build-essential linux-headers-generic linux-headers-$(uname -r)
- 使用命令切换到 root 用户
sudo su
- 使用以下命令安装 Guest Additions 包
./VBoxLinuxAdditions.run
- 重启虚拟机
但我仍然收到警告:
GuestAdditions 似乎已正确安装(6.0.2),但未运行
请指教
答案1
经过长时间的努力,GuestAdditions
我决定卸载vagrant-vbguest
插件,然后!问题就解决了。
vagrant plugin uninstall vagrant-vbguest
答案2
正如您在自述文件中看到的vagrant-vbguest
该插件查看模块vboxguest
并vboxsf
决定/proc/modules
是否GuestAdditions
正在运行:
Linux
该选项在所有 Linux 类型的安装程序上可用。
:running_kernel_modules
(默认值:["vboxguest", "vboxsf"]
)用于检查“正在运行”状态的列表。这些模块中的每一个都需要出现在 中的一行开头/proc/modules
。
如果您不使用 vboxsf 文件系统(例如,您使用 nfs),那么您会收到此消息,并且每次 vagrant up 时都会重新安装客户添加项。
解决方案是将以下行添加到您的 Vagrantfile:
config.vbguest.installer_options = { running_kernel_modules: ["vboxguest"] }
所以现在 vboxsf 不用于检查“运行”状态。
我在我的 Vagrantfile 中按如下方式使用它:
if Vagrant.has_plugin?("vagrant-vbguest")
config.vbguest.installer_options = { running_kernel_modules: ["vboxguest"] }
config.vbguest.auto_update = true
end