インストール - VMware Workstation(Linux)

提供:MochiuWiki - SUSE, Electronic Circuit, PCB
ナビゲーションに移動 検索に移動

概要

VMware Workstationは、幅広いOSのサポート、優れたユーザ使用環境、包括的な機能セット、優れたパフォーマンスによって仮想化を次のレベルに推進する。
その中でも、VMware Workstation Proは、業務で仮想マシンを使用するプロフェッショナル向けに設計されている。

VMware Workstation Proを実行するには、64ビットのプロセッサと64ビットのホストOSが必要である。


依存関係のライブラリのインストール

VMware Workstationの起動に必要な依存関係のライブラリをインストールする。

# SLE
sudo zypper install kernel-default-extra kernel-default-optional open-vm-tools open-vm-tools-desktop \
                    sle-module-certifications-release insserv-compat

# openSUSE
sudo zypper install kernel-default-extra kernel-default-optional open-vm-tools open-vm-tools-desktop \
                    dwarves libdwarves1 libelf-devel kernel-default-devel kernel-devel kernel-macros \
                    openSUSE-signkey-cert pesign insserv-compat  mozilla-nss-tools



VMware Workstationのインストール

VMwareの公式WebサイトからVMware Workstationをダウンロードする。

VMware Workstationインストーラを実行する。
各オプションの詳細を確認する場合は、--helpオプションを付加する。

chmod u+x ./VMware-Workstation-<バージョン名およびビルド名>.<アーキテクチャ名>.bundle
sudo ./VMware-Workstation-<バージョン名およびビルド名>.<アーキテクチャ名>.bundle --<オプション> \
     --prefix=<VMware Workstationのインストールディレクトリ>  # インストールディレクトリを指定する場合


Open Virtualization Format(OVF)Tool のライセンス契約に同意する。
--consoleオプションを付加する場合、または、CUIのLinuxにインストールする場合は、
[Enter]キーを押下してスクロールしながらライセンス契約を読むか、qを入力してyes/noプロンプトにスキップする。

VMware Workstationがインストールされると、Linux PCでvmware-workstation-serverが起動する。
Linux PCを再起動すると、vmware-workstation-serverが起動する。

※注意
もし、VMware Workstationの起動後にUnable to install all module〜とメッセージが出力される場合は、
以下のパッチをインストールすることにより、VMware Workstationを起動することができる。

  1. 以下に示すWebサイトからパッチファイルをダウンロードする。

  2. パッチファイルを解凍して、解凍したディレクトリに移動する。
    tar xf workstation-x.x.x.tar.gz
    cd vmware-host-modules-workstation-x.x.x

  3. 以下のディレクトリを圧縮する。
    tar -cf vmmon.tar vmmon-only; tar -cf vmnet.tar vmnet-only

  4. 圧縮したディレクトリを、/usr/lib/vmware/modules/sourceディレクトリにコピーする。
    sudo cp -v vmmon.tar vmnet.tar /usr/lib/vmware/modules/source

  5. 以下のコマンドを実行する。
    sudo vmware-modconfig --console --install-all



VMware Workstationのアンインストール

VMware WorkstationをLinux PCからアンインストールするには、以下のコマンドを実行する。
使用するコマンドは、Linuxディストリビューションおよび構成によって異なる。

sudo vmware-installer -u vmware-workstation


次に、VMware Workstationの設定ファイルも削除する場合は"y"または"yes"、設定ファイルを残す場合は"n"または"no"を入力する。
アンインストールを取り消す場合は、"q"を入力する。


VMware Workstationの個別アンインストール

まず、インストールされているVMware Workstationの一覧を表示する。
なお、ここでは、VMware Workstation Pro 15がインストールされているものとする。

sudo ./VMware-Workstation-Full-15.5.2-15785246.x86_64.bundle -l    

Extracting VMware Installer...done.
Product Name         Product Version     
==================== ====================
vmware-workstation   15.5.2.15785246


VMware Workstationをアンインストールする。

sudo ./VMware-Workstation-Full-15.5.2-15785246.x86_64.bundle --uninstall-component=vmware-workstation

Extracting VMware Installer...done.



Open VM Toolsのインストール

Open VM Toolsとは、VMware ToolsのLinuxゲストOS用オープンソース実装であり、仮想マシンを最適化するためのツールである。
VMwareは、Open VM Toolsの利用が推奨している。

パッケージ管理システムからインストール

sudo zypper install libvmtools0 libxmlsec1-openssl1 open-vm-tools open-vm-tools-desktop


Open VM Toolsを起動する。

sudo systemctl start vmtoolsd


Open VM Toolsを自動起動する。

sudo systemctl enable vmtoolsd


ソースコードからインストール

ビルドに必要なライブラリをインストールする。

sudo zypper install gtkmm3-devel libmspack-devel libxml2-devel xmlsec1-devel libtirpc-devel rpcgen doxygen


