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. linux批量替换

    sed -i "s/李三/李四/g"  -r result/*       将result文件夹下的所有文件中的李三替换成李四 sed命令下批量替换文件内容  格式: sed -i ...

  2. 51NOD:1639-绑鞋带

    传送门:https://www.51nod.com/onlineJudge/submitDetail.html#!judgeId=475129 1639 绑鞋带 基准时间限制:1 秒 空间限制:131 ...

  3. BFS:HDU3085-Nightmare Ⅱ(双向BFS)

    Nightmare Ⅱ Time Limit: 2000/1000 MS (Java/Others)     Memory Limit: 32768/32768 K (Java/Others) Tot ...

  4. Java模拟音乐播放器 暂停与重新播放——线程如何控制另外一个线程的状态

    package com.example.Thread; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEve ...

  5. cf976d Degree Set

    ref #include <algorithm> #include <iostream> #include <cstdio> #include <vector ...

  6. 项目管理者必知:适用于仪表盘项目的7个优秀JavaScript库

    仪表盘是用于目标或业务流程的视觉指示工具,也用于切割杂乱无章的数据,从而分割出要点的重要工具.它可以帮助评估信息并及时做出正确的决定,一款实时可视化的仪表盘通常由图标.测绘图.图形符号以及数据表格等组 ...

  7. 设计模式之第21章-状态模式(Java实现)

    设计模式之第21章-状态模式(Java实现) “what are you 干啥了?怎么这么萎靡不振?”“昨晚又是补新番,又是补小笼包,睡得有点晚啊.话说杨过的那个雕兄真是太好了,每天给找蛇胆,又陪练武 ...

  8. IOS开发学习笔记010-面向对象的三大特性

    面向对象的三大特性 1.封装 2.继承 3.多态 一.封装 将类内部的属性保护起来,在外部不能直接访问,那么如果需要访问怎么办呢? OC提供了set方法来对成员变量进行访问 set方法 1.作用:提供 ...

  9. day02_04.算算多少人

    第四题 算算有多少人? 第二题的升级版,看看你能不能做出来 利用你的编程思想去看这道题目,记住不要放过题目的每一个小细节 题目:操场上100多人排队,3人一组多1人,4个一组多2人,5人一组多3人,共 ...

  10. Leetcode 521.最长特殊序列I

    最长特殊序列 I 给定两个字符串,你需要从这两个字符串中找出最长的特殊序列.最长特殊序列定义如下:该序列为某字符串独有的最长子序列(即不能是其他字符串的子序列). 子序列可以通过删去字符串中的某些字符 ...