1.下载必要的工具

sudo apt install ncurses-dev
sudo apt install flex
sudo apt install bison
sudo apt install libssl-dev

2.下载gitee上的内核源码

git clone -b linux-msft-wsl-5.10.60.1 --depth=1 https://gitee.com/mirrors/WSL2-Linux-Kernel.git

3.menuconfig基于config-wsl修改配置,ubuntu上默认是基于.config的配置编译,menuconfig的修改会默认写入.config,但是wsl最好指定config-wsl编译

make menuconfig KCONFIG_CONFIG=Microsoft/config-wsl

4.指定config-wsl编译

cd WSL2-Linux-Kernel
make KCONFIG_CONFIG=Microsoft/config-wsl -j$(nproc)

PS:Make menuconfig和make defconfig编译出来的内核大小都不对,需要用WSL2-Linux-Kernel/Microsoft/config-wsl作为编译的配置文件

查看WSL2-Linux-Kernel/Microsoft/config-wsl,可以修改编译出来的内核路径的名称,以下,我将CONFIG_LOCALVERSION修改为-WSL,那么编译完成之后,就会在/lib/module/生成名称为5.10.x-WSL2的目录,以后makefile中uname -r指定的目录就是这个目录,也可以自行修改目录后缀名

编译完成后,会在

5.安装模块

sudo make KCONFIG_CONFIG=Microsoft/config-wsl modules_install -j$(nproc)

6.安装内核

sudo make KCONFIG_CONFIG=Microsoft/config-wsl install -j$(nproc)

 6.替换kernel

bzImage重命名为kernel(第三步成功后会有bzImage的路径),并替换windows下的C:\Windows\System32\lxss\tools下的kernel文件,记得先将原来的kernel备份,如果wsl启动有问题,还能恢复

7.关闭WSL终端

cmd+r,依次输入以下命令,重启wsl,并开启wsl,如果wsl成功启动则内核替换成功

wsl --shutdown
wsl

成功后如下图

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