Vagrant 安装VirtualBox解决文件夹共享问题

236 阅读1分钟

如果配置了同步文件夹可能会错误 mount: unknown filesystem type 'vboxsf' 在网上查了很久都要安装vagrant-vbguest并且还要降低到0.2版本,我也尝试过确实能解决问题,但是在vagrant up过程中需要安装很多包,并且可能存在超时的问题。

从错误信息中可以看到需要安装virtualbox guest addtions来开启共享目录

  1. 如果之前安装过vagrant-vbguest需要卸载之前装的vagrant-vbguest。
    vagrant plugin uninstall vagrant-vbguest
    
  2. 删除Vagrantfile中配置的同步文件夹

  1. 运行vagrant halt 关闭虚拟机,因为挂载virtualbox增强工具的VBoxGuestAdditions.iso需要在关机状态下进行。VBoxGuestAdditions.iso文件在Virtualbox的安装主目录下

  2. 运行vagrant up 重新创建虚拟机,此时没有配置同步文件夹会完全成功。

  3. 启动后在虚拟机中的/media文件夹下新建cdrom文件夹:

    vagrant ssh
    su root
    mkdir /media/cdrom
    
  4. 查看当前虚拟机中所有连接的虚拟设备

        lsscsi (适用于centos7)  
        lsblk (适用于ubuntu)
    
  5. 把sr0挂载到/media/cdrom,然后进入/media/cdrom

    sudo mount /dev/sr0 /media/cdrom
    
  6. 进入目录执行如下命令

    cd /media/cdrom  
    sudo ./VBoxLinuxAdditions.run
    

    如果执行出现kernel headers not found for target kernel错误的解决方案:

    (1). update kernel

    yum update kernel -y
    

    (2). Install the kernel-headers, kernel-devel and other required packages

    yum install kernel-headers kernel-devel gcc make -y
    

    (3). Reboot the server to make sure it load to the new kernel

    init 6
    
  7. 再次在Vagrantfile中配置的同步文件夹,重新启动。 image.png