本文介绍了在centos上离线安装vmware-workstation的详细过程以及使用方法。

一、VMWare基本介绍

  虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,在实体计算机中能够完成的工作在虚拟机中都能够实现。

  VMWare虚拟机软件是一个“虚拟PC”软件,它使你可以在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。与“多启动”系统相比,VMware采用了完全不同的概念。多启动系统在一个时刻只能运行一个系统,在系统切换时需要重新启动机器。

参考链接:【VM安装清理工具 + VM配置调试工具 + VM反虚拟机检测

二、VMWare下载

2.1 查看本地系统信息

  1. 查看内核版本:cat /proc/version

. 我的机器系统信息: Linux version 3.10.0-1160.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5

-44) (GCC) ) #1 SMP Mon Oct 19 16:18:59 UTC 2020

  1. 查看系统版本cat /etc/redhat-release

.我的机器系统信息: CentOS Linux release 7.9.2009 (Core)

2.2 选择及下载合适的版本

VMware下载地址: (非官方,但是版本很全,不需要登录注册官网)点击下载

官网下载:

进入官方下载地址: VMware 中国 - 交付面向企业的数字化基础 | CN
按提示登录\注册后,然后按照图片标注操作如下:

三、VMWare安装

3.1 安装依赖库

依赖库有: 
        (1) libaio \ libaio1、 
        (2)pcsc-lite-libs \ libpcsclite1 、
        (3) make 、
        (4)gcc \ gcc-c++ 、
        (5) libglib2.0-dev、
        (6)perl   \  kernel-devel 
        (7)libX11 \  libXinerama  \ libXcursor  \ libXtst
  • 在线安装:yum -y install perl gcc kernel-devel libX11 libXinerama libXcursor libXtst
  • 离线安装:通过 uname -r 查询内核版本,然后到 CentOS 官网的历史版本里找到对应的 rpm 包手动安装。安装参考链接:linux资源包安装详细教程

如下示例:

(1)离线安装 perl

(2)离线安装:kernel-devel

3.2 vmware安装

  1. 查看安装包信息

将下载的安装包 VMware-Workstation-Full-版本号.x86_64.bundle放到centos某个目录下,这里我放置的目录是/home/soft/vmware

#查看安装包信息
ls /home/soft/vmware

  1. 将目录权限设置成可读写:
#进入安装目录
cd /安装目录
chmod +x *.bundle

  1. 执行安装命令:
./VMware-Workstation-Full-{版本号}.x86_64.bundle --console --eulas-agreed --required -s vmware-workstation serialNumber {激活序列号}
#示例 16安装
./VMware-Workstation-Full-16.2.5-20904516.x86_64.bundle --console --eulas-agreed --required -s vmware-workstation serialNumber {YF390-0HF8P-M81RQ-2DXQE-M2UT6}
#示例 15安装 - 不同版本,只需要安装一个版本,因为我第一个版本跟系统不兼容,后面重新下了15版本的
./VMware-Workstation-Full-15.5.7-17171714.x86_64.bundle  --console --eulas-agreed --required -s vmware-workstation serialNumber {UG5J2-0ME12-M89WY-NPWXX-WQH88}

安装成功:

卸载vmware命令: vmware-installer -u vmware-workstation

3.3 验证安装

  1. 启动VMware,执行命令:systemctl start vmware
  2. 查看启动状态,执行命令:systemctl status vmware
  • 如果出现异常,状态栏会有红色的文字标识错误原因。如下示例:

根据失败的原因去解决问题,然后再重新启动即可。

  安装时出现了F a i l e d t o s t a r t S Y S V : T h i s s e r v i c e s t a r t s a n d s t o p s V M w a r e s e r v i c e s . \color{red}{ Failed to start SYSV: This service starts and stops VMware services. } FailedtostartSYSV: ThisservicestartsandstopsVMwareservices.异常。
  • 如果是正常的,状态栏会显示“ Runing ”

  1. 查看安装状态vmware-modconfig --install-status
  • 一般而言只要 vmmon、vmnet 是 installed, vmware 就能干活了

  • 如果vmmon、vmnet 是 unknown,说明安装过程出现异常了,缺失模块。

(1)这时候大概率是安装的版本与系统不兼容,建议卸载后降低版本重新安装。我就是安装16.2.4版本时出现了这个问题,降低到15.5.7版本后就正常了。卸载参考链接:本人实战记录- linux下卸载vmware

(2)如果不是版本问题的话,继续排除:

3.4 异常及解决方案

3.4.1 Failed to start SYSV

1. 异常描述Failed to start SYSV: This service starts and stops VMware services.

2. 解决方案如下:

