~/Desktop/a$ sudo dpkg -i virtualbox-6.0_6.0.10-132072~Ubuntu~bionic_amd64.deb
...
dpkg: dependency problems prevent configuration of virtualbox-6.0:
virtualbox-6.0 depends on libcurl4 (>= 7.16.2); however:
Package libcurl4 is not installed.
virtualbox-6.0 depends on libqt5core5a (>= 5.9.0~beta); however:
Package libqt5core5a is not installed.
virtualbox-6.0 depends on libqt5gui5 (>= 5.4.0); however:
Package libqt5gui5 is not installed.
virtualbox-6.0 depends on libqt5opengl5 (>= 5.0.2); however:
Package libqt5opengl5 is not installed.
virtualbox-6.0 depends on libqt5printsupport5 (>= 5.0.2); however:
Package libqt5printsupport5 is not installed.
virtualbox-6.0 depends on libqt5widgets5 (>= 5.7.0); however:
Package libqt5widgets5 is not installed.
virtualbox-6.0 depends on libqt5x11extras5 (>= 5.6.0); however:
Package libqt5x11extras5 is not installed.
dpkg: error processing package virtualbox-6.0 (--install):
dependency problems - leaving unconfigured
...
Errors were encountered while processing:
virtualbox-6.0
...
报错了,百度了一下,说是需要执行下面的命令来解决:
~/Desktop/a$ sudo apt-get install libsdl1.2debian
...
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
virtualbox-6.0 : Depends: libcurl4 (>= 7.16.2) but it is not going to be installed
Depends: libqt5core5a (>= 5.9.0~beta) but it is not going to be installed
Depends: libqt5gui5 (>= 5.4.0) but it is not going to be installed
Depends: libqt5opengl5 (>= 5.0.2) but it is not going to be installed
Depends: libqt5printsupport5 (>= 5.0.2) but it is not going to be installed
Depends: libqt5widgets5 (>= 5.7.0) but it is not going to be installed
Depends: libqt5x11extras5 (>= 5.6.0) but it is not going to be installed
Recommends: libsdl-ttf2.0-0 but it is not going to be installed
Recommends: gcc but it is not going to be installed
Recommends: make or
build-essential but it is not going to be installed or
dpkg-dev but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
又报错了,错误提示里让我试一下这个命令:
~/Desktop/a$ sudo apt --fix-broken install
安装了一堆东西,再执行:
~/Desktop/a$ sudo apt-get install libsdl1.2debian
成功了,然后执行安装:
~/Desktop/a$ sudo dpkg -i virtualbox-6.0_6.0.10-132072~Ubuntu~bionic_amd64.deb
...
There were problems setting up VirtualBox. To re-start the set-up process, run
/sbin/vboxconfig
as root. If your system is using EFI Secure Boot you may 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.
...
上网查了一下,发现从内核版本 4.4.0-20 开始,在开启了 Secure Boot 的电脑上,未注册的 kernel 模块不再允许执行,所以如果想在保持 Secure Boot 的情况下依然允许执行,我们需要做的则是注册这些模块。可以依次执行如下操作:
1. 创建签名 keys
~/Desktop$ openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=Descriptive common name/"
Can't load /home/kyun/.rnd into RNG
140301422461376:error:2406F079:random number generator:RAND_load_file:Cannot open file:../crypto/rand/randfile.c:88:Filename=/home/kyun/.rnd
Generating a RSA private key
............+++++
.......................+++++
writing new private key to 'MOK.priv'
-----
2. 注册模块
~/Desktop$ sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vboxdrv)
modinfo: ERROR: Module vboxdrv not found.
[sudo] password for kyun:
Usage: scripts/sign-file [-dp] <hash algo> <key> <x509> <module> [<dest>]
scripts/sign-file -s <raw sig> <hash algo> <x509> <module> [<dest>]
这一步就坑了,提示我modinfo: ERROR: Module vboxdrv not found.网上说MODULE 没有加载,可以用 sudo modprobe vboxdrv 修复:
~/Desktop$ sudo modprobe vboxdrv
modprobe: FATAL: Module vboxdrv not found in directory /lib/modules/5.0.0-25-generic
跳出一个更致命的错误,再去网上了解:vboxdrv内核 MODULE 未加载。 当前内核( 4.4.0 -21 -generic ) 没有可用的MODULE,或者它无法加载。 请重新编译内核 MODULE 并通过 sudo /sbin/rcvboxdrv 安装安装它。但是如果电脑安全引导被禁用,我的是启用了的,我不想禁用它,那么virtualbox加载时没有错误,那就安装它吧:
~/Desktop$ sudo /sbin/rcvboxdrv
Usage: /sbin/rcvboxdrv {start|stop|stop_vms|restart|force-reload|status}
~/Desktop$ sudo /sbin/rcvboxdrv start
vboxdrv.sh: Starting VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.
This system is currently not set up to build kernel modules.
Please install the gcc make perl packages from your distribution.
错误中说Please install the gcc make perl packages from your distribution,那就安装吧:
~/Desktop$ sudo apt-get update
~/Desktop$ sudo apt-get install gcc perl make
安装成功,再执行下面命令安装:
~/Desktop$ sudo /sbin/rcvboxdrv start
vboxdrv.sh: Starting VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.
好了,可以注册模块了:
~/Desktop$ sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vboxdrv)
注册成功!
3. 注册 key 到 Secure Boot
~/Desktop$ sudo mokutil --import MOK.der
input password:
input password again:
输入两次密码后,注册key成功!
4.重启电脑->enroll MOK→continue→yes→(输入密码,后续要用到)→reboot
5.最后再来安装virtualbox
~/Desktop/a$ sudo dpkg -i virtualbox-6.0_6.0.10-132072~Ubuntu~bionic_amd64.deb
[sudo] password for kyun:
(Reading database ... 177515 files and directories currently installed.)
Preparing to unpack virtualbox-6.0_6.0.10-132072~Ubuntu~bionic_amd64.deb ...
Unpacking virtualbox-6.0 (6.0.10-132072~Ubuntu~bionic) over (6.0.10-132072~Ubuntu~bionic) ...
Setting up virtualbox-6.0 (6.0.10-132072~Ubuntu~bionic) ...
addgroup: The group `vboxusers' already exists as a system group. Exiting.
Processing triggers for systemd (237-3ubuntu10.25) ...
Processing triggers for ureadahead (0.100.0-21) ...
ureadahead will be reprofiled on next reboot
Processing triggers for gnome-menus (3.13.3-11ubuntu1.1) ...
Processing triggers for desktop-file-utils (0.23-1ubuntu3.18.04.2) ...
Processing triggers for mime-support (3.60ubuntu1) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for shared-mime-info (1.9-2) ...
终于安装成功了!
安装完virtualbox就可以安装系统镜像了,但你会发现只有32位的系统可以选择。
如果想在虚拟机中安装64位的Linux系统,最好能满足这几个条件:
我们这里展示一下如何开启BIOS虚拟化技术,进入BIOS(有的开机长按f10,有的按esc,有的按delete,具体的机子要去查一下如何进入BIOS)设置:
保存配置,重启电脑就可以了。
谢谢阅读。