「インストール - VMware Workstation(Linux)」の版間の差分

提供:MochiuWiki - SUSE, Electronic Circuit, PCB
ナビゲーションに移動 検索に移動
 
(同じ利用者による、間の38版が非表示)
4行目: 4行目:
<br>
<br>
VMware Workstation Proを実行するには、64ビットのプロセッサと64ビットのホストOSが必要である。<br>
VMware Workstation Proを実行するには、64ビットのプロセッサと64ビットのホストOSが必要である。<br>
<br><br>
== 依存関係のライブラリのインストール ==
VMware Workstationの起動に必要な依存関係のライブラリをインストールする。<br>
# 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
<br><br>
<br><br>


11行目: 23行目:
VMware Workstationインストーラを実行する。<br>
VMware Workstationインストーラを実行する。<br>
各オプションの詳細を確認する場合は、<code>--help</code>オプションを付加する。<br>
各オプションの詳細を確認する場合は、<code>--help</code>オプションを付加する。<br>
  sudo sh VMware-Workstation-<バージョン名およびビルド名>.<アーキテクチャ名>.bundle --<オプション>
chmod u+x ./VMware-Workstation-<バージョン名およびビルド名>.<アーキテクチャ名>.bundle
  sudo ./VMware-Workstation-<バージョン名およびビルド名>.<アーキテクチャ名>.bundle --<オプション> \
      --prefix=<VMware Workstationのインストールディレクトリ>  # インストールディレクトリを指定する場合
<br>
<br>
Open Virtualization Format(OVF)Tool のライセンス契約に同意する。<br>
Open Virtualization Format(OVF)Tool のライセンス契約に同意する。<br>
<code>--console</code>オプションを付加する場合、または、CUIのLinuxにインストールする場合は、<br>
<code>--console</code>オプションを付加する場合、または、CUIのLinuxにインストールする場合は、<br>
[Enter]キーを押下してスクロールしながらライセンス契約を読むか、<code>q</code>を入力して[[yes/no]]プロンプトにスキップする。<br>
[Enter]キーを押下してスクロールしながらライセンス契約を読むか、<code>q</code>を入力して<code>yes/no</code>プロンプトにスキップする。<br>
<br>
<br>
VMware Workstationがインストールされると、Linux PCでvmware-workstation-serverが起動する。<br>
VMware Workstationがインストールされると、Linux PCでvmware-workstation-serverが起動する。<br>
24行目: 38行目:
<u>以下のパッチをインストールすることにより、VMware Workstationを起動することができる。</u><br>
<u>以下のパッチをインストールすることにより、VMware Workstationを起動することができる。</u><br>
# 以下に示すWebサイトからパッチファイルをダウンロードする。
# 以下に示すWebサイトからパッチファイルをダウンロードする。
#: VMware Workstation 15.5.5を使用している場合 : https://github.com/mkubecek/vmware-host-modules/archive/workstation-15.5.5.tar.gz
#* VMware Workstation 15.5.5を使用している場合
#: VMware Workstation 16.0.0を使用している場合 : https://github.com/mkubecek/vmware-host-modules/archive/workstation-16.0.0.tar.gz
#*: https://github.com/mkubecek/vmware-host-modules/archive/workstation-15.5.5.tar.gz
#* VMware Workstation 16.0.0を使用している場合
#*: https://github.com/mkubecek/vmware-host-modules/archive/workstation-16.0.0.tar.gz
#* VMware Workstation 16.2.0以降を使用している場合
#*: https://github.com/mkubecek/vmware-host-modules/archive/refs/tags/w<VMwareのバージョン>-k<Linuxカーネルのバージョン>.tar.gz
#*: 例. Linuxカーネル 5.3かつVMware Workstation 16.2.3の場合 : https://github.com/mkubecek/vmware-host-modules/archive/refs/tags/w16.2.3-k5.3.tar.gz
#: <br>
#: <br>
# パッチファイルを解凍して、解凍したディレクトリに移動する。
# パッチファイルを解凍して、解凍したディレクトリに移動する。
32行目: 51行目:
#: <br>
#: <br>
# 以下のディレクトリを圧縮する。
# 以下のディレクトリを圧縮する。
#: <code>tar -cf vmmon.tar vmmon-only</code>
#: <code>tar -cf vmmon.tar vmmon-only; tar -cf vmnet.tar vmnet-only</code>
#: <code>tar -cf vmnet.tar vmnet-only</code>
#: <br>
#: <br>
# 圧縮したディレクトリを、/usr/lib/vmware/modules/sourceディレクトリにコピーする。
# 圧縮したディレクトリを、/usr/lib/vmware/modules/sourceディレクトリにコピーする。
67行目: 85行目:
<br><br>
<br><br>


