Loading... # 引言 屋里放着的电脑安装了kali系统,好长时间没开机,今天心血来潮更新了一下系统,发现vitrualbox打不开了,报错如下:  ```bash Kernel driver not installed (rc=-1908) The VirtualBox Linux kernel driver is either not loaded or not set up correctly. Please reinstall virtualbox-dkms package and load the kernel module by executing 'modprobe vboxdrv' as root. If your system has EFI Secure Boot enabled you may also need to sign the kernel modules (vboxdrv, vboxnetflt, vboxnetadp, vboxpci) before you can load them. Please see your Linux system's documentation for more information. where: suplibOsInit what: 3 VERR\_VM\_DRIVER\_NOT\_INSTALLED (-1908) - The support driver is not installed. On linux, open returned ENOENT. ``` # 初步尝试 在shell中尝试输入上面提到的命令`modprobe vboxdrv` 提示 ```bash modprobe: FATAL: Module vboxdrv not found in directory /lib/modules/6.12.33+kali-amd64 ``` 简单分析,看他的意思是找不到这个目录,按理说他要编译,需要的是linux当前版本的内核源码。(就好比说你想编译一个程序,他需要一些底层的源码进行支撑) ## 安装内核头文件和工具 那么尝试安装一下`linux-header` ```bash sudo apt update sudo apt install linux-headers-$(uname -r) build-essential dkms ``` ```bash ┌──(root㉿localhost)-[/home/zunmx] └─# sudo apt update sudo apt install linux-headers-$(uname -r) build-essential dkms 命中:1 http://mirrors.aliyun.com/kali kali-rolling InRelease 所有软件包均为最新。 build-essential 已经是最新版 (12.12)。 build-essential 已设置为手动安装。 dkms 已经是最新版 (3.2.0-1)。 dkms 已设置为手动安装。 下列软件包是自动安装的并且现在不需要了: linux-image-6.12.13-amd64 使用'sudo apt autoremove'来卸载它(它们)。 将要安装: linux-headers-6.12.33+kali-amd64 将要安装的依赖: linux-headers-6.12.33+kali-common linux-kbuild-6.12.33+kali 摘要: 升级:0,安装:3,卸载:0,不升级:0 下载大小:15.2 MB 所需的空间:75.3 MB / 805 GB 可用 获取:1 http://mirrors.aliyun.com/kali kali-rolling/main amd64 linux-headers-6.12.33+kali-common all 6.12.33-1kali1 [10.9 MB] 获取:2 http://mirrors.aliyun.com/kali kali-rolling/main amd64 linux-kbuild-6.12.33+kali amd64 6.12.33-1kali1 [1,483 kB] 获取:3 http://mirrors.aliyun.com/kali kali-rolling/main amd64 linux-headers-6.12.33+kali-amd64 amd64 6.12.33-1kali1 [2,806 kB] 已下载 15.2 MB,耗时 9秒 (1,637 kB/s) 正在选中未选择的软件包 linux-headers-6.12.33+kali-common。 (正在读取数据库 ... 系统当前共安装有 1000716 个文件和目录。) 准备解压 .../linux-headers-6.12.33+kali-common_6.12.33-1kali1_all.deb ... 正在解压 linux-headers-6.12.33+kali-common (6.12.33-1kali1) ... 正在选中未选择的软件包 linux-kbuild-6.12.33+kali。 准备解压 .../linux-kbuild-6.12.33+kali_6.12.33-1kali1_amd64.deb ... 正在解压 linux-kbuild-6.12.33+kali (6.12.33-1kali1) ... 正在选中未选择的软件包 linux-headers-6.12.33+kali-amd64。 准备解压 .../linux-headers-6.12.33+kali-amd64_6.12.33-1kali1_amd64.deb ... 正在解压 linux-headers-6.12.33+kali-amd64 (6.12.33-1kali1) ... 正在设置 linux-headers-6.12.33+kali-common (6.12.33-1kali1) ... 正在设置 linux-kbuild-6.12.33+kali (6.12.33-1kali1) ... 正在设置 linux-headers-6.12.33+kali-amd64 (6.12.33-1kali1) ... Scanning processes... Scanning processor microcode... Scanning linux images... Running kernel seems to be up-to-date. The processor microcode seems to be up-to-date. No services need to be restarted. No containers need to be restarted. No user sessions are running outdated binaries. No VM guests are running outdated hypervisor (qemu) binaries on this host. ``` ## 重新构建 VirtualBox 的内核模块 ```bash sudo dpkg-reconfigure virtualbox-dkms sudo modprobe vboxdrv ``` ```bash ┌──(root㉿localhost)-[/home/zunmx] └─# sudo dpkg-reconfigure virtualbox-dkms sudo modprobe vboxdrv Module virtualbox/7.1.10 for kernel 6.12.25-amd64 (x86_64): Before uninstall, this module version was ACTIVE on this kernel. Deleting /lib/modules/6.12.25-amd64/updates/dkms/vboxdrv.ko.xz Deleting /lib/modules/6.12.25-amd64/updates/dkms/vboxnetadp.ko.xz Deleting /lib/modules/6.12.25-amd64/updates/dkms/vboxnetflt.ko.xz Running depmod.... done. Deleting module virtualbox/7.1.10 completely from the DKMS tree. Loading new virtualbox/7.1.10 DKMS files... Building for 6.12.25-amd64 and 6.12.33+kali-amd64 Building initial module virtualbox/7.1.10 for 6.12.25-amd64 Sign command: /lib/modules/6.12.25-amd64/build/scripts/sign-file Signing key: /var/lib/dkms/mok.key Public certificate (MOK): /var/lib/dkms/mok.pub Building module(s)...... done. Signing module /var/lib/dkms/virtualbox/7.1.10/build/vboxdrv/vboxdrv.ko Signing module /var/lib/dkms/virtualbox/7.1.10/build/vboxnetadp/vboxnetadp.ko Signing module /var/lib/dkms/virtualbox/7.1.10/build/vboxnetflt/vboxnetflt.ko Installing /lib/modules/6.12.25-amd64/updates/dkms/vboxdrv.ko.xz Installing /lib/modules/6.12.25-amd64/updates/dkms/vboxnetadp.ko.xz Installing /lib/modules/6.12.25-amd64/updates/dkms/vboxnetflt.ko.xz Running depmod.... done. Building initial module virtualbox/7.1.10 for 6.12.33+kali-amd64 Sign command: /lib/modules/6.12.33+kali-amd64/build/scripts/sign-file Signing key: /var/lib/dkms/mok.key Public certificate (MOK): /var/lib/dkms/mok.pub Building module(s)...... done. Signing module /var/lib/dkms/virtualbox/7.1.10/build/vboxdrv/vboxdrv.ko Signing module /var/lib/dkms/virtualbox/7.1.10/build/vboxnetadp/vboxnetadp.ko Signing module /var/lib/dkms/virtualbox/7.1.10/build/vboxnetflt/vboxnetflt.ko Installing /lib/modules/6.12.33+kali-amd64/updates/dkms/vboxdrv.ko.xz Installing /lib/modules/6.12.33+kali-amd64/updates/dkms/vboxnetadp.ko.xz Installing /lib/modules/6.12.33+kali-amd64/updates/dkms/vboxnetflt.ko.xz Running depmod.... done. ``` ## 测试是否可用 打开你的虚拟机,看看还会不会报错。  ## 可能遇到的问题 找不到相应的linux-header 1. 那么要考虑换个内核(这也是无奈之举了) 2. https://pkg.kali.org/ 找找也没有,然后手动去安装 3. apt-mark hold linux-image-amd64 锁定内核,更新时候就会跳过这个(前提是你系统已经稳定运行了) © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