我按照 Oracle VirtualBox 网站上的官方说明安装了 VirtualBox:https://www.virtualbox.org/wiki/Linux_Downloads
我按照将软件包源添加到我的存储库的方法进行操作。我这样做而不是使用来自 ubuntu 软件包存储库的默认安装,因为我需要使用在较新版本的 virtualbox 中创建的 VM。
安装很顺利,只是 virtualbox 要求重新预订,以便您可以将其注册到 UFEI(抱歉,我不知道这里的正确术语)。我尽职尽责地重新启动了,但分心了,不幸的是错过了启动时提示您执行此操作的屏幕。现在我无法恢复屏幕,当我尝试卸载 vitualbox 时,我得到:
$ sudo apt-get remove virtualbox-6.1
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
libgsoap-2.8.60 libqt5opengl5 libqt5x11extras5 libvncserver1
linux-headers-4.15.0-20 linux-headers-4.15.0-20-generic
linux-headers-4.15.0-72 linux-headers-4.15.0-72-generic
linux-image-4.15.0-20-generic linux-image-4.15.0-72-generic
linux-modules-4.15.0-20-generic linux-modules-4.15.0-72-generic
linux-modules-extra-4.15.0-20-generic linux-modules-extra-4.15.0-72-generic
virtualbox-dkms
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED
virtualbox-6.1
0 to upgrade, 0 to newly install, 1 to remove and 0 not to upgrade.
After this operation, 216 MB disk space will be freed.
Do you want to continue? [Y/n]
debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable
(Reading database ... 496481 files and directories currently installed.)
Removing virtualbox-6.1 (6.1.2-135662~Ubuntu~bionic) ...
debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable
dpkg: error processing package virtualbox-6.1 (--remove):
installed virtualbox-6.1 package pre-removal script subprocess returned error exit status 1
debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable
vboxdrv.sh: failed: modprobe vboxdrv failed. Please use 'dmesg' to find out why.
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.
Errors were encountered while processing:
virtualbox-6.1
E: Sub-process /usr/bin/dpkg returned an error code (1)
而且它不允许我卸载。
然后我尝试按照错误消息中的建议重新运行/sbin/vboxconfig
,但失败了
$ sudo /sbin/vboxconfig
[sudo] password for rcrozier:
vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Starting VirtualBox services.
vboxdrv.sh: You must sign these kernel modules before using VirtualBox:
vboxdrv vboxnetflt vboxnetadp
See the documenatation for your Linux distribution..
vboxdrv.sh: Building VirtualBox kernel modules.
debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable
vboxdrv.sh: Failed to enroll secure boot key..
vboxdrv.sh: failed: modprobe vboxdrv failed. Please use 'dmesg' to find out why.
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.
我真正想要的是再次触发签署内核模块(或其他任何模块)的过程,有人能告诉我该怎么做吗?
答案1
我意识到删除 virtualbox 的问题实际上是由于这个原因:
debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable
我找到了锁定此过程的方法这个答案发现是一个名为 的进程frontend
。我以 root 身份终止了此进程,然后能够删除 virtualbox 并重新安装它,这次正确地遵循了签名程序。