(1)执行命令,运行vmware配置文件,查看详细原因:vmware-modconfig --console --install-all

(2)大概率是没有安装依赖,点击检查依赖是否正确安装

3.4.2 GLib does not have GSettings support

1. 异常描述:G L i b d o e s n o t h a v e G S e t t i n g s s u p p o r t . \color{red}{GLib does not have GSettings support. }GLibdoesnothaveGSettingssupport.

安装配置文件时,报异常:

2. 原因:缺失lib

依赖库有: 
    (1) libaio \ libaio1、 
    (2)pcsc-lite-libs \ libpcsclite1 、
    (3) make 、
    (4)gcc \ gcc-c++ 、
    (5) libglib2.0-dev、
    (6)kernel-devel 、perl
    (7)libX11 \  libXinerama  \ libXcursor  \ libXtst

3. 解决方案如下:

(1)确认是否有 libaio

rpm -qa|grep libaio
find /  -name libaio.* 

(2)确认是否有 libpcsclite1

find /  -name pcsc-lite-lib*
find /  -name libpcsclite*
12

这里pcsc-lite-libs缺失,安装pcsc-lite-libs:

(3)确认是否有make

(4)确认是否有gcc

rpm -qa|grep gcc

(5)确认是否有perl

rpm -qa|grep perl

(6)确认是否有kernel-devel

rpm -qa|grep kernel-devel 

(8)确认是否有 libX11 libXinerama libXcursor libXtst

rpm -qa|grep libX

(9)确认安装了所有的依赖包后,卸载vmware:

vmware-installer -u vmware-workstation

(10)回到3.2章节重新安装vmware

3.4.3 vmmon、vmnet 是 unknown

  vmmon、vmnet 是 unknown,说明vmmon和vmnet模块无法自动安装,需要手动编译安装。

执行以下命令编译安装:

cd /usr/lib/vmware/modules/source
git clone https://github.com/mkubecek/vmware-host-modules
cd vmware-host-modules
git checkout workstation-16.2.3
make
tar -cf vmnet.tar vmnet-only
tar -cf vmmon.tar vmmon-only
mv vmnet.tar /usr/lib/vmware/modules/source/
mv vmmon.tar /usr/lib/vmware/modules/source/
vmware-modconfig --console --install-all

3.4.4 第一个实参不是一个常量异常

  1. 运行配置文件:vmware-modconfig --console --install-all
  • 此时如果出现:
In file included from /tmp/modconfig-EEeEV8/vmmon-only/./include/x86desc.h:33:0,
                 from /tmp/modconfig-EEeEV8/vmmon-only/./include/modulecall.h:34,
                 from /tmp/modconfig-EEeEV8/vmmon-only/common/task.c:60:
/tmp/modconfig-EEeEV8/vmmon-only/common/task.c: 在函数‘TaskRestoreHostGDTTRLDT’中:
/tmp/modconfig-EEeEV8/vmmon-only/./include/vm_asm_x86.h:70:22: 错误:‘__builtin_choose_expr’的第一个实参不是一个常量
                      __builtin_choose_expr(__builtin_constant_p(expr),       \
                      ^
/tmp/modconfig-EEeEV8/vmmon-only/./include/vm_assert.h:372:22: 附注:in definition of macro ‘ASSERT_ON_COMPILE’
       _Static_assert(e, #e); \
                      ^
/tmp/modconfig-EEeEV8/vmmon-only/./include/vm_asm_x86.h:266:7: 附注:in expansion of macro ‘ASSERT_ON_COMPILE_SELECTOR_SIZE’
       ASSERT_ON_COMPILE_SELECTOR_SIZE(expr);                            \
       ^
/tmp/modconfig-EEeEV8/vmmon-only/common/task.c:726:7: 附注:in expansion of macro ‘SET_TR’
       SET_TR(tr);
       ^
/tmp/modconfig-EEeEV8/vmmon-only/./include/vm_asm_x86.h:69:22: 错误:expression in static assertion is not constant
    ASSERT_ON_COMPILE(sizeof(Selector) == 2 &&                                \
                      ^
.......

  这个大概率是版本与系统环境不兼容,建议卸载后降低版本重新安装。我就是安装16.2.4版本时出现了这个问题,降低到15.5.7版本后就正常了。卸载参考链接:本人实战记录- linux下卸载vmware

四、VMWare产品卸载

4.1先查看安装了vmware的哪些Product(产品),执行命令: vmware-installer -l

我这里只安装了一个,所以只显示一个

4.2 查询到安装的产品之后,就可以卸载了。执行命令: vmware-installer --uninstall-product 产品名称

# 示例
 vmware-installer --uninstall-product  vmware-workstation

输入:yes

成功卸载:

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