インストール - VMware Workstation(Linux)
概要
VMware Workstationは、幅広いOSのサポート、優れたユーザ使用環境、包括的な機能セット、優れたパフォーマンスによって仮想化を次のレベルに推進する。
その中でも、VMware Workstation Proは、業務で仮想マシンを使用するプロフェッショナル向けに設計されている。
VMware Workstation Proを実行するには、64ビットのプロセッサと64ビットのホストOSが必要である。
依存関係のライブラリのインストール
VMware Workstationの起動に必要な依存関係のライブラリをインストールする。
sudo zypper install kernel-default-extra kernel-default-optional open-vm-tools open-vm-tools-desktop openSUSE-signkey-cert insserv-compat
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を起動することができる。
- 以下に示すWebサイトからパッチファイルをダウンロードする。
- VMware Workstation 15.5.5を使用している場合
- VMware Workstation 16.0.0を使用している場合
- 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
- パッチファイルを解凍して、解凍したディレクトリに移動する。
tar xf workstation-x.x.x.tar.gz
cd vmware-host-modules-workstation-x.x.x
- 以下のディレクトリを圧縮する。
tar -cf vmmon.tar vmmon-only; tar -cf vmnet.tar vmnet-only
- 圧縮したディレクトリを、/usr/lib/vmware/modules/sourceディレクトリにコピーする。
sudo cp -v vmmon.tar vmnet.tar /usr/lib/vmware/modules/source
- 以下のコマンドを実行する。
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
VMwareモジュールの署名 (セキュアブートが有効の場合)
セキュアブートが有効な場合、VMwareモジュールであるVMmonおよびVMnetを署名に登録する必要がある。
VMwareモジュールの署名 (初めて署名する場合)
署名を登録する手順を以下に示す。
- キーペアを作成する。
sudo openssl req -new -x509 -newkey rsa:2048 -keyout vmware.priv -outform DER -out vmware.der -nodes -days 36500 -subj "/CN=VMware/" \
-addext "extendedKeyUsage=codeSigning"
- 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)
- MOK(Module owned Key)にキーをインポートする。
--root-pw
オプションを付加することにより、再起動時のVMwareモジュールの署名において、rootパスワードが必要となる。sudo mokutil --import ./VMware.der --root-pw
- PCを再起動して、VMwareモジュールの署名を登録する。
sudo systemctl reboot
- 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
Linuxカーネル更新後の再署名
Linuxカーネルをアップデートした場合、以下に示す手順にしたがってVMwareモジュールを再署名する必要がある。
- まず、VMware Workstationを起動する。
この時、自動的にVMmonモジュールとVMnetモジュールがアップデートされたカーネル用に再構築される。 - MOK(Module owned Key)にキーをインポートする。
cd <VMwareモジュールの署名ファイルが存在するディレクトリ>
sudo mokutil --import ./VMware.der --root-pw
- PCを再起動して、VMwareモジュールの署名を再登録する。
sudo systemctl reboot
- VMwareモジュールが正しく読み込まれているかどうかを確認する。
正常に読み込まれている場合は、"VMware.der is already enrolled"と表示される。cd <VMwareモジュールの署名ファイルが存在するディレクトリ>
sudo mokutil --test-key ./VMware.der
注意
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を起動して、正常に画面が表示されるか確認する。
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システム設定を起動して、[ワークスペース] - [起動と終了] - 画面左の[自動起動] - 画面右下の[スクリプトを追加...]ボタンを押下して、
上記で作成したシェルスクリプトを選択する。