📜  如何签署 virtualbox 内核模块 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:38:52.727000             🧑  作者: Mango

如何签署 VirtualBox 内核模块 - Shell-Bash

介绍

VirtualBox 是一个非常强大的虚拟化软件,它可以在任何操作系统中运行其他操作系统,包括 Windows、Linux、macOS 等等。然而,在 Linux 系统中,VirtualBox 需要安装一个内核模块才能正常工作。而这个内核模块需要通过签署才能加载。本文将介绍如何签署 VirtualBox 内核模块。

签署内核模块
生成私钥和证书请求

首先,我们需要生成一个私钥和证书请求。我们可以使用 OpenSSL 工具来完成这个任务。在终端中输入以下命令:

openssl req -new -nodes -utf8 -sha256 -days 36500 -batch -outform PEM -out vb.pem -keyout vb.key

这个命令会生成一个私钥文件 vb.key 和一个证书请求文件 vb.pem

将证书请求发送给证书颁发机构

接下来,我们需要向一个 CA 机构申请签名证书。我们可以使用 Comodo 或 GlobalSign 等等机构。在这里,以 Comodo 机构为例。你可以访问 Comodo 官网,选择 SSL 证书类型,然后填写一些个人和公司信息。将 vb.pem 文件上传到 Comodo 所提供的表格中,并按照指示完成申请过程。

下载和安装证书

等到证书颁发机构完成签名之后,我们需要下载这个签名证书。通常,签名证书会以 ZIP 或者其他形式提供下载。我们将这个证书解压到一个目录中,在终端中输入以下命令安装这个证书:

sudo cp <path/to/unzipped/cert> /usr/src/vboxhost-<version>/certs/
sudo /usr/src/vboxhost-<version>/configure --no-clean
sudo make -C /usr/src/vboxhost-<version> modules
sudo make -C /usr/src/vboxhost-<version> modules_install

上面这个命令中,<version> 是你的 VirtualBox 版本,例如 6.1.26。这个命令将 cert 文件复制到 vboxhost-<version>/certs/ 目录中,并重新编译 VirtualBox 内核模块。

加载内核模块

最后,我们需要加载已签署的内核模块。在终端中输入以下命令:

sudo modprobe vboxdrv

如果一切正常,你应该能够看到一个类似于下面这样的信息:

$ sudo modprobe vboxdrv
[sudo] password for user:

注意,有时候可能需要重启系统才能使内核模块正常加载。

结论

现在你已经知道了如何签署 VirtualBox 内核模块。这个过程可能有点困难,但是如果你遵循这些步骤,就应该能够成功地签署 VirtualBox 内核模块,从而在 Linux 系统中运行 VirtualBox。