Vagrant配置Ubuntu宿主机到Windows客户机自动挂载共享文件夹的方法
Vagrant配置Ubuntu宿主机到Windows客户机自动挂载共享文件夹的方法
嘿,我来帮你搞定这个Vagrant共享文件夹自动挂载的问题!你在VirtualBox GUI里能轻松设置自动挂载到指定盘符,但用Vagrant配置时踩坑了对吧?咱们一步步来解决:
首先要确认的前提
确保你的Windows客户机里已经安装了VirtualBox Guest Additions,这是共享文件夹能正常工作的基础——如果是你自己打包的package.box,打包前一定要在Windows虚拟机里装好这个工具,不然共享文件夹的自动挂载根本没法生效。
修改Vagrantfile的正确配置
你之前的synced_folder配置没触发自动挂载,是因为没用到VirtualBox provider特有的自动挂载参数。把你的Vagrantfile改成这样:
Vagrant.configure("2") do |config| config.vm.box = "./package.box" # 配置共享文件夹:宿主机路径、临时标识路径,加上VirtualBox自动挂载参数 config.vm.synced_folder "../shared-data", "/vagrant_shared", create: true, id: "X", virtualbox__automount: true, # 对应VirtualBox GUI里的「Auto Mount」选项 virtualbox__automount_path: "X:" # 对应「At」字段里的盘符X: config.vm.provider "virtualbox" do |vb| vb.name = "Win Vagrant test" vb.gui = true vb.memory = "2048" vb.cpus = 2 end end
参数说明
virtualbox__automount: true:直接开启VirtualBox的自动挂载功能,和你在GUI里勾选「Auto Mount」效果完全一样virtualbox__automount_path: "X:":指定自动挂载到Windows客户机的X盘,对应GUI里的「At」字段- 第二个参数
/vagrant_shared是Vagrant内部用的临时路径,不用管它,真正生效的是automount_path指定的盘符
额外小提示
你提到客户机没配置SSH导致Vagrant卡在启动环节——虽然你说之后再修,但还是提一句:如果Vagrant没法通过SSH连接到客户机,可能没法完整应用共享文件夹的配置。等你有空把SSH配置好(比如在Windows里开启SSH服务),Vagrant就能顺利完成所有初始化步骤,共享文件夹的挂载也会更稳定。
最后验证
改完配置后,执行vagrant reload重启虚拟机,进入Windows客户机后,就能看到X盘已经自动挂载好,和你用VirtualBox GUI设置的效果一样啦!
备注:内容来源于stack exchange,提问作者Total Pusher
相关产品推荐
相关产品推荐

