You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Vagrant至2.1.1后CentOS/7虚拟机共享文件夹失效求助

解决Vagrant 2.1.1 + CentOS/7 虚拟机共享文件夹挂载失败问题

我之前碰到过完全一致的场景,折腾了好一会儿才搞定,给你几个亲测有效的解决思路:

一、修复vagrant-vbguest插件兼容性

Vagrant 2.1.x 和旧版的vagrant-vbguest(比如你用的0.15.1)存在兼容性冲突,尤其是当虚拟机里的Guest Additions版本和主机VirtualBox版本不匹配时,很容易导致vboxsf模块加载失败。

步骤如下:

  • 先卸载旧插件:
    vagrant plugin uninstall vagrant-vbguest
    
  • 安装适配Vagrant 2.1.x的最新版插件:
    vagrant plugin update vagrant-vbguest
    
  • 重新启动虚拟机,让插件自动安装匹配版本的Guest Additions:
    vagrant reload --provision
    

二、手动安装Guest Additions与内核模块

如果插件自动安装失败,可以手动操作确保vboxsf模块正常编译加载:

  1. 进入虚拟机:
    vagrant ssh
    
  2. 安装编译内核模块所需的依赖:
    sudo yum install -y kernel-devel kernel-headers gcc make bzip2 dkms
    
  3. 确保内核版本与开发包版本一致(如果有内核更新,必须重启):
    sudo yum update kernel*
    sudo reboot
    
  4. 重新SSH进入虚拟机后,挂载VirtualBox Guest Additions镜像:
    sudo mount /dev/cdrom /mnt
    

    如果找不到/dev/cdrom,可以打开VirtualBox图形界面,给该虚拟机加载Guest Additions ISO(在"设备"菜单里选"安装增强功能")

  5. 执行安装脚本:
    sudo sh /mnt/VBoxLinuxAdditions.run
    
  6. 手动加载vboxsf模块:
    sudo modprobe vboxsf
    
  7. 测试挂载共享文件夹:
    sudo mount -t vboxsf -o uid=1000,gid=1000 vagrant /vagrant
    
  8. 成功后重启虚拟机:
    vagrant reload
    

三、检查Vagrant与VirtualBox版本兼容性

Vagrant 2.1.1 官方推荐搭配VirtualBox 5.2.x系列版本,如果你当前用的是VirtualBox 6.0以上版本,可能存在兼容性冲突。可以:

  • 降级VirtualBox到5.2.x版本
  • 或者升级Vagrant到2.2.x及以上版本(可以更好地兼容高版本VirtualBox)

四、临时替代方案:改用rsync类型共享文件夹

如果上述方法都暂时无法生效,可以先改用rsync类型的共享文件夹应急(虽然不是双向实时同步,但能满足基本文件同步需求):
修改你的共享文件夹配置为:

node_config.vm.synced_folder ".", "/vagrant", type: "rsync", rsync__args: ["--verbose", "--archive", "--delete", "-z"]

然后重启虚拟机:

vagrant reload

注意:rsync默认是单向同步(主机到虚拟机),如果需要双向同步,可以添加rsync__auto: true参数,不过需要额外安装inotify-tools等工具监听文件变化。

内容的提问来源于stack exchange,提问作者Dirk Hoffmann

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:23:57