VirtualBox:实现主机和虚拟机共享文件

时间:2024-03-14 12:34:18

1.      环境

VirtualBox:实现主机和虚拟机共享文件

     之前虚拟机一直用的是Vmware,这次用VirtualBox,要安装一些软件,以为也可以很方便地将安装包从主机拖动拷贝到虚拟机中,谁知道不行,拖动拉到虚拟机窗口后,一直显示的是红色的不可操作图标,而释放鼠标后,并文件并没有拷贝到虚拟机中。

  

2.      主机与虚拟机互访

    首先要保证主机与虚拟机可以相互访问,在VirtualBox主界面的左侧虚拟机列表中,选中虚拟机后,点击菜单栏中的【设置】菜单项,打开虚拟机【设置】对话框:

                            VirtualBox:实现主机和虚拟机共享文件

在左侧导航栏中,点击【网络】,右侧网络设置中,将【连接方式】由默认的【网络地址转换(NAT)】修改为【仅主机(Host-Only)网络】后,点击【OK】按钮保存设置。

     安装VirtualBox后,在网络连接中会多一个虚拟网卡VirtualBox Host-Only

                                VirtualBox:实现主机和虚拟机共享文件

记得将这个虚拟网卡的IP地址设置为自动获取。然后再启动虚拟机,主机的这个虚拟网卡上的IP地址和虚拟机网卡1上的IP地址在同一个网段中:

               VirtualBox:实现主机和虚拟机共享文件

              VirtualBox:实现主机和虚拟机共享文件

主机和虚拟机之间就可以实现互访了。

3.      共享粘贴板及拖放

    为了实现主机和虚拟机直接双向拷贝文件,在启动虚拟机之前还需作一个设置,同样打开虚拟机设置对话框,在左侧导航栏中点击【常规】,在右侧设置面板中选择【高级】tab页,将【共享粘贴板】和【拖放】都由默认的【已禁止】改为【双向】。

               VirtualBox:实现主机和虚拟机共享文件

    原以为这样设置后,启动虚拟机就可以将安装包从主机拖动拷贝到虚拟机中了,但是拖动主机中的安装包到虚拟机窗口中时,会出现【复制】

               VirtualBox:实现主机和虚拟机共享文件

释放鼠标后,出现的却不是复制进度窗口,而是丢弃进度窗口:

              VirtualBox:实现主机和虚拟机共享文件

另外,用Ctrl+C/Ctrl+V也不行,这个设置只能复制/粘贴文本,而不能复制/粘贴文件。

     网上搜了一下,说安装增强包吧。

  

4.      安装增强包

    在Linux桌面菜单中,点击【设备】-【安装增强功能…】菜单项

                      VirtualBox:实现主机和虚拟机共享文件

弹出对话框

                      VirtualBox:实现主机和虚拟机共享文件
并会在桌面上生成一个VBOXADDITIONS镜像文件

                     VirtualBox:实现主机和虚拟机共享文件

点击对话框中的【确定】按钮

                    VirtualBox:实现主机和虚拟机共享文件

点击【运行】按钮,即可安装VBOXADDITIONS

                     VirtualBox:实现主机和虚拟机共享文件

5.      设置共享文件夹

    首先在主机中创建一个新的文件夹,用以作为共享文件夹,我在E盘上创建了VBoxShare。打开虚拟机设备对话框,左侧导航栏中点击【共享文件夹】,点击右侧配置面板最右边的【添加共享文件夹】图形按钮,在弹出的【添加共享文件夹】对话框中将【共享文件夹路径】设置为刚创建的VBoxShare文件夹,勾选【自动挂载】和【固定分配】后,点击【OK】按钮,保存设置

                 VirtualBox:实现主机和虚拟机共享文件

    重启虚拟机后,在桌面上会出现一个文件夹sf_VboxShare

                 VirtualBox:实现主机和虚拟机共享文件

如果没有自动加载,可以在命令行中用mount命令手动挂载,首先先创建要挂载的目录/media/sf_ VboxShare

[[email protected] ~]# cd /media
[[email protected] media]# mkdir sf_VboxShare
[[email protected] media]# mount -t vboxsf VboxShare /media/sf_VboxShare
    把安装包拷贝到主机的E:\ VBoxShare文件夹下,在虚拟机中打开sf_VboxShare目录,就能看到这个文件

                    VirtualBox:实现主机和虚拟机共享文件

                   VirtualBox:实现主机和虚拟机共享文件

6.      其他用户使用共享文件夹

    切换到其他用户登录,桌面上可以看到共享文件夹sf_VboxShare,但打开会报错

                 VirtualBox:实现主机和虚拟机共享文件

这个问题只需要将该用户添加到vboxsf组然后重启虚拟机即可

[[email protected] ~]# uermod –G vboxsf mysql

7.      参考文献

[1] Virtualbox主机和虚拟机之间文件夹共享及双向拷贝 https://blog.csdn.net/pan_tian/article/details/22619687

[2] virtualbox增强包VboxAdditions的安装和共享文件夹 https://blog.csdn.net/gao36951/article/details/19608583

[3] VirtualBox中的Ubuntu没有权限访问共享文件夹/media/sf_bak https://www.cnblogs.com/findumars/p/5554706.html