Open VM ToolsのGithubにアクセスして、ソースコードをダウンロードする。
ダウンロードしたファイルを解凍する。

tar xf open-vm-tools-<バージョン>.tar.gz
cd open-vm-tools-<バージョン>


Open VM Toolsをビルドおよびインストールする。

autoreconf -i  # Githubからクローンしている場合

mkdir build && cd build

../configure --prefix=<Open VM Toolsのインストールディレクトリ> --enable-servicediscovery --enable-salt-minion
make -j $(nproc)
sudo make install  # /etc/vmware-tools/vgauth/schemasディレクトリに設定ファイルをインストールするため、スーパーユーザ権限が必要


~/.profileファイル等に環境変数を追記する。

vi ~/.profile


 # .profileファイル
 
 export PATH="/<Open VM Toolsのインストールディレクトリ>/bin:$PATH"
 export LD_LIBRARY_PATH="/<Open VM Toolsのインストールディレクトリ>/lib64:$LD_LIBRARY_PATH"


  • Saltとは
    Salt Projectは、イベント駆動型のIT自動化、リモートタスクの実行、構成管理を行うためのPythonベースのオープンソースソフトウェアである。

    Saltでは、salt-minionをゲストに展開する必要がある。
    Salt固有のゲスト変数はホスト側で仮想マシンごとに設定され、その後ゲスト内のVMware Toolsによって読み取られる。
    次に、VMware Toolsは、saltバンドルをダウンロードして、ゲスト内でsalt-minionインスタンスを起動する。

    Saltの詳細については、[Saltユーザガイド https://docs.saltproject.io/salt/user-guide/en/latest/topics/overview.html]を参照すること。

  • Saltミニオンとは
    Linux上のSaltサポートは、仮想マシン上でSaltミニオンをセットアップするための1つのbashスクリプトで構成されている。
    このスクリプトを実行するには、システム上でcurlコマンドとawkコマンドが使用できる環境が必要となる。

    open-vm-toolsパッケージを提供しているLinuxディレクトリビューションは、Saltミニオンサポートを別のオプションパッケージ(open-vm-tools-salt-minion)で提供することを推奨する。

    open-vm-toolsビルドにSaltミニオンセットアップを含めるには、--enable-salt-minionオプションを付加してビルドする。

  • サービスディスカバリー(sdmp)プラグインとは
    オプションのsdmpプラグインを構築するには、--enable-servicediscoveryオプションを付加してビルドする。



VMwareモジュールの署名 (セキュアブートが有効の場合)

セキュアブートが有効な場合、VMwareモジュールであるVMmonおよびVMnetを署名に登録する必要がある。

VMwareモジュールの署名 (初めて署名する場合)

署名を登録する手順を以下に示す。

  1. キーペアを作成する。
    openssl req -new -x509 -newkey rsa:2048 -keyout VMware.priv -outform DER -out VMware.der -nodes -days 36500 -subj "/CN=VMware/" \
    -addext "extendedKeyUsage=codeSigning"

  2. VMwareモジュール(VMmonおよびVMnet)を署名する。
    sudo /lib/modules/$(uname -r)/build/scripts/sign-file sha256 ./VMware.priv ./VMware.der $(/sbin/modinfo -n vmmon)
    sudo /lib/modules/$(uname -r)/build/scripts/sign-file sha256 ./VMware.priv ./VMware.der $(/sbin/modinfo -n vmnet)

  3. MOK(Module owned Key)にキーをインポートする。
    --root-pwオプションを付加することにより、再起動時のVMwareモジュールの署名において、rootパスワードが必要となる。
    sudo mokutil --import ./VMware.der --root-pw

  4. PCを再起動して、VMwareモジュールの署名を登録する。
    sudo systemctl reboot

  5. VMwareモジュールが正しく読み込まれているかどうかを確認する。
    正常に読み込まれている場合は、"VMware.der is already enrolled"と表示される。
    cd <VMwareモジュールの署名ファイルが存在するディレクトリ>
    sudo mokutil --test-key ./VMware.der


この作業は1度だけ必要となることに注意する。
作成したキーは信頼されるため、キーを適切に保存する必要がある。
このキーで署名されたものはシステムから信頼されるため、セキュリティリスクとなる可能性があることに注意する。

キーのパスワードを追加することもできる。

cd <VMwareモジュールの署名ファイルが存在するディレクトリ>
openssl rsa -des3 -in ./VMware.priv -out ./VMware.priv


キーのパスワードの削除もできる。

cd <VMwareモジュールの署名ファイルが存在するディレクトリ>
openssl rsa -in ./VMware.priv -out ./VMware.priv


VMwareモジュールの署名の削除

VMwareモジュールの署名を削除する場合、以下のコマンドを実行して再起動する。
--root-pwオプションを付加することにより、再起動時のVMwareモジュールの署名の削除において、rootパスワードが必要となる。

cd <VMwareモジュールの署名ファイルが存在するディレクトリ>
sudo mokutil --delete ./VMware.der --root-pw
sudo systemctl reboot


VMwareモジュールの再署名

Linuxカーネルをアップデートした場合、VMwareモジュールを再署名する必要がある。

  1. まず、VMware Workstationを起動する。
    この時、自動的にVMmonモジュールとVMnetモジュールがアップデートされたカーネル用に再構築される。

  2. VMwareモジュールの署名を削除する。
    cd <VMwareモジュールの署名ファイルが存在するディレクトリ>
    sudo mokutil --delete ./VMware.der --root-pw

  3. PCを再起動する。
    sudo systemctl reboot

  4. VMmonモジュールとVMnetモジュールの署名を登録する。
    sudo /lib/modules/$(uname -r)/build/scripts/sign-file sha256 ./VMware.priv ./VMware.der $(/sbin/modinfo -n vmmon)
    sudo /lib/modules/$(uname -r)/build/scripts/sign-file sha256 ./VMware.priv ./VMware.der $(/sbin/modinfo -n vmnet)

  5. MOK(Module owned Key)にキーをインポートする。
    cd <VMwareモジュールの署名ファイルが存在するディレクトリ>
    sudo mokutil --import ./VMware.der --root-pw

  6. PCを再起動して、VMwareモジュールの署名を再登録する。
    sudo systemctl reboot

  7. VMwareモジュールが正しく読み込まれているかどうかを確認する。
    正常に読み込まれている場合は、"VMware.der is already enrolled"と表示される。
    cd <VMwareモジュールの署名ファイルが存在するディレクトリ>
    sudo mokutil --test-key ./VMware.der



メディアからブートをする方法

仮想マシンのブート順序は、メディアよりもストレージの方が優先順位が高いため、仮想マシンの開始するとOSが起動する。

既にOSがインストール済みの仮想環境において、USBメモリやイメージファイルからブートする手順を、以下に示す。

方法 1

メディアからブートする場合、 仮想マシン開始直後に表示される"VMware"のロゴの画面で[Esc]キーを押下する。

※注意
[Esc]キーを連打してはならない。
これは、VMwareのブートメニューが[Esc]キーを押下することにより、キャンセルされるためである。

方法 2

メディアからブートする場合、 仮想マシン開始直後に表示される"VMware"のロゴの画面で[F2]キーを押下して、BIOS/UEFI画面に移動する。

BIOS設定画面から、[Boot]タブ - [Removable Devices]または[CD-ROM Drive]の起動順序を上部に変更する。
[Exit]タブ - [Exit Savaing Changes]を選択する。


ゲストOSのUEFIブート

ゲストOSの保存ディレクトリにある.vmxファイルに、以下に示す内容を追記する。

firmware = "efi"


※注意
UEFIブートを行う場合、ゲストOSのインストール時において、光学式ドライブの認識に時間が掛かる場合がある。


注意

OS共通

仮想マシンが遅い場合の対処

仮想マシンのイメージが存在するディレクトリにアクセスして、.vmxファイルをテキストエディタで開く。
.vmxファイルの末尾に、以下の設定を追記する。

MemTrimRate = "0"
mainMem.useNamedFile= "FALSE"
sched.mem.pshare.enable = "FALSE"
prefvmx.useRecommendedLockedMemSize = "TRUE"
MemAllowAutoScaleDown = "FALSE"


下表に、各パラメータの意味を記載する。

パラメータ 意味
MemTrimRate = "0" 物理メモリ解放を抑制する。
mainMem.useNamedFile= "FALSE" メモリをファイルではなく、実メモリを使用する。
sched.mem.pshare.enable = "FALSE" ページ共有機能を無効化する。
prefvmx.useRecommendedLockedMemSize = "TRUE" メモリ容量の可変化を行わない。
MemAllowAutoScaleDown = "FALSE" メモリサイズの自動調節を行わない。


Windows XP

ゲストOSとしてWindows XPをインストールした場合、画面が表示されない(ブラックアウトになる)ことがある。(起動プロセスは表示される)

この時、ゲストOSの設定画面にて、[Hardware]タブ - [Display] - [3D Graphics]項目 - [Accelerate 3D Graphics]チェックボックスのチェックを外す。
再度、ゲストOSのWindows XPを起動して、正常に画面が表示されるか確認する。

Windows 7

Windows Updateエラー

Windows Updateにおいて、80072EFEエラーが出力されてアップデートできない場合がある。
これは、ダウンロード先の署名が切れているためである。

Microsoftの公式Webサイトにアクセスして、以下に示すアップデートファイルをダウンロードしてインストールする必要がある。
以下のURLでは、Windows 7 x64向けであることに注意する。


次に、上記のファイルを1つのディレクトリにコピーする。
そのディレクトリをイメージファイル(iso拡張子)に変換する。

mkisofs -o <変換先のイメージファイル名>.iso <変換元のディレクトリ名>


生成されたイメージファイルを、VMware WorkstationにあるゲストOSにマウントする。

Windows 10へのアップグレードエラー

また、Windows 7でライセンス認証を行ったにも関わらず、Windows 10へアップグレードする際に、プロダクトキーが見つかりませんと表示される場合は、フロッピーディスクの接続を無効化して起動する。

共有ディレクトリにアクセスできない場合

共有ディレクトリにアクセスできない場合、使用しているゲストOS向けのVMware toolsを、VMwareの公式Webサイトからダウンロードしてインストールする。
なお、初期設定では、\\vmware-host\Shared Folders\<共有ディレクトリ名>、または、Z:\<共有ディレクトリ名>が共有ディレクトリのパスとなる。

CentOS

ゲストOSとしてCentOS等をインストールした場合、解像度の問題により、インストール画面の右側が切れる時がある。
これを解決するには、ブート画面にて解像度を指定することで、この現象を回避することができる。

まず、ブート画面において、[TAB]キーを押下する。
この時、ブート画面下にブートの設定が表示されるので、以下の赤字に示すように解像度を指定する。

vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOSx207x20x86_64 rd.live.check quiet resolution=1360x768


resolutionで設定できる解像度は、以下の通りである。
下表以外の解像度も設定できるが、設定に失敗した場合は、自動的に800x600になる。

解像度 規格 比率
640x480 VGA 4 : 3
800x600 SVGA 4 : 3
1024x768 XGA 4 : 3
1280x720 HD(720p) 16 : 9
1280x800 WXGA 15 : 9
1280x960 QVGA 4 : 3
1280x1024 SXGA 5 : 4
1360x768 HD 16 : 9
1400x1050 SXGA+ 4 : 3
1600x1200 UXGA 4 : 3
1680x1050 WSXGA+ 16 : 10
1920x1080 FHD 16 : 9
1920x1200 WUXGA 16 : 10


SUSE / Debian

共有ディレクトリ

VMwareの共有ディレクトリ機能は、FUSEファイルシステムとして、異なる方法で実装されている。
ここでは、ホストOSおよびゲストOSとしてSUSEで実行されるVMwareの共有ディレクトリを設定する手順について記載する。
なお、共有ディレクトリ名をCommon、マウント用ディレクトリ名を/mnt/hgfsとする。

VMwareの共有ディレクトリをマウントするためのディレクトリを作成する。

sudo mkdir /mnt/hgfs


次のコマンドを実行して、使用可能な共有ディレクトリ名を確認する。

sudo vmware-hgfsclient


全てのユーザが共有ディレクトリにアクセスするには、allow_otherオプションを付加して、以下のコマンドを実行してマウントする。

# SUSE
sudo vmhgfs-fuse -o allow_other .host:/Common /mnt/hgfs

# Debian
sudo /usr/bin/vmhgfs-fuse .host:/Common /mnt/hgfs -o subtype=vmhgfs-fuse,allow_other


FUSEツールを使用して、共有ディレクトリをアンマウントする。

sudo fusermount -u /mnt/hgfs


※注意
FUSEファイルシステムがビジー状態の場合、アンマウント出来ない可能性がある。
残念ながら、アンマウントを妨げているプロセスを正確に追跡するための方法が無いため、次のように標準のumountコマンドを使用する。
(コマンドが有効になるまで時間が掛かる場合がある)

sudo umount -f /mnt/hgfs


KDE

KDE Plasmaを使用している場合、強制的に画面の解像度が800x600に固定される。
任意の解像度に変更する場合、以下の手順を行う。

まず、KDEシステム設定を起動して、[ワークスペース] - [起動と終了] - 画面左の[Background Service] - 画面右下の[起動時に開始するサービス]から、
[KScreen 2]チェックボックスのチェックを外す。

次に、以下のシェルスクリプトを作成する。
ここでは、~/InstallSoftware/Displayディレクトリに作成している。

mkdir -p ~/InstallSoftware/Display
vi ~/InstallSoftware/Display/Display.sh


 # ~/InstallSoftware/Display/Display.shファイル
 
 #!/usr/bin/env sh
 
 xrandr --output Virtual1 --mode 2560x1600  # WQXGA解像度に設定する場合


上記で作成したシェルスクリプトに実行権限を付加する。

chmod u+x ~/InstallSoftware/Display/Display.sh


最後に、KDEシステム設定を起動して、[ワークスペース] - [起動と終了] - 画面左の[自動起動] - 画面右下の[スクリプトを追加...]ボタンを押下して、
上記で作成したシェルスクリプトを選択する。