CentOS 7.4 にしたらVMware Workstation Playerが使えない

実現する機能

CentOS 7.4 にアップグレードして、Windows 10 を使おうとVMware Workstation Playerを起動したら、下記の画面が表示され、ソフトの追加が必要との画面が出たので赤枠の「Install」をクリックしたら、

なぜかログを見ろとのメッセージを残したままエラーとなり、VMware Workstation Playerが起動できなくなりました。

今回は、復旧までの備忘録をまとめました。

エラーログの確認と対策

(以下はGNOME端末を用いての手順)
以下の黒背景部分はGNOME端末を表示しています。黄色はキーボードから入力するコマンド(コピペした方が楽ですが、コマンドは覚えられません)、緑はコマンドや処理内容の説明、白は自動表示する部分、赤は注意書きです。

[tu@ufuso ~]$ su - ← ユーザーを管理者(root)に変更するためのコマンド
パスワード: ← 管理者(root)のパスワードを入力(パスワードは画面に表示はされ
ないので注意)
最終ログイン: 2017/08/27 (日) 00:27:11 JST日時 pts/0

[root@ufuso ~]# ← 管理者(root)としてのログインに成功すると、[root@~]と
表示される

[root@ufuso ~]# vi /tmp/vmware-root/vmware-30375.log ← ログを開く
2017-10-17T09:51:05.373+09:00| vthread-4| I125: Log for VMware Workstation pid=30375 version=12.5.7 build=build-5813279 option=Release
...
2017-10-17T09:51:05.372+09:00| vthread-4| I125: DictionaryLoad: Cannot open file "/usr/lib/vmware/settings": 
そのようなファイルやディレクトリはありません.
2017-10-17T09:51:05.372+09:00| vthread-4| I125: PREF Optional preferences file not found at /usr/lib/vmware/settings. Using default values.
2017-10-17T09:51:05.372+09:00| vthread-4| I125: DictionaryLoad: Cannot open file "/home/tu/.vmware/config": 
そのようなファイルやディレクトリはありません.
2017-10-17T09:51:05.372+09:00| vthread-4| I125: PREF Optional preferences file not found at /home/tu/.vmware/config. Using default values.
...
2017-10-17T09:51:05.427+09:00| vthread-4| I125: /lib/modules/3.10.0-693.2.2.el7.x86_64/build/include/linux/version.h not found, looking for generated/uapi/linux/version.h instead.
...
2017-10-17T09:51:05.441+09:00| vthread-4| I125: The header path "/lib/modules/3.10.0-693.2.2.el7.x86_64/build/include" for the kernel "3.10.0-693.2.2.el7.x86_64" is valid.  Whoohoo!
...
2017-10-17T09:51:05.863+09:00| vthread-4| I125: /lib/modules/3.10.0-693.2.2.el7.x86_64/build/include/linux/version.h not found, looking for generated/uapi/linux/version.h instead.
...
2017-10-17T09:51:05.878+09:00| vthread-4| I125: The header path "/lib/modules/3.10.0-693.2.2.el7.x86_64/build/include" for the kernel "3.10.0-693.2.2.el7.x86_64" is valid.  Whoohoo!
...
2017-10-17T09:51:06.245+09:00| vthread-4| I125: The header path "/lib/modules/3.10.0-693.2.2.el7.x86_64/build/include" for the kernel "3.10.0-693.2.2.el7.x86_64" is valid.  Whoohoo!
...
2017-10-17T09:51:06.264+09:00| vthread-4| I125: No matching PBM set was found for kernel "3.10.0-693.2.2.el7.x86_64".
...
2017-10-17T09:51:06.265+09:00| vthread-4| I125: Failed to find /lib/modules/3.10.0-693.2.2.el7.x86_64/build/include/linux/version.h
2017-10-17T09:51:06.265+09:00| vthread-4| I125: /lib/modules/3.10.0-693.2.2.el7.x86_64/build/include/linux/version.h not found, looking for generated/uapi/linux/version.h instead.
...
2017-10-17T09:51:06.299+09:00| vthread-4| I125: The header path "/lib/modules/3.10.0-693.2.2.el7.x86_64/build/include" for the kernel "3.10.0-693.2.2.el7.x86_64" is valid.  Whoohoo!
...
2017-10-17T09:51:06.302+09:00| vthread-4| I125: Failed to find /lib/modules/3.10.0-693.2.2.el7.x86_64/build/include/linux/version.h
2017-10-17T09:51:06.302+09:00| vthread-4| I125: /lib/modules/3.10.0-693.2.2.el7.x86_64/build/include/linux/version.h not found, looking for generated/uapi/linux/version.h instead.
...
2017-10-17T09:51:06.316+09:00| vthread-4| I125: The header path "/lib/modules/3.10.0-693.2.2.el7.x86_64/build/include" for the kernel "3.10.0-693.2.2.el7.x86_64" is valid.  Whoohoo!
...
2017-10-17T09:51:09.370+09:00| vthread-4| W115: Failed to build vmnet.  Failed to execute the build command.
全体として、pathが合っていないのでインストールができない状態。
ここでパッチファイルを見つけたので、これを適用したら動いた

