[Internal testing communication] 关于自己编译新内核和vbox之间的问题
Tofloor
poster avatar
昨夜的星辰
deepin
6 hours ago
Author

昨天自己编译了最新的7.1.2内核,安装前停止deepin-anything-server这个服务,并禁止其开机自动启动,即可正常完成新内核安装并重启成功

但是virtualbox始终无法解决,哪怕用官网run文件安装也不行,借助AI查询了一下,AI给了下面的回复

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

这个错误是由于新版本 Linux 内核(6.19.x)引入了更严格的 符号命名空间(Symbol Namespace) 检查机制导致的--1

问题原因

  1. 内核符号受保护:从 Linux 内核 6.19 版本开始,cr4_update_irqsoffcr4_read_shadow__flush_tlb_all 这几个符号被移入了一个名为 module:kvm,kvm-amd,kvm-intel 的命名空间-1-2。这意味着只有 KVM 相关的内核模块才能使用它们。
  2. VirtualBox 模块未声明导入vboxdrv 模块调用了这些符号,但其代码中没有声明导入这个命名空间-1。更关键的是,即使手动尝试导入,内核的命名空间机制也禁止外部模块(out-of-tree module)导入这个受保护的命名空间-1
  3. 本质是不兼容:这实际上是 Linux 内核 KVM 模块与 VirtualBox 之间的底层接口不兼容问题-2。由于 VirtualBox 是一个“外部”内核模块,它无法直接使用这些被限制在 KVM 命名空间内的内核函数。

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

不知道AI说的这个原因是否确是如此,如果真这样的话按说VBOX早该改了吧,不然这以后不是麻烦了?

Reply Favorite View the author
All Replies
avatar
root
deepin
4 hours ago
#1

LZ使用的是已经过时的VirtualBox版本,最新版已经支持到 主线 7.1 版内核

============

PS:VirtualBox 7.1.2 (released September 26 2024) 是已严重过时的上古版本

VirtualBox 7.1.x is no longer supported!

7.1.4才支持 6.12 LTS 内核,坚持7.1.2是最新版的话建议使用6.6内核.

VirtualBox 7.1.4 (released October 15 2024)

  • Linux Guest Additions: Introduce initial support for kernel 6.12 (NOTE: In kernel 6.12, KVM initializes virtualization on module loading by default. This prevents VirtualBox VMs from starting. In order to avoid this, either add "kvm.enable_virt_at_load=0" parameter into kernel command line or unload corresponding kvm_XXX module)

======

https://www.virtualbox.org/wiki/Changelog-7.2

===============

VirtualBox 7.2.10 (released June 16 2026)

  • Linux Host and Guest: Added initial support for kernel 7.1

=================

VirtualBox 7.2.8 (released April 21 2026)

tail

Reply View the author
avatar
昨夜的星辰
deepin
3 hours ago
#2
root

LZ使用的是已经过时的VirtualBox版本,最新版已经支持到 主线 7.1 版内核

============

PS:VirtualBox 7.1.2 (released September 26 2024) 是已严重过时的上古版本

VirtualBox 7.1.x is no longer supported!

7.1.4才支持 6.12 LTS 内核,坚持7.1.2是最新版的话建议使用6.6内核.

VirtualBox 7.1.4 (released October 15 2024)

  • Linux Guest Additions: Introduce initial support for kernel 6.12 (NOTE: In kernel 6.12, KVM initializes virtualization on module loading by default. This prevents VirtualBox VMs from starting. In order to avoid this, either add "kvm.enable_virt_at_load=0" parameter into kernel command line or unload corresponding kvm_XXX module)

======

https://www.virtualbox.org/wiki/Changelog-7.2

===============

VirtualBox 7.2.10 (released June 16 2026)

  • Linux Host and Guest: Added initial support for kernel 7.1

=================

VirtualBox 7.2.8 (released April 21 2026)

tail

7.1.2是Linux内核版本号,昨天刚发出来

vbox是官网下载的最新run文件,帖里没写版本号,实际是7.2.10😂

问题是自己编译了kernel 7.1.2,然后遇到vbox内核模块的问题,已有版本是7.2.6,已经尝试过安装VBOX最新版本7.2.10,不过没搞定😭

Reply View the author
avatar
root
deepin
3 hours ago
#3

圖片.png

=====

VirtualBox 7.2.10 在 kernel 7.1.2 下,木有任何问题,因为

VirtualBox 7.2.10 (released June 16 2026)

  • Linux Host and Guest: Added initial support for kernel 7.1

已经支持

=====

至于缺失有关符号的问题估计是 LZ 的内核木有选择配置这些符号造成

tail

Reply View the author
avatar
mozixun
Moderator
2 hours ago
#4
root

LZ使用的是已经过时的VirtualBox版本,最新版已经支持到 主线 7.1 版内核

============

PS:VirtualBox 7.1.2 (released September 26 2024) 是已严重过时的上古版本

VirtualBox 7.1.x is no longer supported!

7.1.4才支持 6.12 LTS 内核,坚持7.1.2是最新版的话建议使用6.6内核.

VirtualBox 7.1.4 (released October 15 2024)

  • Linux Guest Additions: Introduce initial support for kernel 6.12 (NOTE: In kernel 6.12, KVM initializes virtualization on module loading by default. This prevents VirtualBox VMs from starting. In order to avoid this, either add "kvm.enable_virt_at_load=0" parameter into kernel command line or unload corresponding kvm_XXX module)

======

https://www.virtualbox.org/wiki/Changelog-7.2

===============

VirtualBox 7.2.10 (released June 16 2026)

  • Linux Host and Guest: Added initial support for kernel 7.1

=================

VirtualBox 7.2.8 (released April 21 2026)

tail

7.2.8版本我也试过不行

Reply View the author