最好的linux开发者是微软吗 ? WSL2 如何升级linux内核到v6

最好的linux开发者是微软吗 😄? WSL2 如何升级linux内核到v6

WSL2 是什么

Windows Subsystem for Linux (WSL ) ,是 Windows 的 Linux 子系统。 可让开发人员直接在 Windows 上按原样运行 GNU/Linux 环境(包括大多数命令行工具、实用工具和应用程序),且不会产生传统虚拟机或双启动设置开销。

WSL2 vs WSL1

WSL 2 是对基础体系结构的一次重大改造,它使用虚拟化技术和 Linux 内核来实现其新功能。 此更新的主要目标是提高文件系统性能和添加完全的系统调用兼容性。我们建议使用 WSL 2,因为它提供更快的性能和100% 的系统调用兼容性

功能WSL1WSL2
Windows 和 Linux 之间的集成
启动时间短
与传统虚拟机相比,占用的资源量少
可以与当前版本的 VMware 和 VirtualBox 一起运行
托管 VM
完整的 Linux 内核
完全的系统调用兼容性
跨 OS 文件系统的性能
systemd 支持
IPv6 支持

安装

见微软官方安装说明

可以更换wsl2的内核吗

1、 内核版本查看

安装好wsl2后, 通过wsl命令或者wsl -d 进入发行版。
通过uname -a 命令查看默认wsl2的内核
在这里插入图片描述

我这边安装好的linux发行版,默认的linux内核是Linux ubuntu24 5.15.146.1-microsoft-standard-WSL2 ,可以看出linux内核是5.X版本的,并且是微软为wsl2定制的。虽然内核版本5.x 可能对大多数用户来说已经足够了,但在某些情况下,你可能需要最新版本。

2、 构建v6.1.x内核

1、打开 WSL 终端窗口并启动你选择的发行版(例如:Ubuntu)

2、从 GitHub 克隆 Microsoft Linux 内核仓库:

git clone https://github.com/microsoft/WSL2-Linux-Kernel.git --depth=1 -b linux-msft-wsl-6.1.y

3、安装构建内核所需的软件包:

sudo apt update && sudo apt install build-essential flex bison libssl-dev libelf-dev bc python3 pahole

4、进入内核所在目录:

cd WSL2-Linux-Kernel

5、编译内核:

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

编译内核需要一定的时间,请耐心等待哦,看到下图提示时,说明内核编译完成了

在这里插入图片描述

6、安装内核模块和头文件:

sudo make modules_install headers_install

通过file命令查看内核镜像基本信息

file arch/x86/boot/bzImage

得到下面的输出

~/workspace/WSL2-Linux-Kernel (linux-msft-wsl-6.1.y*) # file arch/x86/boot/bzImage                                                            root@ubuntu24
arch/x86/boot/bzImage: Linux kernel x86 boot executable bzImage, version 6.1.21.2-microsoft-standard-WSL2+ (root@ubuntu24) #2 SMP Thu Jun  6 21:59:05 CST 2024, RO-rootFS, swap_dev 0XE, Normal VGA
-----------------------------------------------

可以看出bzImage文件是可执行的linux内核程序,版本为version 6.1.21.2-microsoft-standard-WSL2+

7、拷贝内核镜像到windows目录,我这边拷贝到E盘了:

cp arch/x86/boot/bzImage /mnt/e/

8、退出wsl的终端窗口

3、 安装wsl2的v6.1.xlinux内核

一旦构建了 Microsoft Linux 内核,您就可以配置 WSL 以使用它而不是原始内核,如下所示:

1、编辑文件 %USERPROFILE%.wslconfig (如果没有这个文件,需要创建)输入以下内容:

[wsl2]
kernel=E:\\bzImage

2、以管理员权限打开PowerShell终端窗口

3、停止wsl实例

 wsl --shutdown

4、 使用v6.1.x内核

安装并配置新的 Microsoft Linux 内核 v6.1.x 后,您现在可以启动 WSL2 发行版并检查内核版本,如下所示:

1、打开 WSL 终端窗口并启动你选择的发行版(例如:Ubuntu)

打开默认的发行版

 wsl 

或者使用以下命令打开指定的发行版

 wsl  -d  <发行版名称>

2、检查内核:

uname -r

可以看到如下的输出

~ # uname -a                                                                                                                            root@ubuntu24
Linux ubuntu24 6.1.21.2-microsoft-standard-WSL2+ #1 SMP Mon Jun  3 22:31:43 CST 2024 x86_64 x86_64 x86_64 GNU/Linux

至此,内核已经更换成功了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值