我在使用 Linux 标头时遇到了问题,当我使用 uname 命令检查我的版本时,它与 usr/src/ 中的版本不同。我尝试下载(删除当前版本),但无法下载,因为版本太旧了。问题的根源在于我无法启动 virtualbox 或 vmware,原因就在于此。希望您能帮助我。谢谢!
uname -r
3.13.0-35-generic
VmWare
Kernel headers for version 3.13.0-35-generic not found
usr/src$ ls
linux linux-headers-3.16.0-24 linux-headers-3.16.0-24-generic
/boot$ ls
abi-3.13.0-35-generic config-3.13.0-35-generic grub initrd.img-3.16.0-24-generic memtest86+.elf System.map-3.13.0-35-generic vmlinuz-3.13.0-35-generic
abi-3.16.0-24-generic config-3.16.0-24-generic initrd.img-3.13.0-35-generic memtest86+.bin memtest86+_multiboot.bin System.map-3.16.0-24-generic vmlinuz-3.16.0-24-generic
添加了 Boot ls
答案1
如果您执行该命令,sudo update-grub
它将首先更新您的 grub 启动列表以指向 3.16.0-35 内核,因此它将成为默认内核。
你遇到的情况是,你使用 3.13 而不是“机器上最新的”内核 3.16.0-24 进行启动
答案2
您目前正在运行 3.13很久以前就停止支持的内核。尝试安装linux-generic
将引入相互匹配的内核映像和标头的软件包。然后重新启动。
答案3
您必须下载正确的内核头文件。从我在 Ubuntu 中看到的内容来看,有一个正确的软件包:
linux-headers-3.13.0-35-generic - 32 位 x86 SMP 上 3.13.0 版的 Linux 内核头文件
apt-cache search linux-headers 应该会显示可用的缓存
apt-get 安装 linux-headers-3.13.0-35-generic
我想应该可以帮助你获得正确的 linux-headers。
或者 - 也许更好 - 也更新你的内核并获取适当的标头和源。