インシデント発生
突然、鍛えていたVMwareが動かなくなり、泣きそうになった。
たぶん、ホストOSのカーネルをアップデートしてしまったことが原因。
動かなくなった時の各バージョンは次のとおり
linux 5.15.0-67-generic (Ubuntu 20.04)
VMware workstation 16.2.3
エラーの内容
Befor you can run VMware, sevaral modules must be compiled and loaded into the running kernel.
Unable to install all modules. See log
/tmp/vmware-[ユーザ名]/vmware-11752.log
for details.(Exit code 1)
vmware-11752.logを見てもぜんぜんわからん。
対応1
vmware kernel modul updater error
でググって8番目にヒットした
「Ubuntu LinuxでVMware Workstation pro/playerを使うときの注意」
が大当たり。
sudo service vmware stop
git clone https://github.com/mkubecek/vmware-host-modules
cd vmware-host-modules
make clean
make
sudo make install
sudo modprobe -a vmw_vmci vmmon vmnet
sudo service vmware restart
これで VMware は起動するようになった。が、
対応2
今度は、ゲストOSが起動しない。
Could not open /dev/vmmon:No such file or directory
cannot open /dev/vmmon
で検索
セキュアブートを有効にすると、UEFI からブートする Linux ホスト上で仮想マシンのパワーオンに失敗するってヤツ。
$openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=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)
$sudo mokutil --import MOK.der
パスワード2回入力
$reboot
この後、メニューの上から2番目を選び、さっきのパスワードを入力する。
再発防止
パッケージの自動更新を無効にする
https://qiita.com/dan-go/items/0d863ab5d11494cd7ec5
恒久的にカーネルを更新対象から除外する
https://sig9.org/archives/4496#toc4
その他
参考になりそうなサイト