目前我在 21.10 发行版中的 wsl2 下,内核是5.10.60.1-microsoft-standard-WSL2
。
如果我继续安装其中一个主流 ubuntu 内核那里?
答案1
在最好的情况下,你会得到一个极度未优化的 WSL 系统。在最坏的情况下,它根本无法启动。
我确实半心半意地尝试过5.15WSL 下的内核:
- 下载并安装
.deb
- 将其复制
vmlinuz-5.15.0-051500-generic
到我的 Windows 用户配置文件中的一个目录中 - 编辑我的
%userprofile%\.wslconfig
添加适当的内核指针 wsl --shutdown
尝试启动我的任何 WSL 实例(任何发行版)失败。没有错误,只是锁定了命令,wsl
直到我wsl --shutdown
在另一个 PowerShell 会话中发出另一个命令。
我说“半心半意”,是因为我可以更进一步。看看现有的 WSL 内核,它们似乎没有压缩。所以我可以尝试解压 Ubuntu 内核。
但无论如何,我对它能否带来回报(或是否非常有用)并不抱太大希望。
请注意,微软确实维护自己的WSL2 内核存储库需要进行修改以针对 WSL2 进行优化。至少,.config
与 Ubuntu 原版内核配置非常不同。出于好奇,我花了一些时间扫描了其中的一个vimdiff
,但我绝不是内核配置方面的专家。
诸如虚拟化之类的功能已在原版 Ubuntu 内核中启用,因此这不是问题。但有一件事确实引起了我的注意,那就是原版 Ubuntu 内核当然需要支持电源管理的物理或虚拟“硬件”。WSL 则不支持。没有“开机”、“挂起”等功能。如果电源管理子系统 (ACPI) 在 WSL 下使系统进入睡眠状态,则无法“唤醒”系统。
两者之间还有大量其他差异。我确信其中许多是 WSL 端的优化(甚至是要求)。
顺便说一句,似乎是微软提供的内核的一个稍新的版本。上周发布了linux-msft-wsl-5.10.74.3
。它应该很快就能用了wsl --update
(或通过 Windows 自动更新)。或者您可以从提供的源下载并自行编译。