解决 Virtualbox 共享文件夹 cannot create symlink error 问题

在Windows7 + Ubuntu Server环境下,通过VirtualBox进行文件共享时遇到'cannot create symbolic link'错误。该问题源于VirtualBox的安全限制。解决步骤包括:关闭VirtualBox,将VirtualBox安装路径加入系统环境变量,执行特定命令,然后以管理员权限运行VirtualBox。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    Windows7 + ubuntu server环境下,使用 repo 下载了一份Android Source Code,欲将代码复制到 Windows 下作为备份,于是安装VirtualBox增强功能、设置共享文件夹,在复制的时候出现了如下问题:

cp: cannot create symbolic link `/mnt/RootProjects/projects/device/common.git/objects':Read-only file system

或:

cp: cannot create symbolic link `/mnt/RootProjects/projects/device/common.git/objects': Protocol error

    原来VirtualBox从安全角度出发,限制了软链接的创建,需要打开相应的Feature。以下为详细步骤:

    1、关闭 VirtualBox。

### 解决VirtualBox共享文件夹不显示的问题 当遇到VirtualBox共享文件夹无法正常工作的情况时,可以按照以下方法排查并解决问题。 #### 1. 安装增强功能包 确保已正确安装Guest Additions组件。该组件提供了对主机与客户操作系统之间交互的支持,包括但不限于共享剪贴板、自动调整屏幕分辨率以及最重要的——共享文件夹支持[^1]。 如果之前未安装过,则可以通过启动虚拟机后,在顶部菜单栏选择`设备(Device)`-> `插入来宾附加ISO镜像(Insert Guest Additions CD image...)`来进行安装;对于已经安装但怀疑版本不对的情形,建议先卸载旧版再重新执行上述步骤更新至最新版本。 #### 2. 设置共享文件夹选项 进入VirtualBox管理界面,选中目标虚拟机点击设置按钮,在左侧列表找到“共享文件夹”,勾选“永久(P)”项以便每次开机都能访问指定路径下的数据。同时注意检查权限设置是否允许当前登录账户读写相应位置的数据[^3]。 #### 3. 检查内核模块加载情况 某些情况下即使完成了前面两步操作仍可能因为缺少必要的驱动而导致失败。此时可以在Linux类型的客户OS里尝试手动挂载: ```bash sudo mount -t vboxsf <shared_folder_name> /mnt/<mount_point> ``` 其中`<shared_folder_name>`对应于创建共享文件夹时所起的名字,而`/mnt/<mount_point>`则是希望映射到本地系统的具体目录。如果命令提示找不到vboxsf类型,则说明还需要额外编译或安装相关内核模块。 #### 4. 调整资源分配策略 考虑到性能因素影响正常使用体验的可能性,适当增加分配给虚拟机的CPU核心数及内存大小有助于提高稳定性。不过需要注意的是过度占用物理硬件资源反而会造成其他方面的问题,因此应当根据实际情况权衡利弊做出合理的选择。 #### 5. 排除网络环境干扰 虽然理论上讲局域网内的通信不会直接影响到本机内部进程间的协作效率,但在特定场景下确实存在例外情形。比如防火墙规则过于严格可能会阻止部分服务端口之间的通讯,进而间接引发此类现象的发生。关闭不必要的防护措施或将涉及的相关程序加入白名单或许能够起到一定作用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值