== 注意点 ==
== Open VM Toolsのインストール ==
Open VM Toolsとは、VMware ToolsのLinuxゲストOS用オープンソース実装であり、仮想マシンを最適化するためのツールである。<br>
VMwareは、Open VM Toolsの利用が推奨している。<br>
<br>
==== パッケージ管理システムからインストール ====
sudo zypper install libvmtools0 libxmlsec1-openssl1 open-vm-tools open-vm-tools-desktop
<br>
Open VM Toolsを起動する。<br>
sudo systemctl start vmtoolsd
<br>
Open VM Toolsを自動起動する。<br>
sudo systemctl enable vmtoolsd
<br>
==== ソースコードからインストール ====
ビルドに必要なライブラリをインストールする。<br>
sudo zypper install gtkmm3-devel libmspack-devel libxml2-devel xmlsec1-devel libtirpc-devel rpcgen doxygen
<br>
[https://github.com/vmware/open-vm-tools Open VM ToolsのGithub]にアクセスして、ソースコードをダウンロードする。<br>
ダウンロードしたファイルを解凍する。<br>
tar xf open-vm-tools-<バージョン>.tar.gz
cd open-vm-tools-<バージョン>
<br>
Open VM Toolsをビルドおよびインストールする。<br>
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ディレクトリに設定ファイルをインストールするため、スーパーユーザ権限が必要
<br>
~/.profileファイル等に環境変数を追記する。<br>
vi ~/.profile
<br>
<syntaxhighlight lang="bash">
# .profileファイル
export PATH="/<Open VM Toolsのインストールディレクトリ>/bin:$PATH"
export LD_LIBRARY_PATH="/<Open VM Toolsのインストールディレクトリ>/lib64:$LD_LIBRARY_PATH"
</syntaxhighlight>
<br>
* Saltとは
*: Salt Projectは、イベント駆動型のIT自動化、リモートタスクの実行、構成管理を行うためのPythonベースのオープンソースソフトウェアである。
*: <br>
*: Saltでは、salt-minionをゲストに展開する必要がある。
*: Salt固有のゲスト変数はホスト側で仮想マシンごとに設定され、その後ゲスト内のVMware Toolsによって読み取られる。
*: 次に、VMware Toolsは、saltバンドルをダウンロードして、ゲスト内でsalt-minionインスタンスを起動する。
*: <br>
*: Saltの詳細については、[Saltユーザガイド https://docs.saltproject.io/salt/user-guide/en/latest/topics/overview.html]を参照すること。
*: <br>
* Saltミニオンとは
*: Linux上のSaltサポートは、仮想マシン上でSaltミニオンをセットアップするための1つのbashスクリプトで構成されている。
*: このスクリプトを実行するには、システム上で<code>curl</code>コマンドと<code>awk</code>コマンドが使用できる環境が必要となる。
*: <br>
*: open-vm-toolsパッケージを提供しているLinuxディレクトリビューションは、Saltミニオンサポートを別のオプションパッケージ(open-vm-tools-salt-minion)で提供することを推奨する。
*: <br>
*: open-vm-toolsビルドにSaltミニオンセットアップを含めるには、<code>--enable-salt-minion</code>オプションを付加してビルドする。
*: <br>
* サービスディスカバリー(sdmp)プラグインとは
*: オプションのsdmpプラグインを構築するには、<code>--enable-servicediscovery</code>オプションを付加してビルドする。<br>
<br><br>
 
== VMwareモジュールの署名 (セキュアブートが有効の場合) ==
セキュアブートが有効な場合、VMwareモジュールであるVMmonおよびVMnetを署名に登録する必要がある。<br>
<br>
==== VMwareモジュールの署名 (初めて署名する場合) ====
署名を登録する手順を以下に示す。<br>
# キーペアを作成する。
#: <code>openssl req -new -x509 -newkey rsa:2048 -keyout VMware.priv -outform DER -out VMware.der -nodes -days 36500 -subj "/CN=VMware/" \</code>
#: <code>-addext "extendedKeyUsage=codeSigning"</code>
#: <br>
# VMwareモジュール(VMmonおよびVMnet)を署名する。
#: <code>sudo /lib/modules/$(uname -r)/build/scripts/sign-file sha256 ./VMware.priv ./VMware.der $(/sbin/modinfo -n vmmon)</code>
#: <code>sudo /lib/modules/$(uname -r)/build/scripts/sign-file sha256 ./VMware.priv ./VMware.der $(/sbin/modinfo -n vmnet)</code>
#: <br>
# MOK(Module owned Key)にキーをインポートする。<br><code>--root-pw</code>オプションを付加することにより、再起動時のVMwareモジュールの署名において、rootパスワードが必要となる。
#: <code>sudo mokutil --import ./VMware.der --root-pw</code>
#: <br>
# PCを再起動して、VMwareモジュールの署名を登録する。
#: <code>sudo systemctl reboot</code>
#: <br>
# VMwareモジュールが正しく読み込まれているかどうかを確認する。<br>正常に読み込まれている場合は、<u>"VMware.der is already enrolled"</u>と表示される。
#: <code>cd <VMwareモジュールの署名ファイルが存在するディレクトリ></code>
#: <code>sudo mokutil --test-key ./VMware.der</code>
<br>
この作業は1度だけ必要となることに注意する。<br>
作成したキーは信頼されるため、キーを適切に保存する必要がある。<br>
このキーで署名されたものはシステムから信頼されるため、セキュリティリスクとなる可能性があることに注意する。<br>
<br>
キーのパスワードを追加することもできる。<br>
cd <VMwareモジュールの署名ファイルが存在するディレクトリ>
openssl rsa -des3 -in ./VMware.priv -out ./VMware.priv
<br>
キーのパスワードの削除もできる。<br>
cd <VMwareモジュールの署名ファイルが存在するディレクトリ>
openssl rsa -in ./VMware.priv -out ./VMware.priv
<br>
==== VMwareモジュールの署名の削除 ====
VMwareモジュールの署名を削除する場合、以下のコマンドを実行して再起動する。<br>
<code>--root-pw</code>オプションを付加することにより、再起動時のVMwareモジュールの署名の削除において、rootパスワードが必要となる。<br>
cd <VMwareモジュールの署名ファイルが存在するディレクトリ>
sudo mokutil --delete ./VMware.der --root-pw
sudo systemctl reboot
<br>
==== VMwareモジュールの再署名 ====
Linuxカーネルをアップデートした場合、VMwareモジュールを再署名する必要がある。<br>
# まず、VMware Workstationを起動する。<br>この時、自動的にVMmonモジュールとVMnetモジュールがアップデートされたカーネル用に再構築される。
#: <br>
# VMwareモジュールの署名を削除する。
#: <code>cd <VMwareモジュールの署名ファイルが存在するディレクトリ></code>
#: <code>sudo mokutil --delete ./VMware.der --root-pw</code>
#: <br>
# PCを再起動する。
#: <code>sudo systemctl reboot</code>
#: <br>
# VMmonモジュールとVMnetモジュールの署名を登録する。
#: <code>sudo /lib/modules/$(uname -r)/build/scripts/sign-file sha256 ./VMware.priv ./VMware.der $(/sbin/modinfo -n vmmon)</code>
#: <code>sudo /lib/modules/$(uname -r)/build/scripts/sign-file sha256 ./VMware.priv ./VMware.der $(/sbin/modinfo -n vmnet)</code>
#: <br>
# MOK(Module owned Key)にキーをインポートする。
#: <code>cd <VMwareモジュールの署名ファイルが存在するディレクトリ></code>
#: <code>sudo mokutil --import ./VMware.der --root-pw</code>
#: <br>
# PCを再起動して、VMwareモジュールの署名を再登録する。
#: <code>sudo systemctl reboot</code>
#: <br>
# VMwareモジュールが正しく読み込まれているかどうかを確認する。<br>正常に読み込まれている場合は、"VMware.der is already enrolled"と表示される。
#: <code>cd <VMwareモジュールの署名ファイルが存在するディレクトリ></code>
#: <code>sudo mokutil --test-key ./VMware.der</code>
<br><br>
 
== メディアからブートをする方法 ==
仮想マシンのブート順序は、メディアよりもストレージの方が優先順位が高いため、仮想マシンの開始するとOSが起動する。<br>
<br>
既にOSがインストール済みの仮想環境において、USBメモリやイメージファイルからブートする手順を、以下に示す。<br>
<br>
==== 方法 1 ====
メディアからブートする場合、 仮想マシン開始直後に表示される"VMware"のロゴの画面で[Esc]キーを押下する。<br>
<br>
<u>※注意</u><br>
<u>[Esc]キーを連打してはならない。</u><br>
<u>これは、VMwareのブートメニューが[Esc]キーを押下することにより、キャンセルされるためである。</u><br>
<br>
==== 方法 2 ====
メディアからブートする場合、 仮想マシン開始直後に表示される"VMware"のロゴの画面で[F2]キーを押下して、BIOS/UEFI画面に移動する。<br>
<br>
BIOS設定画面から、[Boot]タブ - [Removable Devices]または[CD-ROM Drive]の起動順序を上部に変更する。<br>
[Exit]タブ - [Exit Savaing Changes]を選択する。<br>
<br><br>
 
== ゲストOSのUEFIブート ==
ゲストOSの保存ディレクトリにある.vmxファイルに、以下に示す内容を追記する。<br>
firmware = "efi"
<br>
<u>※注意</u><br>
<u>UEFIブートを行う場合、ゲストOSのインストール時において、光学式ドライブの認識に時間が掛かる場合がある。</u><br>
<br><br>
 
== 注意 ==
==== OS共通 ====
==== OS共通 ====
===== 仮想マシンが遅い場合の対処 =====
===== 仮想マシンが遅い場合の対処 =====
103行目: 279行目:
再度、ゲストOSのWindows XPを起動して、正常に画面が表示されるか確認する。<br>
再度、ゲストOSのWindows XPを起動して、正常に画面が表示されるか確認する。<br>
<br>
<br>
==== Windows 7 ====
===== Windows Updateエラー =====
Windows Updateにおいて、80072EFEエラーが出力されてアップデートできない場合がある。<br>
これは、ダウンロード先の署名が切れているためである。<br>
<br>
Microsoftの公式Webサイトにアクセスして、以下に示すアップデートファイルをダウンロードしてインストールする必要がある。<br>
以下のURLでは、Windows 7 x64向けであることに注意する。<br>
* Windows6.1-KB3138612-x64.msu
*: https://www.catalog.update.microsoft.com/Search.aspx?q=KB3138612
* windows6.1-kb2533552-x64_0ba5ac38d4e1c9588a1e53ad390d23c1e4ecd04d.msu
*: https://www.catalog.update.microsoft.com/Search.aspx?q=kb2533552
* windows6.1-kb3020369-x64_5393066469758e619f21731fc31ff2d109595445.msu
*: https://www.catalog.update.microsoft.com/Search.aspx?q=kb3020369
* windows6.1-kb3125574-v4-x64_2dafb1d203c8964239af3048b5dd4b1264cd93b9.msu
*: https://www.catalog.update.microsoft.com/Search.aspx?q=kb3125574
* windows6.1-kb976932-x64_74865ef2562006e51d7f9333b4a8d45b7a749dab.exe (SP1をインストールしていない場合のみ)
*: https://www.catalog.update.microsoft.com/Search.aspx?q=kb976932
<br>
次に、上記のファイルを1つのディレクトリにコピーする。<br>
そのディレクトリをイメージファイル(iso拡張子)に変換する。<br>
mkisofs -o <変換先のイメージファイル名>.iso <変換元のディレクトリ名>
<br>
生成されたイメージファイルを、VMware WorkstationにあるゲストOSにマウントする。<br>
<br>
===== Windows 10へのアップグレードエラー =====
また、Windows 7でライセンス認証を行ったにも関わらず、Windows 10へアップグレードする際に、プロダクトキーが見つかりませんと表示される場合は、フロッピーディスクの接続を無効化して起動する。<br>
<br>
===== 共有ディレクトリにアクセスできない場合 =====
共有ディレクトリにアクセスできない場合、使用しているゲストOS向けのVMware toolsを、[https://packages.vmware.com/tools/releases/ VMwareの公式Webサイト]からダウンロードしてインストールする。<br>
なお、初期設定では、<u>'''\\vmware-host\Shared Folders\<共有ディレクトリ名>'''</u>、または、<u>'''Z:\<共有ディレクトリ名>'''</u>が共有ディレクトリのパスとなる。<br>
<br>
==== CentOS ====
==== CentOS ====
ゲストOSとしてCentOS等をインストールした場合、解像度の問題により、インストール画面の右側が切れる時がある。<br>
ゲストOSとしてCentOS等をインストールした場合、解像度の問題により、インストール画面の右側が切れる時がある。<br>
146行目: 354行目:
</center>
</center>
<br>
<br>
==== SUSE ====
==== SUSE / Debian ====
===== 共有ディレクトリ =====
===== 共有ディレクトリ =====
VMwareの共有ディレクトリ機能は、FUSEファイルシステムとして、異なる方法で実装されている。<br>
VMwareの共有ディレクトリ機能は、FUSEファイルシステムとして、異なる方法で実装されている。<br>
159行目: 367行目:
<br>
<br>
全てのユーザが共有ディレクトリにアクセスするには、<code>allow_other</code>オプションを付加して、以下のコマンドを実行してマウントする。<br>
全てのユーザが共有ディレクトリにアクセスするには、<code>allow_other</code>オプションを付加して、以下のコマンドを実行してマウントする。<br>
# SUSE
  sudo vmhgfs-fuse -o allow_other .host:/Common /mnt/hgfs
  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
<br>
<br>
FUSEツールを使用して、共有ディレクトリをアンマウントする。<br>
FUSEツールを使用して、共有ディレクトリをアンマウントする。<br>
169行目: 381行目:
<u>(コマンドが有効になるまで時間が掛かる場合がある)</u><br>
<u>(コマンドが有効になるまで時間が掛かる場合がある)</u><br>
  sudo umount -f /mnt/hgfs
  sudo umount -f /mnt/hgfs
<br>
==== KDE ====
KDE Plasmaを使用している場合、強制的に画面の解像度が800x600に固定される。<br>
任意の解像度に変更する場合、以下の手順を行う。<br>
<br>
まず、KDEシステム設定を起動して、[ワークスペース] - [起動と終了] - 画面左の[Background Service] - 画面右下の[起動時に開始するサービス]から、<br>
[KScreen 2]チェックボックスのチェックを外す。<br>
<br>
次に、以下のシェルスクリプトを作成する。<br>
ここでは、~/InstallSoftware/Displayディレクトリに作成している。<br>
mkdir -p ~/InstallSoftware/Display
vi ~/InstallSoftware/Display/Display.sh
<br>
<syntaxhighlight lang="sh">
# ~/InstallSoftware/Display/Display.shファイル
#!/usr/bin/env sh
xrandr --output Virtual1 --mode 2560x1600  # WQXGA解像度に設定する場合
</syntaxhighlight>
<br>
上記で作成したシェルスクリプトに実行権限を付加する。<br>
chmod u+x ~/InstallSoftware/Display/Display.sh
<br>
最後に、KDEシステム設定を起動して、[ワークスペース] - [起動と終了] - 画面左の[自動起動] - 画面右下の[スクリプトを追加...]ボタンを押下して、<br>
上記で作成したシェルスクリプトを選択する。<br>
<br><br>
<br><br>


__FORCETOC__
__FORCETOC__
[[カテゴリ:CentOS]][[カテゴリ:SUSE]]
[[カテゴリ:RHEL]][[カテゴリ:SUSE]]

2023年9月1日 (金) 10:17時点における最新版

概要

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