📅  最后修改于: 2023-12-03 15:38:52.727000             🧑  作者: Mango
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。