ChatGPT解决这个技术问题 Extra ChatGPT

Vagrant 无法挂载 VirtualBox 共享文件夹

当前设置:Virtualbox 5.1.20 和 Vagrant 1.9.3

以前的工作设置:Virtualbox 5.1.18 和 Vagrant 1.9.3

我安装了最新版本的 Virtualbox 并尝试启动我的虚拟机。文件夹安装已停止工作。相同的文件夹安装在 Virtualbox 5.1.18 中运行良好。我收到以下错误消息:

Vagrant 无法挂载 VirtualBox 共享文件夹。这通常是因为文件系统“vboxsf”不可用。该文件系统通过 VirtualBox Guest Additions 和内核模块提供。请确认这些来宾添加已正确安装在来宾中。这不是 Vagrant 中的错误,通常是由错误的 Vagrant box 引起的。对于上下文,尝试的命令是: mount -t vboxsf -o uid=1000,gid=1000 keys /keys 命令的错误输出是: mount: wrong fs type, bad option, bad superblock on keys, missing codepage or helper程序或其他错误 在某些情况下,在 syslog 中可以找到有用的信息 - 尝试 dmesg |尾巴左右。

我曾尝试手动安装 vagrant-vbguest 插件(通过 vagrant plugin install vagrant-vbguest),但没有解决任何问题。降级到 5.1.18 确实可以解决这个问题,但这并不理想。

如何使用 Virtualbox 5.1.20 和 Vagrant 1.9.3 安装文件夹?

如果您的主机上缓存了不支持您计算机上安装的 vbguest 插件版本的旧盒子,也会发生这种情况。 More details here

V
Valdrinium

更新

在 VirtualBox 5.1.22 中修复。

(https://www.virtualbox.org/ticket/16670)

原始答案

在我的情况下,VM 内的符号链接是错误的。登录到虚拟机:

$ vagrant ssh

然后:

$ ls -lh /sbin/mount.vboxsf 
lrwxrwxrwx 1 root root 49 Apr 19 14:05 /sbin/mount.vboxsf -> /opt/VBoxGuestAdditions-5.1.20/other/mount.vboxsf

此链接已损坏。当您查看 /opt/VBoxGuestAdditions-5.1.20/ 内部时,您会看到子文件夹“other”不存在。此行修复了:

$ sudo ln -sf /opt/VBoxGuestAdditions-*/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsf

现在注销VM:

$ exit

并检查它是否适合您:

$ vagrant reload

但我无法修复链接,因为 /sbin/mount.vboxsf 在我的盒子里不存在!

如果链接 /sbin/mount.vboxsf 首先不存在,则无法安装 VBoxGuestAdditions。如果您在更新 VirtualBox 后没有下载匹配的 VirtualBox 扩展包(v5.2.18 及更高版本应在 Virtualbox 更新期间自动下载),则可能会发生这种情况。您现在可以这样做:

停止所有正在运行的虚拟机。

打开 VirtualBox 程序。

开始下载 VirtualBox Extension Pack 并安装它。

如果没有询问您是否要下载 VirtualBox 扩展包,请打开 -> 文件 -> 检查更新,以触发下载对话框。

如果 VirtualBox Extension 没有更新,则可能无法安装 VBoxGuestAdditions,因为安装程序会显示一条消息,并且 vagrant 插件 vbguest 无法提示答案(此 is "fixed" in vbguest v0.15.0)。您可以在“vagrant up”的输出中看到这一点。应该有一行与此类似:

Do you wish to continue? [yes or no]

如果是这种情况,您可以手动运行安装程序。为此,请启动该框:

$ vagrant up

然后触发 vbguest 再次尝试安装,但之后安装 VBoxGuestAdditions ISO:

$ vagrant vbguest --do install --no-cleanup

登录框:

$ vagrant ssh

手动运行安装程序:

$ sudo /mnt/VBoxLinuxAdditions.run

最后的希望:DIY!

如果上述方法均无效,请尝试手动安装来宾添加:

cd /opt
sudo wget -c http://download.virtualbox.org/virtualbox/5.1.28/VBoxGuestAdditions_5.1.28.iso -O VBoxGuestAdditions_5.1.28.iso
sudo mount VBoxGuestAdditions_5.1.28.iso -o loop /mnt
sudo sh /mnt/VBoxLinuxAdditions.run

作为一个仅供参考,这里是跟踪此错误修复的票virtualbox.org/ticket/16670
这似乎是一个临时修复。我在 vagrant reload 之后再次收到错误
再次发生后,我降级到 5.1.18 - 问题解决了;)
VirtualBox 5.1.22 r115126 和 Vagrant 1.9.7 有同样的问题
我对 5.1.26 有同样的问题
M
Miguel Angel Mendoza

在我的情况下,安装 vbguest 插件适用于 VirtualBox 5.2.6 和 Vagrant 2.0.1:

vagrant plugin install vagrant-vbguest


谢谢,工作! VirtualBox 5.2.6 & Vagrant 2.0.2 现在提供 GuestAdditions 5.2.6 running --- OK.
这个问题是针对特定版本的 virtualbox 和 vagrant 的,并且已经说明对于这些特定版本,vagrant-vbguest 插件不起作用。
应该是最好的答案。
它对我有用 virtualbox 5.2.8 & vagrant 2.0.2GuestAdditions 5.2.8 已安装。
当您已经使用此插件时,有时您必须在 Virtualbox 更新后对其进行更新:vagrant plugin update vagrant-vbguest
A
Arif I.

对我来说,问题是在以下条件下解决的:

环境:

VirtualBox 版本 6.0.4r128413

