在 VirtualBox 中无法挂载共享文件夹时该怎么办?
![]()
大家好,
我是开发团队野生队的成员 Mandai。
VirtualBox共享文件夹非常方便,我觉得很有用。
但是,有时候我会突然无法挂载它,不知道该怎么办,所以最后只能用其他方式交换文件。
最近我终于找到了问题的原因,所以想把我的解决方法写下来
。开发游戏API时,生产环境通常是Linux,所以我用的是Windows机器,但我还是通过虚拟机来创建类似的环境。
至于虚拟机环境,我们使用 VirtualBox,虚拟机操作系统镜像一般为 CentOS。
从 Level 1 Guest Additions CD 重新安装工具
这是我首先想到的。
虽然这个问题有点老了,但正如文章《VirtualBox 共享文件夹备忘录 | dark_green 的日记 | Slad》,这个问题经常在使用 yum 等工具更新内核模块时出现。
由于这是一个虚拟机,我可以更随意地处理它吗?
在 VirtualBox 的“设备”菜单中选择“插入 CD 映像”,安装工具将自动启动。
如果 CD 已挂载到桌面,只需双击 CD 图标即可。
我知道在介绍这款产品之后说这话可能有点奇怪,但如果它能解决这个问题,我就不会那么担心了。
二级:重新配置共享文件夹
这是过去在问题显现时所采用的解决方案。
这可以在 VirtualBox 管理器的虚拟机设置中完成,
或者如果您在虚拟机用户界面中,请单击右下角的文件夹图标。
如果主机端和虚拟机端的目录都设置正确,则有可能挂载该目录。
第三级:替换 mount.vboxsf 符号链接
最后,这次奏效的解决方法是更改 mount.vboxsf 符号链接的目标位置。
实际情况是,mount.vboxsf 的实际实体(即用于创建共享文件夹的挂载命令)实际上有所不同。
哪个 mount.vboxsf /sbin/mount.vboxsf ls -al | grep vboxsf mount.vboxsf -> /usr/lib64/VBoxGuestAdditions/mount.vboxsf
这并不意味着该文件不存在;它确实存在于路径 /usr/lib64/VBoxGuestAdditions/mount.vboxsf 中。
那么,应对这种情况的办法是:
# cd /sbin sudo ln -sf /usr/lib/VBoxGuestAdditions/mount.vboxsf mount.vboxsf
只需将符号链接的目标位置更改为 VBoxGuestAdditions 下的 mount.vboxsf,该 VBoxGuestAdditions 也位于 /usr/lib 下。
如果设置为自动挂载,请重启虚拟机,然后使用 df 命令可以看到它已正确挂载。
由于我使用的是 64 位版本的 CentOS,我原以为 /usr/lib64 应该没问题,但似乎并非如此。
我怀疑这可能是 Guest Additions CD 安装程序的问题,Oracle,您怎么看?
这似乎是在我更新内核模块之后发生的。
更新虚拟机内核似乎在很多方面都存在风险。
就这样。
3