解决虚拟机 Virtualbox 中 linux 共享文件夹只读问题

转载需注明来源:http://www.cnblogs.com/yczcc/p/7906454.html

Virtualbox 虚拟机(centOS)中,执行源码编译或者其他某些操作时,可能会出现如下错误:

ln: creating symbolic link `/data/svn/project/lib/libtest.so':Read-only file system

或:

cp: cannot create symbolic link `/data/svn/project/lib/libtest.so': Protocol error

这是由于VirtualBox从安全角度出发,限制了软链接的创建,需要打开相应的Feature。

确定共享目录名称

在virtualbox创建了共享文件夹,系统会自动在/media里建立以sf_为前缀并加上共享文件夹名的挂载点,例如在虚拟机——设置——共享文件夹中,我的固定分配名称为svn,则对应虚拟机上挂载点为 /media/sf_svn 。

这个挂载点默认的权限是给virtualbox创建的用户组vboxsf的,要想查看,需要把自己的用户名加入到vboxsf组(重启后生效),或者使用root账户登录查看。

 

打开软链创建权限

1、关闭 VirtualBox。

2、如果VirtualBox安装目录的路径不在系统环境变量PATH中,则将VirtualBox安装目录的路径加入系统环境变量PATH中。注意:VirtualBox在安装时,一般会在环境变量中自动创建名为VBOX_MSI_INSTALL_PATH的系统变量,将此变量添加到系统环境变量PATH中即可。

3、用管理员权限打开cmd.exe命令行窗口,执行如下命令:

VBoxManage setextradata YOURVMNAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/YOURSHAREFOLDERNAME 1

其中:YOURVMNAME修改为自己虚拟机中linux系统的名称,即VirtualBox管理器左边列表中显示的虚拟机名称。YOURSHAREFOLDERNAME 修改为自己设置的共享目录名称,即上面图中我的共享目录的名称svn,注意共享目录是没有sf_前缀的名字

4、“以管理者身份运行” VirtualBox 即可。

转载需注明来源:http://www.cnblogs.com/yczcc/p/7906454.html

posted @ 2017-11-27 22:12  yczcc  阅读(4708)  评论(1编辑  收藏  举报