カテゴリー
Computer Linux

Fedora 26でVMware Workstationを利用する方法

(Last Updated On: 2017/12/26)

Fedora 26でVMware Workstation Pro 12を使うことは可能です。可能ですが、少し手間が必要です。

追記: 2017/12現在、Fedora 27 + VMwareWorkstaion Pro 14を利用しています。この組み合わせの場合、普通にインストールするだけで利用できます。

インストール

VMware Workstation Proの評価版はここからダウンロードできます。(私はライセンス版を使っています)

インストール自体には問題ないはずです。カーネルモジュールのインストールを除けば。

環境

  • OS: Fedora 26 x86_64
  • VMware Workstation Pro 12.5.7

 

カーネルモジュールのインストール

どうもgccのバージョンを正しく識別できないことが原因でカーネルモジュールのビルドができません。1しかし、モジュールのコンパイル自体は問題なく行え、利用もできます。手動でビルドしてインストールすればVMware Workstationが動作します。

カーネルモジュールのディレクトリに移動し、コンパイルしてモジュールを配置します。

まずカーネルバージョンを確認します。

# uname -r
4.12.13-300.fc26.x86_64

カーネルバージョンはモジュールのコピー先にディレクトリに必要です。カーネルモジュールのビルドに必要なパッケージは全てインストールされているとします。

# cd /usr/lib/vmware/modules/source/
# tar xf vmmon.tar
# cd vmmon-only
# make clean
# make
# cp *.ko /lib/modules/<your_kenerl_version>/misc/
# cd ..
# tar xf vmnet.tar
# cd vmnet-only 
# make clean
# make
# cp *.ko /lib/modules/<your_kenerl_version>/misc/ 
# depmod -a
# systemctl restart vmware

これでカーネルモジュールのインストールは完了です。

カーネルモジュールのビルドとインストールはカーネルが更新される度に必要です。

 

追加で必要な設定

ライブラリが新しすぎる為に動作に問題が発生します。VMware Workstationと一緒に配布されているライブラリを使う必要があります。以下の設定を~/.bash_profileなどに追加します。

export VMWARE_USE_SHIPPED_LIBS=force

またバンドルされているライブラリが足りない為、以下の要領で不足分を追加します。

cd /usr/lib/vmware/lib
cp -afv /usr/lib64/libgio-2.0.so.0.5200.3 libglib-2.0.so.0/libglib-2.0.so.0
cp -afv /usr/lib64/libglib-2.0.so.0.5200.3 libglib-2.0.so.0/libglib-2.0.so.0
cp -afv /usr/lib64/libgmodule-2.0.so.0.5200.3 libgmodule-2.0.so.0/libgmodule-2.0.so.0
cp -afv /usr/lib64/libgobject-2.0.so.0.5200.3 libgobject-2.0.so.0/libgobject-2.0.so.0
cp -afv /usr/lib64/libgthread-2.0.so.0.5200.3 libgthread-2.0.so.0/libgthread-2.0.so.0

ライブラリのバージョンはFedoraのバージョンアップで変る場合があります。大抵は最新版で問題ありません。足りないモノがある場合、起動しません。その場合、straceでチェックすると足りないライブラリが何れか判ります。

これでリブート後にvmwareアイコンをクリックするか、/usr/bin/vmware.binでVMware Workstationが起動するはずです。

 


  1. gccバージョン文字列のパースに問題があるようだったので、単純にgccバージョン文字列を入れ替えてみました。それだけだと上手くコンパイルできないようです。モジュールを手動でコンパイルしてみると上手くいったので手動でコンパイル&インストールしています。