【问题标题】:VirtualBox shared folders stopped workingVirtualBox 共享文件夹停止工作
【发布时间】:2019-08-18 10:35:16
【问题描述】:

几个月以来,我一直在带有 Ubuntu 16 客户机的 Windows 10 主机上成功使用 VirtualBox 5.xx.xx 和 Vagrant 2.xx(不记得其他版本号)。在过去六周的某个时间点,vagrant upGuest Additions 开始被报告为主机和来宾上的不同版本,而我从 Windows 端对同步文件所做的更改并不总是在 Ubuntu 上实现。为了解决这个问题,我将 Vagrant 升级到最新版本,然后尝试将 VirtualBox 从低至 5.0.18(在vagrant up 上生成错误)升级和降级至最新(6.0.4)。尝试 5.2.24 和 5.2.26 在 Vagrant 启动时产生消息,指出主机上的 Guest Additions 报告为 5.0.18,但在来宾上报告为 5.2.24(或 .26)。然后最后一条启动消息指出,Virtualbox 版本为 5.2,Guest Additions 版本为 5.1.30 - 所以有时我总共收到了三个不同版本的 Guest Additions 报告。我安装了 vagrant-vbguest 插件。我为 VBox 版本下载了匹配的 Guest Additions ISO 版本,并将 Guest Additions ISO 加载到 VirtualBox 的虚拟光驱中(以及在我的 Vagrantfile 中指定的config.vbguest.iso_path = "VBoxGuestAdditions_5.x.x.iso"

我的 Vagrant/VirtualBox 设置可能在过去一年里一直运行良好,我从不想“升级”,因为在“升级”到新版本之前,我已经经历过这种混乱。从太长的在线搜索来看,我很确定这个问题是由于对 Ubuntu 进行了 dist-upgrade (我经常这样做)造成的,因为我在 Vagrant/VBox 设置中没有任何改变很长时间了。我希望升级到最新的 VirtualBox (6) 可以解决问题,但遗憾的是,这个版本更糟糕 - Ubuntu 在引导过程中慢慢启动,而且花了很长时间,我什至都没有让它完成试了几次。

很高兴看看这个最新的 VirtualBox 6 是否能解决问题,所以也许有人知道为什么会这么慢(我有一台 8 核 16Gb 机器,我分配了 4 个内核和很多RAM 到 VBox - 它在 5.2.xx 下启动良好)。

vagrant up 输出:

SSH 用户名:vagrant

SSH认证方式:私钥

警告:连接重置。正在重试...

默认值:机器已启动并准备就绪!得到不同的报告 在您的主机上安装了 GuestAdditions 版本:Virtualbox 声称: 5.0.18 VBoxService 里面的 vm 声明: 5.2.26 继续,假设 VBoxService 是正确的......

GuestAdditions 似乎已正确安装 (5.2.26),但未正确安装 跑步。得到关于已安装的 GuestAdditions 版本的不同报告: 您主机上的 Virtualbox 声称:vm 内的 5.0.18 VBoxService 索赔:5.2.26

继续,假设 VBoxService 是正确的...

vboxadd-service.service 的作业失败,因为控制过程 退出并显示错误代码。参见“systemctl status vboxadd-service.service” 和“journalctl -xe”了解详情。

得到关于已安装的 GuestAdditions 版本的不同报告: 您主机上的 Virtualbox 声称:vm 内的 5.0.18 VBoxService 声明:5.2.26 继续,假设 VBoxService 是正确的... bash: line 4:设置:找不到命令

正在检查虚拟机中的访客添加...

此 VM 上的来宾添加与安装的版本不匹配 虚拟盒子!在大多数情况下这很好,但在极少数情况下它可以 防止诸如共享文件夹之类的东西正常工作。如果你 查看共享文件夹错误,请确保来宾添加 虚拟机与您安装的 VirtualBox 版本匹配 在您的主机上并重新加载您的虚拟机。

来宾添加版本:5.1.30

VirtualBox 版本:5.2 以下 SSH 命令以 非零退出状态。 Vagrant 假设这意味着命令 失败!

【问题讨论】:

    标签: vagrant virtualbox


    【解决方案1】:

    经过数小时的搜索和尝试不同的建议,以下是解决问题的方法:

    • 下载最新的unofficial release build of VirtualBox(在我的例子中是5.2.27)并安装它
    • 在我的 Vagrantfile 中放置了以下内容:config.vbguest.iso_path = "https://www.virtualbox.org/download/testcase/VBoxGuestAdditions_5.2.27-129578.iso"
    • vagrant up

    Ubuntu 启动正常,但在主机端 Vagrant 显示如下错误消息:

    无法在 Linux 客户机中装载文件夹。这通常是因为 “vboxsf”文件系统不可用。

    接下来,在已启动的 Ubuntu 客户机上:

    • sudo apt autoremove 清理 Linux 头文件

    然后:

    • 从主机运行vagrant vbguest

    vbguest 然后经历了卸载现有Guest Additions 并从config.vbguest.iso_path 安装VBoxGuestAdditions_5.2.27 的过程。

    要验证 Guest Additions 是否已正确安装,请运行 vagrant vbguest --status(或再次运行 vagrant vbguest)。两个命令都返回:

    [默认] GuestAdditions 5.2.27 正在运行 --- 好的。

    上述操作导致将名为VBoxGuestAdditions-5.2.27 的文件夹放置在/opt 文件夹中。这个VBoxGuestAdditions-5.2.27 文件夹有七个子文件夹、两个文件(uninstall.sh 和routines.sh)和一个许可证文件。我找不到关于 vagrant-vbguest 将安装的项目放入 /opt 文件夹的文档,但我确实找到了一个小提示 here

    我怀疑这个过程适用于任何 5.2.xx 版本(可用 here),但我已经安装了 5.2.27,所以继续安装。

    【讨论】:

      【解决方案2】:

      在将 laravel/homestead 框更新到 v7.2.1 后,我遇到了同样的问题。 This blog post帮我解决了。

      总之,这就是你必须做的:

      1. 导航到包含您的Vagrantfile 的目录并运行vagrant plugin install vagrant-vbguest

      我第一次执行该命令时,它禁用了我的 WiFi 适配器并且安装失败。如果发生这种情况,请重新激活它并重新运行命令。

      1. 安装完成后,运行vagrant up 启动VM。它将更新Guest Additions

      【讨论】:

        猜你喜欢
        • 2014-05-13
        • 1970-01-01
        • 2013-02-25
        • 2011-09-12
        • 1970-01-01
        • 2017-09-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多