VMware Workstation/Fusion 分别是 Windows/Linux 和 macOS 下面对应的桌面虚拟化软件。过去,在 VMware 中安装了操作系统虚拟机后,需要在虚拟机中再安装 VMware Tools 增强工具用来实现宿主机和虚拟机之间的文件共享、虚拟机显示分辨率自适应调节、虚拟机显示能力增强及 3D 加速等功能。但随着 Linux 系统内核及周边环境的不断发展,目前 VMware 已经不再推荐在 Linux 虚拟机中安装 VMware 官方的增强工具了,转而推荐用户使用 Open VM Tools。Open VM Tools 是 VMware 将自己原有的虚拟机增强工具(VMware Tools)大部分开源后由社区来继续开发完善形成的 Linux 开源虚拟机环境增强工具包,不仅支持 VMware 虚拟化环境架构,也能支持 Parallels 虚拟化环境架构(类似 VMware 的另一款商业桌面虚拟化产品),以后也可能会支持诸如 KVM/Xen 等虚拟化架构。Open VM Tools 可以随 Linux 内核的升级而保持最新版本支持,彻底解决过去 VMware 升级过慢,跟不上 Linux 内核及周边相关软件升级节奏导致虚拟机增强效果消失的问题(有时需要用户自己对 VMware Tools 源代码打补丁重新编译安装,非常繁琐)。

这里以 macOS 环境下的 VMware Fusion 为例,安装 Fedora 24 Linux 后,默认情况下 Fedora 就已经安装好了 Open VM Tools 了,可以通过以下命令查看:

$ rpm -qa | grep open-vm

如果已安装了 Open VM Tools,会返回如下信息:

open-vm-tools-desktop-10.0.-.fc24.x86_64
open-vm-tools-10.0.-.fc24.x86_64

如果发现系统中没有安装 Open VM Tools,可以用如下命令来安装:

# dnf install open-vm*

安装好 Open VM Tools 后,虚拟机的显示增强、3D 加速、分辨率自适应调节等都已具备了,但是虚拟机与宿主机之间的文件共享功能默认并没有开启,即使你在宿主机中配置了文件共享功能并启用。其实 Open VM Tools 是支持 VMware 自己的 hgfs 文件共享系统的,但需要手动在虚拟机中执行相关命令并做少量配置才行。这里我的思路是在开机自启动脚本 /etc/rc.d/rc.local 中加入共享文件挂载命令,从而实现开机后文件共享自动可用。使用如下命令编辑自启动脚本:

# vi /etc/rc.d/rc.local

在里面加入如下内容:

#!/bin/bash
vmhgfs-fuse -o allow_other .host:/$(vmware-hgfsclient) /mnt/hgfs

然后确保 /etc/rc.d/rc.local 具备可执行权限:

# chmod a+x /etc/rc.d/rc.local

重启虚拟机系统后就会发现共享文件夹已经自动挂载到 /mnt/hgfs 目录了。这里由于用到了 Open VM Tools 提供的一个 vmware-hgfsclient 命令,所以可以自动识别发现你所设置的 VMware 共享文件夹名称,不需要自己在挂载命令中指定(当然,你要自己在命令中指定也可以)。挂载成功后,我们用 mount 命令查看一下当前所有挂载的文件系统和相关目录:

$ mount

会发现反馈结果中有这么一行:

vmhgfs-fuse on /mnt/hgfs type fuse.vmhgfs-fuse (rw,nosuid,nodev,relatime,user_id=,group_id=,allow_other)

这说明,我们其实也可以用 mount 命令来挂载 VMware 的共享文件夹,只不过共享文件系统的名字要指定为 fuse.vmhgfs-fuse,这个在 Open VM Tools 的文档中并没有直接提及而已。

