如何使用签名的内核模块安装 Virtualbox

如何使用签名的内核模块安装 Virtualbox

我读过了在启用 EFI 安全启动的情况下对 Virtualbox 模块进行签名。此处描述的过程与 --reinstall 步骤中描述的过程不符。没有详细提示。请注意,还必须安装内核模块的 VMware Workstation Pro 似乎“自动”执行了所需的操作。

该机器在 bios 中没有启用传统启动的选项,但需要安全启动。Ubuntu 22.04 LTS 首次使用空白驱动器安装在机器上时启动(在安装 Ubuntu 之前,已移除 OEM MS Windows 驱动器并安装了一个空白的新驱动器),并且只要软件更新程序建议这样做(通常作为安全更新),内核就会更新,没有任何问题。

但是,Virtualbox 内核模块被拒绝,Virtualbox 无法运行。我没有尝试上述 URL 中的说明,mok因为该sudo apt-get install virtualbox-dkms --reinstall命令没有解决问题。(声称: 安装程序提示我创建证书、在 MOK 中设置密码,并给出了明确的说明,指导我重新启动并在 MOK 中注册证书- 做过不是出现)。我不想让机器“无法启动”。

是否有一个 VirtualBox 安装包可以解决这个问题?如果没有,是否有已知的“一步一步”的详细说明?任何详细的帮助,包括带有明确说明的参考/URL,都将不胜感激。这肯定是 Ubuntu 在需要安装内核模块(例如 Nvidia 专有内核驱动程序)的安全启动系统上的典型问题。

上述问题发布后,我发现 如何在 Ubuntu 20.04 上安装 VirtualBox其中包含“注意:UEFI 安全启动已启用”部分,步骤为“注册 MOK » 继续 » 是 » 输入密码(您之前设置的)» 重新启动”。上述 20.04 命令集对于 22.04 是否仍然正确?这些命令能解决问题吗?

答案1

由于上述问题没有评论或答案,我不得不进行更多的网络搜索,并拼凑出似乎在 Ubuntu 22.04 LTS 当前版本(截至本文发布之日)上实际运行的内容以及截至该日期的库存 Ubuntu Virtualbox 6.x 软件包。

  1. 必须使用 apt 来删除 Virtualbox。
  2. 然后安装 Virtualbox。如果下一步没有发生,则必须按照上面指定的方式执行 --reinstall(假设上面的命令未被此列表中的 Powers that Be 删除/修改)。
  3. 在(重新)安装期间,会出现一个非 GUI 界面(非 GUI 意味着在必须执行此操作的系统上,典型的指针设备不起作用,而是 TAB 键移动到随后突出显示的项目,然后必须使用 ENTER 键选择该项目)。此界面将提示输入相当于密码的内容(实际上用于生成公钥/私钥,但生成是“自动”的)。就我的系统而言,密码必须至少有八 (8) 个字符,这一要求只有在尝试输入不符合要求的密码时才会显示。
  4. (重新)安装将继续,但会生成一条异常消息,提示(重新)安装失败。
  5. 重新启动机器。
  6. Secureboot + Ubuntu + VirtualBox 签名内核模块我发现在重启过程中,系统会要求用户做出一系列选择,其中之一就是注册,然后选择必须这也将会是一个非 GUI 的“选项卡”用户界面。
  7. (此步骤应为 6.1,但此列表的自动格式不会为 6.1 生成新的“点”,而只会生成一个主数字增量,因此为 8。)为了验证该选择,下一个提示将要求输入在上述步骤 (3) 中创建的密码“您”,同样,这是一个非 GUI“选项卡”用户界面。没有允许查看密码的选项(以避免键盘输入错误——键盘输入错误),甚至不显示每个键盘输入的占位符“*”。
  8. 继续启动。
  9. 假设 Virtualbox 已经在 GUI 用户界面下安装(在我的情况下是 MATE),选择 Virtualbox,启动虚拟机(在我的情况下是已经“安装和配置”的 MS Windows 虚拟机)并且它将会工作(Virtualbox 的模块问题,例如扩展包问题)。

再次重启后,无需在相关机器上重复该过程。但是,我尚未使用 Software Updater 建议的内核或 Virtualbox 更新对此进行测试。我怀疑与内核和提供的驱动程序包(例如专有的 Nvidia 驱动程序)不同,每次进行内核或 Virtualbox 更新时,都必须重复上述痛苦。该过程应在所有 Linux 软件包(.deb 或 .rpm,取决于所使用的 Linux 发行版)中自动执行,特别是企业版本(例如 LTS),其工作方式与 Nvidia 专有软件包(Virtualbox 是 Oracle,但仍为开源)无异。

相关内容