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

一、VMWare基本介绍

1
  虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,在实体计算机中能够完成的工作在虚拟机中都能够实现。
  VMWare虚拟机软件是一个“虚拟PC”软件,它使你可以在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。与“多启动”系统相比,VMware采用了完全不同的概念。多启动系统在一个时刻只能运行一个系统,在系统切换时需要重新启动机器。

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

回到目录  回到末尾

二、VMWare下载

2.1 查看本地系统信息

  1. 查看内核版本:cat /proc/version
    1
    . 我的机器系统信息: 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
  2. 查看系统版本:cat /etc/redhat-release
    1
    .我的机器系统信息: CentOS Linux release 7.9.2009 (Core)

回到目录  回到末尾

2.2 选择及下载合适的版本

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

官网下载:

2

2
1

6
等待下载完成即可。

回到目录   回到末尾

三、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
1
(2)离线安装:kernel-devel

1

回到目录  回到末尾

3.2 vmware安装

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

1
2. 将目录权限设置成可读写:

#进入安装目录
cd /安装目录
chmod +x *.bundle

1

  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}

1

安装成功:
1

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

回到目录  回到末尾

3.3 验证安装

  1. 启动VMware,执行命令:systemctl start vmware
  2. 查看启动状态,执行命令:systemctl status vmware
  • 如果出现异常,状态栏会有红色的文字标识错误原因。如下示例:
    1
    根据失败的原因去解决问题,然后再重新启动即可。

  我这边安装时出现了 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.异常,【点击进入Failed to start SYSV异常解决方案

  • 如果是正常的,状态栏会显示“ Runing ”
    2
  1. 查看安装状态:vmware-modconfig --install-status
  • 一般而言只要 vmmon、vmnet 是 installed, vmware 就能干活了
    1
  • 如果vmmon、vmnet 是 unknown,说明安装过程出现异常了,缺失模块。
    1
    (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.
1
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.
安装配置文件时,报异常:
1
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.* 

`

1

(2)确认是否有 libpcsclite1

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

1

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

1

(3)确认是否有make
1
(4)确认是否有gcc

rpm -qa|grep gcc


(5)确认是否有perl

rpm -qa|grep perl

1
(6)确认是否有kernel-devel

rpm -qa|grep kernel-devel 

1

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

rpm -qa|grep libX

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

vmware-installer -u vmware-workstation

(10) 点击进入重新安装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使用

本人实战记录:linux下的vmware workstation使用

回到目录  回到末尾

五、VMWare产品卸载

本人实战记录:linux下卸载vmware

回到目录  回到末尾

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