[root@ufuso ~]# mkdir /home/tu/ダウンロード/vmnet-fix ← ダウンロードする
パッチファイルの保存フォルダ(「/home/tu/ダウンロード」は場所の例示)「vmnet-fix」を作成

[root@ufuso ダウンロード]#cd /home/tu/ダウンロード/vmnet-fix
 ← /home/tu/ダウンロード/vmnet-fixフォルダに移動

[root@ufuso vmnet-fix]# cp /usr/lib/vmware/modules/source/vmnet.tar ./vmnet-12.5.7.tar
 ← 既存のvmnet.tarファイルをvmnet-fixフォルダにコピー

[root@ufuso vmnet-fix]# tar cf vmnet.tar vmnet-only/
 ← パッチファイルを「vmnet-only」へ展開

[root@ufuso vmnet-fix]# wget https://communities.vmware.com/servlet/JiveServlet/download/2686431-179601/VMware-Workstation-12.5.7-vmnet-RHEL74.patch.zip
 ← パッチファイルVMware-Workstation-12.5.7-vmnet-RHEL74.patch.zipをダウンロード
`VMware-Workstation-12.5.7-vmnet-RHEL74.patch.zip' に保存中

100%[======================================>] 450         --.-K/s 時間 0s      

2017-10-17 10:53:28 (37.4 MB/s) - `VMware-Workstation-12.5.7-vmnet-RHEL74.patch.zip' へ保存完了 [450/450]

[root@ufuso vmnet-fix]# vmware-modconfig --console --install-all
 ← 失敗したInstallに再挑戦

Stopping vmware (via systemctl):                           [  OK  ]
 ← vmwareが停止

Using kernel build system.
make: ディレクトリ `/tmp/modconfig-jnh2ZE/vmmon-only' に入ります
/bin/make -C /lib/modules/3.10.0-693.2.2.el7.x86_64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[1]: ディレクトリ `/usr/src/kernels/3.10.0-693.2.2.el7.x86_64' に入ります
  CC [M]  /tmp/modconfig-jnh2ZE/vmmon-only/linux/driverLog.o
  CC [M]  /tmp/modconfig-jnh2ZE/vmmon-only/linux/driver.o
  CC [M]  /tmp/modconfig-jnh2ZE/vmmon-only/linux/hostif.o
  CC [M]  /tmp/modconfig-jnh2ZE/vmmon-only/common/memtrack.o
  CC [M]  /tmp/modconfig-jnh2ZE/vmmon-only/common/apic.o
  CC [M]  /tmp/modconfig-jnh2ZE/vmmon-only/common/hashFunc.o
/tmp/modconfig-jnh2ZE/vmmon-only/linux/driver.c:1291:1: 警告: always_inline function might not be inlinable [-Wattributes]
 LinuxDriverSyncReadTSCs(uint64 *delta) // OUT: TSC max - TSC min
 ^
  CC [M]  /tmp/modconfig-jnh2ZE/vmmon-only/common/vmx86.o
  CC [M]  /tmp/modconfig-jnh2ZE/vmmon-only/common/cpuid.o
  CC [M]  /tmp/modconfig-jnh2ZE/vmmon-only/common/task.o
  CC [M]  /tmp/modconfig-jnh2ZE/vmmon-only/common/comport.o
  CC [M]  /tmp/modconfig-jnh2ZE/vmmon-only/common/phystrack.o
/tmp/modconfig-jnh2ZE/vmmon-only/common/phystrack.o: warning: objtool: PhysTrack_Free() falls through to next function PhysTrack_Add()
/tmp/modconfig-jnh2ZE/vmmon-only/common/phystrack.o: warning: objtool: PhysTrack_Add() falls through to next function PhysTrack_Remove()
/tmp/modconfig-jnh2ZE/vmmon-only/common/phystrack.o: warning: objtool: PhysTrack_Remove() falls through to next function PhysTrack_Test()
  CC [M]  /tmp/modconfig-jnh2ZE/vmmon-only/vmcore/moduleloop.o
/tmp/modconfig-jnh2ZE/vmmon-only/common/task.o: warning: objtool: .text: unexpected end of section
  LD [M]  /tmp/modconfig-jnh2ZE/vmmon-only/vmmon.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /tmp/modconfig-jnh2ZE/vmmon-only/vmmon.mod.o
  LD [M]  /tmp/modconfig-jnh2ZE/vmmon-only/vmmon.ko
