鹏叔(https://pengtech.net)

导航

VirtualBox 虚拟机挂载宿主机文件夹

 

首先需要在虚拟机上安装虚拟机增强功能,

方式如下, 用虚拟光驱挂载安装包, 我的是deepin linux所以可以在/usr/share/virtualbox/VBoxGuestAdditions.iso 中找到光盘镜像文件. 如果是windows在 C:\Program Files\Oracle\VirtualBox目录下应该可以找到该iso格式的光盘镜像文件.

 

启动虚拟机并登录虚拟机, 

将光驱挂在mnt/cdrom


mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom 

将光驱中的源文件拷贝到其他位置/usr/local/src/VBoxAdditions


  mkdir /usr/local/src/VBoxAdditions
cp -R /mnt/cdrom/* /usr/local/src/VBoxAdditions

 

因为是以源码方式安装虚拟机增强功能, 所以需要安装必要的编译工具, 前置条件是要在虚拟机上配置好yum源, 篇幅所限, 关于虚拟机配置国内yum源, 请百度, 或参考我博客园中的其他博文

yum install -y gcc gcc-devel gcc-c++ gcc-c++-devel make kernel kernel-devel bzip2

 

以源码方式安装

/usr/local/src/VBoxAdditions/VBoxLinuxAdditions.run install

安装完成后需重启一次虚拟机

reboot

 

打开虚拟机->设置->共享文件夹.  添加宿主机与虚拟机的挂载点设置,保存,  当虚拟机处于开机状态, 会立即生效.

当虚拟机处于关机状态, 也可以提前配置, 虚拟机开机后会生效

当勾选上自动挂载, 固定分配, 每次虚拟机启动, 就会自动将宿主机文件夹挂载到指定挂载点.

如果只是想临时挂载宿主机的文件夹到虚拟机, 互相拷贝文件, 请不要勾选固定分配.

 

挂载完成后检查虚拟机的磁盘状况, 可以发现已经自动挂载.

 

备注: 由于挂载的文件系统类型为vboxsf, 在虚拟机中可以看到挂载进来的文件夹owner 是root, 用户组是vboxsf, 权限是写死的

如果虚拟机中的非root用户身份访问共享目录, 会出现权限不足的状况, 而且无法使用chmod, chown在虚拟机内部修改文件权限或owner.

解决办法只能修改挂载参数, 达到给虚拟机中其他用户访问权限.

解决办法1

将用户添加到 vboxsf组中

解决办法2

修改挂载选项

// uid gid指定挂载目录的所属用户和组
sudo mount -t vboxsf -o uid=1000,gid=1000  <folder name given in VirtualBox>
// fmode指定文件权限,dmode指定目录权限
// 注意,若同时指定挂载目录的所属用户和组,则fmode和dmode选项失效
sudo mount -t vboxsf -o fmode=700,dmode=700  <folder name given in VirtualBox>

 

参考文档:

https://blog.csdn.net/qq_36564503/article/details/106485704

https://www.freesion.com/article/5177858523/

VirtualBox设置共享文件夹

posted on 2021-02-27 04:03  eagle.supper  阅读(1319)  评论(0编辑  收藏  举报