Debian 11 VirtualBox 踩坑实录
前景
由于课程实验的需求,我需要安装虚拟机作为我的实验环境,但是安装和启动的过程并不是很顺利,踩了很多的坑和查阅了很多资料之后,最终解决了这个问题
系统环境
OS: Debian GNU/Linux 11 (bullseye) x86_64
Kernel: 5.10.0-8-amd64
DE: Plasma 5.20.5
VirtualBox 的安装
本人当前使用的系统是Debian 11
,安装方式是通过包管理来安装,截止到写文日期(2021.09.13),Oracle官方还没有适用于Debian 11(bullseye)
的源。因此,需要添加Debian Fast Track
的源来实现包管理安装VirtualBox
。
配置Debian Fast Track
官方提供了详细的安装步骤,可通过次查看:https://fasttrack.debian.net/
这里不再次重复了
apt安装VirtualBox
在配置好Debian Fast Track
之后,使用sudo apt update && sudo apt install virtualbox
进行安装操作。
安装环节到此结束
虚拟机的运行
完成上述操作并配置好虚拟机后,点击启动虚拟机时却遇到了报错:
输入sudo modprobe vboxdrv
却又出现报错
经过查找后,发现原因是开启了Secure Boot
导致的, 在BIOS中关闭就可以直接解决。
但是我想保留该选项的开启,我们之需要为VirtualBox签署一下内核模块
签署内核模块
-
首先安装必要的依赖工具:
sudo apt update & sudo apt install mokutil
-
生成签署文件:
openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=VirtualBox/"
-
将签署文件添加到内核中:
for i in $(ls /lib/modules/$(uname -r)/updates/dkms/vbox*.ko); do sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $i; done
-
在
Secure Boot
为签署文件进行注册:sudo mokutil --import MOK.der
输入该命令后会提示你输入密码,一定要记住,下一步会用到
-
重启电脑,出现蓝色界面,按回车进入:
之后选择
Enroll MOK --> Continue --> 提示你输入密码
,输入完成后选择Reboot
。
最后进入系统,终于可以正常的运行VirtualBox了