Ubuntu 20.04 に VMWare Player をインストールする
Ubuntu 20.04 に VMWare Player をインストールするための手順を説明する。
※ ゲストOS に Ubuntu 20.04 を使う話ではなく、ホストOS に Ubuntu 20.04 を使う手順である。
処理の流れ
- VMWare Player をダウンロードする
- ビルドツールをインストールする
- VMWare Player をインストールする
- (セキュアブート有効時) Machine-Owner Key(=MOK) を作成する
- (セキュアブート有効時) VMWARE 関連のドライバを署名する
- (セキュアブート有効時) MokManager (MokPW) のパスワードを設定する
- (セキュアブート有効時) Linux にMachine-Owner Key をインストールする
- (セキュアブート有効時) PCを再起動する
- (セキュアブート有効時) UEFI console でMachine-Owner Key をインストールする
なお、デジタル署名に関するところがめんどくさい場合、セキュアブートを OFF にして、起動することで (セキュアブート有効時) と記載している手順は省略できる。
注意事項
前提知識
- VMWare Player を Ubuntu で使う場合、ホスト環境でコンパイルしたカーネルモジュールが必要である。
- カーネルモジュールはホスト環境で VMWare Player をインストール時に 内部でビルドするため、VMWare Player をインストール前に ビルドツールのインストールが必要である。
- セキュアブートの機能が有効になっている PC では、デジタル署名のないドライバをインストールすることができない。
対策
- 事前にビルド環境をインストールする
- ビルドしたドライバにデジタル署名を行うためのルート証明書を生成する。
- ビルドしたドライバに対してMachine-Owner Key(=MOK)署名をつける。
- (Linux, UEFI の両方に対して) Machine-Owner Key(=MOK)をインストールする。
もしセキュアブートが有効な環境で、デジタル署名がないと "Cannot open /dev/vmmon: No such file or directory" error when powering on a VM (2146460) にあるように仮想マシンの起動時に /dev/vmmon
がロードできないというエラーになって仮想マシンの起動に失敗する。
1. VMWare Player をダウンロードする
https://my.vmware.com/jp/web/vmware/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/15_0 から VMware Workstation 15.5.6 Player
をダウンロードする。
参考
2. ビルドツールをインストールする
後の手順に関係してくるが、VMWare Player は内部でカーネルモジュール vmmon.ko
と vmnet.ko
を使用する。
vmmon.ko
と vmnet.ko
を VMWare Player をインストール環境でコンパイルする必要があるため、VMWare Player をインストールする前に 事前にビルドツールをインストール必要がある。
$ sudo apt install build-essential -y
3. VMWare Player をインストールする
$ sudo sh VMware-Player-15.5.6-16341506.x86_64.bundle
4. (セキュアブート有効時) Machine-Owner Key(=MOK) を作成する
Machine-Owner Key(=MOK) として使う自己署名証明書を作成する。
openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=VMware/"
参考
- Ubuntu Wiki SecureBoot
- "Cannot open /dev/vmmon: No such file or directory" error when powering on a VM (2146460)
5. (セキュアブート有効時) VMWARE 関連のドライバを署名する
sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmmon)
sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmnet)
6. (セキュアブート有効時) MokManager (MokPW) のパスワードを設定する
mokutil を使って MokManager のパスワードを設定する。
ここで設定したパスワードは、Machine-Owner Key をインポートするときや UEFI console で鍵を取り込むときに使用する。
$ sudo mokutil --password
input password:
input password again:
7. (セキュアブート有効時) Linux にMachine-Owner Key をインストールする
mokutil --import
を使用して、Machine-Owner Keyをインストールする。
ここで 単なる sudo
では mokutil --import
でインストールできないのでいったん sudo su
で root になってからインストールする。
MokManager (MokPW) のパスワードを設定する
で設定した MokManager のパスワードを入力する。
$ sudo su
# mokutil --import MOK.der
input password:
input password again:
参考リンク
8. (セキュアブート有効時) PCを再起動する
インストールした Machine-Owner KeyをUEFI に適用するためにPCを再起動する。
9. (セキュアブート有効時) UEFI console で Machine-Owner Key をインストールする
9.1 Press Enter Key の画面でリターンキーを押す
再起動すると Press Enter Key というテキストが表示されるので、リターンキーを入力する。
9.2 MOK をインストールする
テキストベースで以下のメニュー項目を選択する画面になる。
- Continue boot
- Enroll MOK
- Enroll key from disk
- Enroll hash from disk
Enroll MOK を選択してリターンキーを押す
9.3 MOK を確認するか、インストールを続行するか確認する。
テキストベースで以下のメニュー項目を選択する画面になる。
- View key 0
- Continue
Continue を選択してリターンキーを押す
View key 0 を選択すると、鍵の情報を確認できる。確認したらリターンキーを押すことでもとの画面に戻ることができる。
9.4 MOK のインストールを実行する
テキストベースで以下のメニュー項目を選択する画面になる。
- No
- Yes
Yes を選択してリターンキーを押す
9.5 MokManager のパスワードを入力する
テキストベースでパスワードを入力する画面になる。
MokManager (MokPW) のパスワードを設定する
で設定したパスワードを入力してリターンキーを押す
9.6 再起動する
テキストベースで以下のメニュー項目を選択する画面になる。
- Reboot
- Enroll key from disk
- Enroll hash from disk
Reboot を選択してリターンキーを押す
参考リンク
- "Cannot open /dev/vmmon: No such file or directory" error when powering on a VM (2146460)
- mokutil - utility to manipulate machine owner keys
- Ubuntu Wiki SecureBoot
- kernel module mokutil: failed to enroll new keys
トラブルシュート
ビルドツールをインストールする前に VMware-Player をインストールしてしまった場合
VMware-Player を以下の手順でアンインストールして、ビルドツールをインストール後に、再度 VMware-Player をインストールする。
$ sudo sh VMware-Player-15.5.6-16341506.x86_64.bundle --uninstall-component=vmware-player
Extracting VMware Installer...done.
All configuration information is about to be removed. Do you wish to
keep your configuration files? You can also input 'quit' or 'q' to
cancel uninstallation. [yes]: no
Uninstalling VMware Installer 3.0.0
Deconfiguring...
[######################################################################] 100%
Uninstallation was successful.