替换WSL内核
点击展开摘要
本文介绍如何在WSL Ubuntu 24.04中替换默认内核,使用自定义编译的 Linux 内核。
替换 WSL2 的 Linux 内核
本文介绍如何在 WSL Ubuntu 24.04(宿主机为 Windows 11 25H2)中替换默认内核,使用自定义编译的 Linux 内核。
1. 安装编译依赖
在 WSL 终端中运行以下命令安装必要工具:
sudo apt install build-essential flex bison dwarves libssl-dev libelf-dev libncurses5-dev
2. 下载内核源码
从 kernel.org 选择目标版本(如 v6.18.7),并克隆源码:
git clone --depth=1 --branch=v6.18.7 https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
cd linux
3. 获取 .config 配置文件
下载适用于 WSL2 的配置文件并保存为 .config:
wget -O .config https://blog-sb.abc6.fun/config_file.txt
4. 编译内核
执行编译命令(使用全部 CPU 核心):
make -j$(nproc) bzImage
过程中若出现配置提示,直接按回车使用默认选项。编译成功后将显示:
Kernel: arch/x86/boot/bzImage is ready (#1)
⏱️ 编译时间因机器而异:实测约 1 分钟(部分用户报告长达 12 分钟)。
5. 复制内核到 Windows 主机
进入内核输出目录并打开 Windows 文件资源管理器:
cd arch/x86/boot
explorer.exe .
将 bzImage 文件复制到 Windows 目录,例如:
C:\Users\YourName\wsl2-kernel\bzImage
6. 配置 WSL 使用新内核
在 Windows 用户目录下创建或编辑 .wslconfig 文件(路径:C:\Users\%USERNAME%\.wslconfig),添加以下内容:
[wsl2]
kernel=C:\\Users\\YourName\\wsl2-kernel\\bzImage
⚠️ 注意:路径中的反斜杠需双写(\\),且避免使用系统保护目录(如System32)。
7. 重启并验证
在 PowerShell 中关闭 WSL:
wsl --shutdown
重新启动 WSL 终端,运行以下命令确认内核版本:
uname -a
若输出包含 6.18.7 或你编译的版本号,则替换成功!