Virtualbox 不工作模块不工作

Clo*_*yJr 7 chroot ubuntu kernel virtualbox

所以我试图在 ubuntu 16.04 上安装 genymotion,我需要运行模块,所以我打开了 virtualbox,我收到了一些警告

所以我重新安装了 virtualbox-dkms 并检查了我得到的标题

    (cloudyjr)volt@localhost:~$ uname -r 
    3.8.11
Run Code Online (Sandbox Code Playgroud)

出于某种原因,dkms 没有检测到我的标题。所以在那之后我继续前进,我尝试启动一个 Vm 忽略警告,我得到

输出

所以我继续尝试它所说的

    sudo modprobe vboxdrv
    modprobe: ERROR: could not insert 'vboxdrv': Operation not permitted
Run Code Online (Sandbox Code Playgroud)

现在我被卡住了请帮帮我!!!!!!?????????

Adr*_*dez 10

我知道这个问题太老了,但是因为没有公认的答案,而且这些答案都没有解决我的问题;我正在写我今天如何解决这个问题:

运行此命令时,出现此错误:

$ sudo modprobe vboxdrv
modprobe: ERROR: could not insert 'vboxdrv': Required key not available
Run Code Online (Sandbox Code Playgroud)

问题是模块没有签名,因此没有加载内核。如果您的计算机激活了 SecureBoot 模式,就会发生这种情况,这在现代设备中很常见。

这就是为什么我在虚拟框中打开任何机器时出现此错误的原因

未安装内核驱动程序 (rc=-1908)

执行以下步骤对驱动程序进行签名,并将其作为内核模块加载,在 Ubuntu 系统和 Debian 9 上:

1.安装mkutil包就可以做签名了。

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install mokutil
Run Code Online (Sandbox Code Playgroud)

2.生成签名文件:

openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=VirtualBox/"
Run Code Online (Sandbox Code Playgroud)

3.然后将其添加到内核中:

sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vboxdrv)
Run Code Online (Sandbox Code Playgroud)

4.为安全启动注册它。

重要的!这将要求您输入密码,输入您想要的密码,下次重新启动时您只需使用一次。

sudo mokutil --import MOK.der
Run Code Online (Sandbox Code Playgroud)

5.最后,重启电脑。将出现蓝屏并等待键盘,按要求您中断启动的键。

在此处输入图片说明

当您进入蓝屏时,选择Enroll MOK > Continue > 会询问您之前输入的密码,您输入后会提示操作已成功完成。

现在您的操作系统将启动,您现在可以毫无问题地使用 VirtualBox :)

希望这有助于某人。


小智 0

听起来您在这篇文章中也提到了相同的问题:VirtualBox Kernels not work

我想我现在更清楚地理解你的问题了。您的内核版本来自较低版本:

这是针对旧版本的,但应该将您的内核更新到 Ubuntu 16.04 版本:https://askubuntu.com/questions/364156/ubuntu-13-10-kernel-still-3-8-0-31-generic