make[1]: ディレクトリ `/usr/src/kernels/3.10.0-693.2.2.el7.x86_64' から出ます
/bin/make -C $PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= postbuild
make[1]: ディレクトリ `/tmp/modconfig-jnh2ZE/vmmon-only' に入ります
make[1]: `postbuild' は更新済みです
make[1]: ディレクトリ `/tmp/modconfig-jnh2ZE/vmmon-only' から出ます
cp -f vmmon.ko ./../vmmon.o
make: ディレクトリ `/tmp/modconfig-jnh2ZE/vmmon-only' から出ます
Using kernel build system.
make: ディレクトリ `/tmp/modconfig-jnh2ZE/vmnet-only' に入ります
/bin/make -C /lib/modules/3.10.0-693.2.2.el7.x86_64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[1]: ディレクトリ `/usr/src/kernels/3.10.0-693.2.2.el7.x86_64' に入ります
  CC [M]  /tmp/modconfig-jnh2ZE/vmnet-only/driver.o
  CC [M]  /tmp/modconfig-jnh2ZE/vmnet-only/hub.o
  CC [M]  /tmp/modconfig-jnh2ZE/vmnet-only/userif.o
  CC [M]  /tmp/modconfig-jnh2ZE/vmnet-only/netif.o
In file included from include/linux/pci.h:35:0,
                 from /tmp/modconfig-jnh2ZE/vmnet-only/compat_netdevice.h:27,
                 from /tmp/modconfig-jnh2ZE/vmnet-only/netif.c:43:
include/linux/pci_ids.h:2251:0: 警告: "PCI_VENDOR_ID_VMWARE" が再定義されました [デフォルトで有効]
 #define PCI_VENDOR_ID_VMWARE  0x15ad
 ^
In file included from /tmp/modconfig-jnh2ZE/vmnet-only/net.h:38:0,
                 from /tmp/modconfig-jnh2ZE/vmnet-only/vnetInt.h:26,
                 from /tmp/modconfig-jnh2ZE/vmnet-only/netif.c:42:
/tmp/modconfig-jnh2ZE/vmnet-only/vm_device_version.h:56:0: 備考: ここが以前の宣言がある位置です
 #define PCI_VENDOR_ID_VMWARE                    0x15AD
 ^
  CC [M]  /tmp/modconfig-jnh2ZE/vmnet-only/bridge.o
  CC [M]  /tmp/modconfig-jnh2ZE/vmnet-only/procfs.o
  CC [M]  /tmp/modconfig-jnh2ZE/vmnet-only/smac_compat.o
  CC [M]  /tmp/modconfig-jnh2ZE/vmnet-only/smac.o
In file included from /tmp/modconfig-jnh2ZE/vmnet-only/net.h:38:0,
                 from /tmp/modconfig-jnh2ZE/vmnet-only/vnetInt.h:26,
                 from /tmp/modconfig-jnh2ZE/vmnet-only/bridge.c:52:
/tmp/modconfig-jnh2ZE/vmnet-only/vm_device_version.h:56:0: 警告: "PCI_VENDOR_ID_VMWARE" が再定義されました [デフォルトで有効]
 #define PCI_VENDOR_ID_VMWARE                    0x15AD
 ^
In file included from include/linux/pci.h:35:0,
                 from /tmp/modconfig-jnh2ZE/vmnet-only/compat_netdevice.h:27,
                 from /tmp/modconfig-jnh2ZE/vmnet-only/bridge.c:51:
include/linux/pci_ids.h:2251:0: 備考: ここが以前の宣言がある位置です
 #define PCI_VENDOR_ID_VMWARE  0x15ad
 ^
  CC [M]  /tmp/modconfig-jnh2ZE/vmnet-only/vnetEvent.o
  CC [M]  /tmp/modconfig-jnh2ZE/vmnet-only/vnetUserListener.o
  LD [M]  /tmp/modconfig-jnh2ZE/vmnet-only/vmnet.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /tmp/modconfig-jnh2ZE/vmnet-only/vmnet.mod.o
  LD [M]  /tmp/modconfig-jnh2ZE/vmnet-only/vmnet.ko
make[1]: ディレクトリ `/usr/src/kernels/3.10.0-693.2.2.el7.x86_64' から出ます
/bin/make -C $PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= postbuild
make[1]: ディレクトリ `/tmp/modconfig-jnh2ZE/vmnet-only' に入ります
make[1]: `postbuild' は更新済みです
make[1]: ディレクトリ `/tmp/modconfig-jnh2ZE/vmnet-only' から出ます
cp -f vmnet.ko ./../vmnet.o
make: ディレクトリ `/tmp/modconfig-jnh2ZE/vmnet-only' から出ます
Starting vmware (via systemctl):                           [  OK  ]
 ← vmwareが起動

vmwareの起動確認

(1)VMware Workstation Player が本当に起動しているのか確認するため、赤枠1の「アプリケーション」をクリックし、表示される一覧から「システムツール」をクリックし、さらに表示される一覧から赤枠3の「VMware Player」をクリック。

(2)インストール済みの仮想OSが表示されたら赤枠をクリック。

(3)仮想OSが起動したら成功です。

以上です。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です