我正在运行 Ubuntu 20.04,最近进行了 dist-upgrade。
uname -r: 5.8.0-34-generic
我通过以下方式清除了 Virtualbox 和相关文件:
sudo apt-get purge "^virtualbox-.*"
尝试重新安装任何软件后,我现在得到以下信息:
>>$ sudo apt install --reinstall linux-headers-$(uname -r)
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
3 not fully installed or removed.
Need to get 0 B/1,236 kB of archives.
After this operation, 0 B of additional disk space will be used.
(Reading database ... 328260 files and directories currently installed.)
Preparing to unpack .../linux-headers-5.8.0-34-generic_5.8.0-34.37~20.04.2_amd64.deb ...
Unpacking linux-headers-5.8.0-34-generic (5.8.0-34.37~20.04.2) over (5.8.0-34.37~20.04.2) ...
Setting up linux-headers-5.8.0-34-generic (5.8.0-34.37~20.04.2) ...
/etc/kernel/header_postinst.d/dkms:
* dkms: running auto installation service for kernel 5.8.0-34-generic
Kernel preparation unnecessary for this kernel. Skipping...
Building module:
cleaning build area...
make -j8 KERNELRELEASE=5.8.0-34-generic -C /lib/modules/5.8.0-34-generic/build M=/var/lib/dkms/virtualbox/6.1.10/build...(bad exit status: 2)
ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/virtualbox-dkms.0.crash'
Error! Bad return status for module build on kernel: 5.8.0-34-generic (x86_64)
Consult /var/lib/dkms/virtualbox/6.1.10/build/make.log for more information.
...done.
Setting up virtualbox-dkms (6.1.10-dfsg-1~ubuntu1.20.04.1) ...
Removing old virtualbox-6.1.10 DKMS files...
------------------------------
Deleting module version: 6.1.10
completely from the DKMS tree.
------------------------------
Done.
Loading new virtualbox-6.1.10 DKMS files...
Building for 5.8.0-34-generic
Building initial module for 5.8.0-34-generic
ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/virtualbox-dkms.0.crash'
Error! Bad return status for module build on kernel: 5.8.0-34-generic (x86_64)
Consult /var/lib/dkms/virtualbox/6.1.10/build/make.log for more information.
dpkg: error processing package virtualbox-dkms (--configure):
installed virtualbox-dkms package post-installation script subprocess returned error exit status 10
dpkg: dependency problems prevent configuration of virtualbox:
virtualbox depends on virtualbox-dkms (>= 6.1.10-dfsg-1~ubuntu1.20.04.1) | virtualbox-source (>= 6.1.10-dfsg-1~ubuntu1.20.04.1) | virtualbox-modules; however:
Package virtualbox-dkms is not configured yet.
Package virtualbox-source is not installed.
Package virtualbox-modules is not installed.
Package virtualbox-dkms which provides virtualbox-modules is not configured yet.
dpkg: error processing package virtualbox (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of virtualbox-qt:
virtualbox-qt depends on virtualbox (= 6.1.10-dfsg-1~ubuntu1.20.04.1); however:
Package virtualbox is not configured yet.
dpkg: error processing package virtualbox-qt (--configure):
dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
No apport report written because the error message indicates its a followup err
or from a previous failure.
Errors were encountered while processing:
virtualbox-dkms
virtualbox
virtualbox-qt
E: Sub-process /usr/bin/dpkg returned an error code (1)
跑步
sudo apt-get install -f
无法修复依赖问题。我仍然得到相同的输出:
>>$ sudo apt-get install -f
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
3 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up virtualbox-dkms (6.1.10-dfsg-1~ubuntu1.20.04.1) ...
Removing old virtualbox-6.1.10 DKMS files...
------------------------------
Deleting module version: 6.1.10
completely from the DKMS tree.
------------------------------
Done.
Loading new virtualbox-6.1.10 DKMS files...
Building for 5.8.0-34-generic
Building initial module for 5.8.0-34-generic
ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/virtualbox-dkms.0.crash'
Error! Bad return status for module build on kernel: 5.8.0-34-generic (x86_64)
Consult /var/lib/dkms/virtualbox/6.1.10/build/make.log for more information.
dpkg: error processing package virtualbox-dkms (--configure):
installed virtualbox-dkms package post-installation script subprocess returned error exit status 10
dpkg: dependency problems prevent configuration of virtualbox:
virtualbox depends on virtualbox-dkms (>= 6.1.10-dfsg-1~ubuntu1.20.04.1) | virtualbox-source (>= 6.1.10-dfsg-1~ubuntu1.20.04.1) | virtualbox-modules; however:
Package virtualbox-dkms is not configured yet.
Package virtualbox-source is not installed.
Package virtualbox-modules is not installed.
Package virtualbox-dkms which provides virtualbox-modules is not configured yet.
dpkg: error processing package virtualbox (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of virtualbox-qt:
virtualbox-qt depends on virtualbox (= 6.1.10-dfsg-1~ubuntu1.20.04.1); however:
Package virtualbox is not configured yet.
dpkg: error processing package virtualbox-qt (--configure):
dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
No apport report written because the error message indicates its a followup error from a previous failure.
Errors were encountered while processing:
virtualbox-dkms
virtualbox
virtualbox-qt
E: Sub-process /usr/bin/dpkg returned an error code (1)
按照如下方式重新配置会产生相同的消息:
sudo dpkg --configure -a
位于 /var/crash/virtualbox-dkms.0.crash 的崩溃报告显示以下内容:
ProblemType: Package
DKMSBuildLog:
DKMS make.log for virtualbox-6.1.10 for kernel 5.8.0-34-generic (x86_64)
Thursday, January 07, 2021 AM09:37:43 HKT
make: Entering directory '/usr/src/linux-headers-5.8.0-34-generic'
CC [M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/linux/SUPDrv-linux.o
CC [M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/SUPDrv.o
CC [M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/SUPDrvGip.o
CC [M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/SUPDrvSem.o
CC [M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/SUPDrvTracer.o
CC [M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/SUPLibAll.o
CC [M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/r0drv/alloc-r0drv.o
CC [M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/r0drv/initterm-r0drv.o
CC [M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/r0drv/memobj-r0drv.o
CC [M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/r0drv/mpnotification-r0drv.o
CC [M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/r0drv/powernotification-r0drv.o
CC [M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/r0drv/linux/assert-r0drv-linux.o
In file included from ./include/asm-generic/percpu.h:7,
from ./arch/x86/include/asm/percpu.h:556,
from ./arch/x86/include/asm/preempt.h:6,
from ./include/linux/preempt.h:78,
from ./include/linux/spinlock.h:51,
from /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/linux/../SUPDrvInternal.h:79,
from /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/linux/SUPDrv-linux.c:32:
/var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/linux/SUPDrv-linux.c: In function ‘supdrvOSChangeCR4’:
/var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/linux/SUPDrv-linux.c:760:38: error: ‘cpu_tlbstate’ undeclared (first use in this function); did you mean ‘cpuhp_state’?
760 | RTCCUINTREG uOld = this_cpu_read(cpu_tlbstate.cr4);
| ^~~~~~~~~~~~
./include/linux/percpu-defs.h:318:9: note: in definition of macro ‘__pcpu_size_call_return’
318 | typeof(variable) pscr_ret__; \
| ^~~~~~~~
/var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/linux/SUPDrv-linux.c:760:24: note: in expansion of macro ‘this_cpu_read’
760 | RTCCUINTREG uOld = this_cpu_read(cpu_tlbstate.cr4);
| ^~~~~~~~~~~~~
/var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/linux/SUPDrv-linux.c:760:38: note: each undeclared identifier is reported only once for each function it appears in
760 | RTCCUINTREG uOld = this_cpu_read(cpu_tlbstate.cr4);
| ^~~~~~~~~~~~
./include/linux/percpu-defs.h:318:9: note: in definition of macro ‘__pcpu_size_call_return’
318 | typeof(variable) pscr_ret__; \
| ^~~~~~~~
/var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/linux/SUPDrv-linux.c:760:24: note: in expansion of macro ‘this_cpu_read’
760 | RTCCUINTREG uOld = this_cpu_read(cpu_tlbstate.cr4);
| ^~~~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:288: /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/linux/SUPDrv-linux.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [scripts/Makefile.build:519: /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv] Error 2
make: *** [Makefile:1780: /var/lib/dkms/virtualbox/6.1.10/build] Error 2
make: Leaving directory '/usr/src/linux-headers-5.8.0-34-generic'
DKMSKernelVersion: 5.8.0-34-generic
Date: Thu Jan 7 09:37:46 2021
DuplicateSignature: dkms:virtualbox-dkms:6.1.10-dfsg-1~ubuntu1.20.04.1:/var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/linux/SUPDrv-linux.c:760:38: error: ‘cpu_tlbstate’ undeclared (first use in this function); did you mean ‘cpuhp_state’?
Package: virtualbox-dkms 6.1.10-dfsg-1~ubuntu1.20.04.1
PackageVersion: 6.1.10-dfsg-1~ubuntu1.20.04.1
SourcePackage: virtualbox
Title: virtualbox-dkms 6.1.10-dfsg-1~ubuntu1.20.04.1: virtualbox kernel module failed to build
任何帮助都将受到赞赏。
在听取了@Terrace等人的意见后,我尝试从源代码安装。但安装virtualbox-dkms时仍然出错。之后,我直接卸载了virtual-dkms:
sudo apt-get remove virtualbox-dkms
然后重新尝试安装
sudo dpkg -i virtualbox-6.1_6.1.16-140961~Ubuntu~eoan_amd64.deb
```
Wich succeeded. Thank you!
答案1
更新
笔记:
proposed
- 当迁移到时,本指南在不久的将来将变得不再相关release
。
- 6.1.16-dfsg-6~ubuntu1.20.04.1 现在位于商店“ubuntu-focal-updates-multiverse”中,5.8 内核与当前 5.8.0-40-generic 进行了一些更新
如果持续定期更新的话,这应该不是问题。
- 建议选项 1 和 4,以便将来自动更新 VirtualBox。
- 选项 2、3a、3b手动安装 才不是包括 VirtualBox 的自动未来更新。
漏洞
- [SRU] virtualbox 6.1.10-dfsg-1~ubuntu1.20.04.1 ADT 测试与 linux-hwe-5.8 5.8.0-25.26~20.04.1 失败
- Ubuntu 中的 virtualbox 6.1.16-dfsg-6~ubuntu1.20.04.1 源码包
在 Ubuntu 20.04 上安装 VirtualBox 6.1.16
选项 1(简单)
预发布更新(重点建议)
-
- 打开
Software & Updates
Developer Options
- 选择✅
Pre-released updates (focal-proposed)
- 选择
Close
- 在弹出
The information about available software is out-of-date
选择上Reload
- 打开
-
- 打开
Software Updater
- 取消选择所有/任何其他更新,但不包括
VirtualBox
(其子类别中将包含多个包) - 选择
Install Now
- 打开
-
- 重复步骤 1禁用
Pre-released updates (focal-proposed)
您不想更新其他,proposed updates
除非您熟悉它需要什么。
参考。 测试/EnableProposed - Ubuntu Wiki, 建议迁移 - Ubuntu Wiki
- 重复步骤 1禁用
上一篇
漏洞
virtualbox-dkms 6.1.10-dfsg-1~ubuntu1.20.04.1 无法使用内核 5.8 构建
我跟着@Terrance建议并从源安装了 6.1.16。
我以前的虚拟机都正常工作。
編輯:每@BeastOfCaerbannog要求/建议。
在 Ubuntu 20.04 上安装 VirtualBox 6.1.16
选项 2(简单)
- 去下载适用于 Linux 主机的 VirtualBox
- 在下面适用于 Linux 的 VirtualBox 6.1.16
点击Ubuntu 19.10 / 20.04 - 使用 GDebi 软件包安装程序打开
- 安装包
*如果德比未安装> 前往软件商店并安装
*如果出现错误:与已安装的包“virtualbox-qt”冲突> 前往软件商店并删除 Virtualbox 6.1.10
选项 3a.(简单)
- 去下载适用于 Linux 主机的 VirtualBox
- 在下面适用于 Linux 的 VirtualBox 6.1.16
点击Ubuntu 19.10 / 20.04 - 保存下载文件
- 前往下载
- 右键点击下载的软件包 > 使用软件安装打开(或双击,或选择并输入/返回)
- 安装
选项 3b。(高级)
- 在终端
cd Downloads
sudo apt install ./virtualbox-6.1_6.1.16-140961~Ubuntu~eoan_amd64.deb
或者
sudo apt install ./v*
选项 4(高级)
使用 Virtualbox 存储库安装 Virtualbox答案2
选择最新的可运行的 5.4 内核。
我有 20.04,这对我有用:
sudo grub-reboot "1>4"
sudo reboot
或者只是在启动时手动选择 5.4 内核。
我猜这个错误很快就会在 Ubuntu 5.8 内核中被修复。
答案3
Virtualbox 可直接从 ubuntu 存储库安装,因此无需摆弄 Virtualbox 下载、dkms 等。这一切都由 ubuntu 软件包处理,包括具有安全启动功能的 dkms 内容(前提是您已激活它并且正确安装了 MOK 密钥!!)
您只需安装sudo apt install virtualbox
在 Ubuntu 20.04 上,您通常有内核 5.4,而 virtualbox 的版本是 6.1.10。
使用 Ubuntu 20.10,您拥有内核 5.8 和 virtualbox 6.1.14。两者在我的计算机上都运行正常。
试一试! ;-)
希望有帮助
答案4
我设法通过以下指令解决了这个问题
第一步是删除所有当前安装的 VirtualBox
sudo apt-get remove virtualbox
sudo apt-get remove virtualbox-dkms # i have to remove manually
从以下位置下载新版本页
关闭所有正在运行的 VirtualBox 实例
通过运行以下命令进行安装:
sudo dpkg -i virtualbox-6.1_6.1.16-140961~Ubuntu~eoan_amd64.deb
当我尝试使用 apt 安装时出现错误。