VBoxManage setextradata Ubuntu16.4 VBoxInternal2/SharedFoldersEnableSymlinksCreate/Work 1
https://blog.csdn.net/superbfly/article/details/50844206
背景
使用virtualbox最方便的host-guest交换文件方案莫过于共享文件夹功能了。
比如host有个叫git的文件夹,可以直接将此文件夹设置为共享文件夹并自动mount,这样,每次在虚拟机一开机就看到这个文件夹被挂载为/media/sf_git。
问题
但是,在用非root用户方法这个文件夹时却会遇到权限不足问题。根源在于这个自动mount的文件夹的所有者为root,所属的组是vboxsf,并且只有这两个用户有访问权限。
解决方法
解决方法也很简单,只需要将当期登录用户加入到vboxsf组就行了。
de >sudo usermod -aG vboxsf $(whoami)
记得要重启一次系统组设置才能生效。
解决后发现使用git和repo时总是会出现 OSError: [Errno 30] Read-only file system 的问题,还是不能共享文件夹。上网查了下发现是软链接的问题。
https://www.jianshu.com/p/9ef5ef856d54
和http://9esuluciano.iteye.com/blog/2264482 上都给出了相同的答案
执行VBoxManage setextradata “VM name” VBoxInternal2/SharedFoldersEnableSymlinksCreate/sharename 1
“VM name”是虚拟机的名字
sharename是share folder的名字
解决
step1
在win7中:管理员身份打开cmd,cd 到VirtualBox的安装目录,然后运行下面的命令
VBoxManage setextradata YOURVMNAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/YOURSHAREFOLDERNAME 1
YOURVMNAME :你虚拟机的名字
YOURSHAREFOLDERNAME :共享文件夹的名字,不是地址
step2
再次检验下,
VBoxManage getextradata YOURVMNAME enumerate
结果中有类似,说明设置成功了
Key:VBoxInternal2/SharedFoldersEnableSymlinksCreate/YOURSHAREFOLDERNAME,Value: 1
step3
如果你不知管理员用户,你可能还是不能创建软连接,还需要第三步
在win7 下,run secpol.msc,打开的是本地安全策略
本地安全策略–>本地策略–>用户权限分配–>创建符号链接–>添加用户或者组权限
到了这里一般就OK了
在DOS中进入D盘的目录后要再, D:\回车一下才能显示是进入了这个目录。
弄完共享文件夹发现又发现了不USB。先安装扩展包,发现还是不行网上一查才知道要把当前用户增加到vboxusers组里。
1… sudo usermod -G vboxusers -a john,其中john是你要使用vbox的当前用户名
2…(relogin)注销后重新登入这个用户
3…(add USB device)打开vbox点设置,点左侧的usb,右边看那个绿色加号,就能看到你的usb设备了,添加一下。
可以用 cat /etc/group |grep vboxusers 查看下自己的当前用户有没有添加成功