Ubuntu系统内核.config文件位置及复制权限拒绝问题排查
关于Ubuntu系统内核.config文件的位置与权限问题解答
一、Ubuntu系统中内核.config文件的位置
- 当前运行内核的配置文件默认位于
/boot/config-$(uname -r),其中$(uname -r)会自动替换为当前系统的内核版本号 - 若手动编译过内核,对应的
.config文件会保存在当时使用的内核源码目录下(例如~/linux-5.15/.config,具体路径取决于源码存放位置) - 也可通过安装
linux-source包获取官方各版本内核的配置文件,安装后文件会存放在/usr/src/linux-source-<版本号>目录下(通常为压缩状态)
二、执行/boot/config$(uname -r)出现Permission denied的原因及解决方法
原因
- 你错误地尝试直接执行这个配置文件,但它本质是纯文本文件,不具备可执行权限,bash尝试运行非可执行文件时会触发权限拒绝错误
/boot目录下的文件默认归root用户所有,普通用户即使拥有读权限,也无法直接执行该目录下的文件(何况它本身不是可执行程序)
解决方法
你的需求是复制配置文件到内核树,而非执行它,正确操作如下:
- 确认内核源码树的存放路径(示例为
~/linux,请替换为你的实际路径) - 使用
sudo提升权限完成复制(因/boot下文件属于root):
sudo cp /boot/config-$(uname -r) ~/linux/.config
- 若内核源码版本与当前运行内核版本存在差异,进入源码目录后可执行以下命令适配配置:
cd ~/linux make oldconfig
内容的提问来源于stack exchange,提问作者Anthony_davi98
相关产品推荐
相关产品推荐