流浪者版本 2.2.3

脚步:

从终端或命令行 (cd) 转到您的项目目录并运行以下命令:

vagrant plugin install vagrant-vbguest 安装 Vagrant VB Guest Plugin vagrant up

如果您收到有关 vboxsf 不可用的错误。那么可能您的 VirtualBox Guest Additions 安装不正确。希望下面的命令可以解决您的问题。

vagrant ssh
sudo yum -y install kernel-devel
sudo yum update -y
exit
vagrant halt
vagrant up --provision

r
raffi

这对我有用...运行以下命令:

vagrant plugin repair

然后

vagrant plugin expunge --reinstall

然后

vagrant reload

小心这个。它可以打破你的盒子和你的流浪安装。
太棒了。我不知道为什么这有效,但它有效,我非常爱你的回答!!!!!!
n
nottherealironman

接受的不适用于我的情况。

我的问题是:使用命令(在主机上)安装的 Virtualhost 来宾添加(在来宾机器上):

vagrant plugin install vagrant-vbguest

与主机上安装的 virtualbox 版本不匹配,我一直收到此错误。

https://i.stack.imgur.com/NSH5D.png

这个命令(在主机上)帮助我更清楚地理解:

vagrant vbguest --status

它将验证主机和来宾计算机上的来宾添加是否一致。如果你得到,Guest 添加不匹配警告然后 SSH 进入您的虚拟机并首先运行以下命令以在您的机器中安装来宾添加:

sudo apt-get install virtualbox-guest-x11

然后,您可以使用以下命令强制在主机和来宾上安装正确版本的来宾添加:

vagrant vbguest --do install

之后您必须重新加载虚拟机:

vagrant reload

现在您可以再次使用以下命令确认它们是否匹配:

vagrant vbguest --status

References 1
References 2


s
siddhartino

对我来说,以下命令以及重新启动来宾系统有帮助:

cd /opt/VBoxGuestAdditions-*/init  
sudo ./vboxadd setup

我找到了解决方案 here。参考这篇文章,您需要在触发命令之前停止 vboxadd(我没有这样做,因为我不知道 vboxadd 是什么)。


m
mushood badulla

我要做的是运行以下命令将 nfs 添加到 windows

vagrant plugin install vagrant-winnfsd

来源:https://peshmerge.io/how-to-speed-up-vagrant-on-windows-10-using-nfs/


Y
Yevgeniy Afanasyev

从 homestead.yaml 中删除 type: "nfs" 为我修复了它。 Win 10,Vagrant 1.9.7,laravel 5.4,宅基地。


该问题与 Vagrant 的不同版本有关,并且无法使用特定版本的 Virtualbox。
也为我解决了.. :)
请注意,删除类型:“nfs”是个坏主意,您会遇到速度问题,详细信息在这里:stackoverflow.com/questions/50614748/…
M
Muatsoft

运行此命令:

 vagrant vbguest --do install --no-cleanup

您可能有答案(VirtualBox Guest Additions xxx安装过程中发生错误某些功能可能无法按预期工作。在大多数情况下,“窗口系统驱动程序”安装失败是可以的。)

别担心,它会起作用的。


P
Pedro Libório

我的解决方案是针对 centos7 盒子。未安装 vbguest 添加文件夹。这与您正在使用的盒子中的过时内核有关。

将以下行添加到您的 vm 定义中:

config.vm.define "centos7" do |box| 
   box.vbguest.installer_options = { allow_kernel_upgrade: true }

更新你的流浪虚拟机:

vagrant up --provision

这样内核将被更新,并安装和安装来宾添加。您将在此过程中看到重新启动。来源:https://www.puppeteers.net/blog/fixing-vagrant-vbguest-for-the-centos-7-base-box/


C
Community

对于那些与我几乎相同问题的人来说,以下是解决方案

TLDR

VirtualBox 来宾失败,因为系统当前未设置为构建内核模块

解决方案是卸载 kernel-headers.x86_64 0:3.10.0-862.9.1.el7

然后安装 kernel-devel-3.10.0-327.el7.x86_64

解决方案

vagrant ssh sudo rpm -e kernel-devel-3.10.0-862.9.1.el7.x86_64 sudo wget ftp://mirror.switch.ch/pool/4/mirror/scientificlinux/7.0/x86_64/updates/security/kernel -devel-3.10.0-327.el7.x86_64.rpm //下载文件 sudo rpm -Uvh kernel-devel-3.10.0-327.el7.x86_64.rpm //使用第3步下载的文件 exit vagrant reload

详细信息:问题

做 vagrant up 但失败并出现类似的错误,除了

该命令的错误输出是:/sbin/mount.vboxsf: mount failed with the error: No such device

进一步阅读日志,我注意到下面的关键词

安装 Virtualbox Guest Additions 5.2.16 - 来宾版本为 5.1.10 安装 VirtualBox Guest Additions 时发生错误 此系统当前未设置为构建内核模块。请安装与当前内核包匹配的 Linux 内核“头”文件,其中包含头文件可能是:kernel-devel kernel-devel-3.10.0-327.el7.x86_64

进一步阅读日志

将安装包 kernel-headers.x86_64 0:3.10.0-862.9.1.el7 没有可用的包 kernel-devel-3.10.0-327.el7.x86_64。

我的客人是我需要 kernel-devel-3.10.0-327.el7.x86_64 才能工作

详细信息:我的环境

便当/centos-7.2

流浪者版本:2.0.4

虚拟盒子版本:5.2.16

来源

如何卸载内核头 3.10.0-862

如何安装内核头文件 3.10.0-327


关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