“Cannot open /dev/vmmon”問題解決

ubuntu上裝虛擬機器時,初次開啟虛擬機器可能會報如下錯誤:

目前網上的解決方法大都沒用,需要按以下步驟重新新增vmoon服務。

一、首先開啟ubuntu終端,按步驟輸入以下命令

  • 使用 openssl 生成金鑰對來簽署 vmmon 和 vmnet 模組:

$openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=VMware/"

將 MOK 替換為你想要的金鑰檔案的名稱。

  • 通過執行以下命令使用生成的金鑰對模組進行簽名:

$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)

  • 通過執行以下命令將公鑰匯入系統的 MOK 列表:

$mokutil --import MOK.der

  • 確認此 MOK 註冊請求的密碼。

二、重啟機器,按照說明從 UEFI 控制檯完成註冊。

  • 重啟介面選擇Enroll MOK

  • 輸入並確認密碼
  • continue boot或者重啟

三、重啟後輸入以下命令,看MOK服務是否啟動

mokutil --test-key MOK.der

注意:這裡的MOK需要更換成你自己修改的模組名

看到以下結果即說明MOK模組已經正常註冊

MOK.der is already enrolled

四、此時VMware虛擬機器即可正常開啟