尝试在 OSX 上运行的 VMWare Fusion 的 Ubuntu 实例上设置共享文件夹时出错

fox*_*fox 20 vmware-fusion shared-folders osx-mountain-lion ubuntu-12.10

收到以下错误:

无法更新运行时文件夹共享状态:在来宾操作系统中安装共享文件夹文件系统时出错。

在 OS X 10.6.8 上运行 VMWare Fusion 5.0.2,来宾操作系统是安装了 VMware Tools 的 Ubuntu 12.10。

根本无法进入/mnt/hgfs,/mnt/目录是空白的。在 VMWare Fusion 中关闭共享文件夹,然后再打开并收到上述错误。

有什么想法可以解决这个问题吗?

小智 19

除非可以编译内核扩展,否则 VMWare 工具的某些部分将无法静默安装。这需要编译器和当前内核的通用头文件,所以安装它们:

sudo apt-get install build-essential linux-headers-$(uname -r)
Run Code Online (Sandbox Code Playgroud)

然后运行

sudo vmware-config-tools.pl
Run Code Online (Sandbox Code Playgroud)


小智 9

几天前我在 Vmware fusion 4 上遇到了同样的问题,使用 Ubuntu 12.04 作为来宾(Mac OS 10.6.8 作为主机)。简短的回答(至少我的解决方案)是

  • 不要安装 VMWare Fusion 提供的 VMware 工具;他们不工作。
  • 相反,请使用 Ubuntu apt-get(或 Synaptic 用户界面)安装 open-vm-tools,这是 vmware 工具的开源版本。他们确实工作。
  • 我不得不手动挂载我的共享文件夹。

例如,如果您有一个名为 projects 的共享文件夹,请执行以下操作

sudo mkdir /mnt/hgfs
sudo mkdir /mnt/hgfs/projects
sudo mount -t vmhgfs .host:/projects /mnt/hgfs/projects
Run Code Online (Sandbox Code Playgroud)

一旦你验证了这个工作(ls /mnt/hgfs/projects),你可以将适当的行添加到你的 fstab

.host:/projects /mnt/hgfs/projects vmhgfs defaults,ttl=5,uid=1000,gid=1000 0 0
Run Code Online (Sandbox Code Playgroud)

背景:我花了几个小时尝试人们在网上描述的所有解决方案和建议,以获取 Fusion 的“安装 vwmware 工具”以支持共享文件夹。正如之前的海报所说,这需要构建必需的内核头文件等,但我没有成功。最后,我开始探索内核模块,发现 vmhgfs 支持没有被加载。然后我仔细查看了 vmware 工具安装脚本在做什么,发现隐藏在 vmhgfs 代码编译错误的一堆消息中。基本上,vmware 的代码在更新的 linux 内核版本上被破坏了;显然,这种情况已经持续多年。我很困惑;这是否意味着 vmware 没有 t 解决了这些问题(或至少是最新的问题)?或者这是否意味着 vmware fusion 4 只是继续使用旧版本的 vmware 安装工具代码?真正令人讨厌的是 vmware tools install 报告安装成功;您真的必须仔细研究它的大量消息才能意识到 vmhgfs 支持可能存在问题。在我看来,vmware tools 安装方法是两全其美的:一方面它需要编译一堆源代码,因此它使您暴露于该过程的所有脆弱性和完全缺乏透明度;另一方面,它试图成为一个“自动”安装程序,只有在“它正常工作”时才可以。相反,它会默默地失败,并为您留下一个不 t 工作并且没有关于从哪里开始尝试修复它的可用信息。感谢上帝开源并在 Ubuntu 包管理器中包含 open-vm-tools。它工作得很好。