VMware Workstation/Fusion 中安装 Fedora 23/24 及其他 Linux 系统时使用 Open VM Tools 代替 VMware Tools 增强工具的方法的更多相关文章

  1. VMware Workstation 16中安装macOS Big Sur,AMD版

    VMware Workstation 16中安装macOS Big Sur,AMD版 目录 VMware Workstation 16中安装macOS Big Sur,AMD版 准备阶段 步骤一:安装 ...

  2. 在VMware Workstation 9中安装Mac OS X 10.8 Mountain Lion

    本文环境: CPU:Intel Core i7 920: OS:Windows 7: 内存:8G: 玩Hackintosh各有各的理由,不管什么理由,利用虚拟机安装Mac OS X都是一个可行的办法. ...

  3. VMware workstation 虚拟机中安装乌班图及其兼容性问题

    之前我在虚拟机中安装乌班图,是先安装好虚拟机,然后将预先下载好的乌班图镜像文件导入安装,这样安装起来还是有些繁琐的,中间要设置好多东西.今天领导给我拷了个虚拟机,还有乌班图的安装文件,是这样的. 对于 ...

  4. [看图说话]在VMware Workstation 9中安装Mac OS X 10.8 Mountain Lion

    本文环境: CPU:Intel Core i7 920: OS:Windows 7: 内存:8G: 玩Hackintosh各有各的理由,不管什么理由,利用虚拟机安装Mac OS X都是一个可行的办法. ...

  5. 刚安装Fedora 23工作站后,你必须要做的24件事

    [51CTO.com快译]Fedora 23工作站版本已发布,此后我们就一直在密切关注它.我们已经为新来读者介绍了一篇安装指南:<Fedora 23工作站版本安装指南> 还有一篇介绍如何从 ...

  6. 使用VMware WorkStation虚拟机软件安装CentOS 8

    使用VMware WorkStation虚拟机软件安装CentOS 8 说明:本章我们使用的虚拟机软件是VMware WorkStation15.5 PRO,镜像包是CentOS-8.2.2004-x ...

  7. VMware Workstation虚拟机中的Linux通过NAT模式共享上网配置教程

    VMware Workstation虚拟机中的Linux通过NAT模式共享上网配置教程 在VMware Workstation虚拟机下面,Linux虚机要上网,一般是桥接模式,但我自己的电脑上网的环境 ...

  8. 虚拟机软件VMware Workstation Pro的安装与使用

    聚焦行业最佳实践,BDTC 2016完整议程公布      Java 编程入门(系列)      程序员11月书讯,评论得书啦      免费的知识库,你的知识库 虚拟机软件VMware Workst ...

  9. VMware Workstation 12 Pro安装CentOs图文教程(超级详细)

    本文记录了VMware Workstation 12 Pro安装CentOs的整个过程,具体如下: VMware Workstation 12: CENTOS 6.4 : 创建虚拟机 1.首先安装好V ...

随机推荐

  1. GoF23种设计模式之创建型模式之单态模式

    1概述 保证一个类仅有一个实例,并提供一个访问它的全局访问点. 2适用性 1.当类只能有一个实例而且客户可以从一个总所周知的访问点访问它的时候. 2.当这个唯一实例应该是通过子类化可扩展的,并且客户应 ...

  2. kubernetes dashboard permission errors

    kubernetes dashboard 的权限错误 warning configmaps is forbidden: User "system:serviceaccount:kube-sy ...

  3. Python9-MySQL-pymysql模块-day44

    import pymysql user = input('username: ') pwd = input('password: ') conn = pymysql.connect(host=',da ...

  4. poj 2139 奶牛拍电影问题 floyd算法

    题意:奶牛拍一系列电影,n头牛拍m部电影,同一部电影种的搭档们距离为1,求最小距离? 思路:Floyd 图 最短路径 存图: 初始化图 for (int i = 0; i <= n; i++) ...

  5. Java面向对象---方法递归调用

    递归调用是一种特殊的调用形式,即方法自己调用自己 public int method(int num){ if(num==1){ return 1; } else { return num+metho ...

  6. Unable to execute dex: Multiple dex files define Lcom/myapp/R$array;

    Unable to execute dex: Multiple dex files define Lcom/myapp/R$array; 我这个问题最后解决方式是,吧工程里面用同一个v4包. 很明显, ...

  7. UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 19: ordinal not in range(128)

    解决方案: 1: 在网上找到的解决方案是: 在调用import matplotlib.pyplot as plt前 import sys sys.setdefaultencoding(“gbk”) 让 ...

  8. 分分钟教你做出自己的新闻阅读APP

    分分钟教你做出自己的新闻阅读APP 引子 曾经不小心发现了一些好的看新闻的网站,但是电脑又不是随身携带,因此想要下载一个这个网站的手机APP来看新闻,但是问题来了,这个网站根本没有做Android端! ...

  9. Python学习之正则表达式初探

    正则表达式 正则表达式 (或 regexes ) 是通用的文本模式匹配的方法. Django URLconfs 允许你 使用任意的正则表达式来做强有力的URL映射,不过通常你实际上可能只需要使用很少的 ...

  10. leetcode 【 Minimum Path Sum 】python 实现

    题目: Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right w ...