无法下载4.14.11-300.fc27.x86_64内核,VirtualBox运行故障求助
解决Fedora下VirtualBox内核头文件版本不匹配问题
我之前在Fedora 27上折腾VirtualBox时,也碰到过一模一样的内核版本不匹配问题,给你几个实测有效的解决步骤:
1. 先明确当前系统的内核状态
首先先确认你当前正在运行的内核,以及已安装的内核头文件版本,跑这两条命令:
uname -r rpm -qa | grep kernel-devel
从你的描述看,结果应该是当前内核是4.14.11-300.fc27.x86_64,但kernel-devel装的是最新的4.15.3-300.fc27——这说明系统已经更新了内核包,但你还没重启切换到新内核,或者旧版本的内核头文件已经被yum源移除了。
2. 安装与当前运行内核匹配的头文件
如果直接用yum install "kernel-devel-uname-r == $(uname -r)"没生效,大概率是这个旧版本的内核头文件已经不在默认yum源里了(Fedora会把旧版本包移到归档仓库)。先启用归档源:
sudo dnf install fedora-repos-archive
然后安装完全匹配的内核头文件和依赖:
sudo dnf install kernel-devel-$(uname -r) kernel-headers-$(uname -r) gcc make
3. 或者直接切换到最新内核(更推荐)
如果你的系统已经更新到4.15.3-300.fc27内核,其实更省事的方法是重启系统,让系统运行最新内核,之后再安装对应版本的头文件:
sudo reboot # 重启完成后执行 sudo dnf install kernel-devel gcc make
这样内核和头文件版本就自动对齐了。
4. 最后重新编译VirtualBox内核模块
不管用哪种方法解决了版本问题,都要重新编译VirtualBox的内核模块,确保它能正常加载:
sudo /sbin/vboxconfig
如果执行时报错,先关掉所有VirtualBox相关进程,再重新运行这条命令。
避坑提示
以后Fedora更新内核后,一定要先重启系统,再安装对应的kernel-devel包,或者直接用这条命令一次性更新内核并匹配头文件:
sudo dnf upgrade kernel* && sudo reboot
这样就能避免再碰到版本不匹配的问题。
内容的提问来源于stack exchange,提问作者JohnCalms
相关产品推荐
相关产品推荐

