- Скачать любой дистрибутив для WSL2, пример будет на Ubuntu-22.04
- В консоли Ubuntu, в папке пользователя клонируем официальный репозиторий ядра WSL2 в папку wsl
git clone --recursive https://github.com/microsoft/WSL2-Linux-Kernel.git wsl
- Заходим в папку wsl и меняем там файл Microsoft/config-wsl, в нем нужно изменить Название ядра с дефолтного на свое и сохранить изменения
CONFIG_LOCALVERSION="-WSL2-CUSTOM-KERNEL"
- Нужно будет поставить в Ubuntu несколько пакетов для компиляции ядра, в моем случае нужны были следующие:
sudo apt update && sudo apt dist-upgrade -y
sudo apt install make build-essential flex bison libssl-dev libelf-dev dwarves
- При компиляции ядра могут вылезать ошибки, из-за нехватки нужных пакетов, их просто нужно доустонавливать и снова запускать компиляцию, благо она будет продолжаться с момента остановки, а не с начала.
make O=out KCONFIG_CONFIG=Microsoft/config-wsl
- В итоге после успешной компиляции ядра в консоли будет написан путь по которому лежит свежеиспеченное ядро, идем забираем его и копируем в какую-нибудь папку windows
#Путь до скомпилированного ядра обычно такой
\\wsl$\Ubuntu-22.04\home\user\wsl\out\arch\x86\boot\bzImage
#Копируем его, например в
C:\CutomLinuxKernel\bzImage
- Создаем в папке пользователя windows файл .wslconfig с таким содержанием
[wsl2]
kernel=C:\\CutomLinuxKernel\\bzImage
- Полностью гасим подсистему WSL2 со всеми дистрибутивами через PowerShell
wsl --shutdown
- Готово! Запускаем любой дистрибутив и проверяем версию ядра
uname -a
- Для штатного обновления ядра для WSL2 вообще предусмотренна команда wsl --update, но у меня она не работала