====== Установка WSL2 (ручная установка) ====== Windows 10 версии 2004 и выше (сборка 19041 и выше) или Windows 11 ([[https://docs.microsoft.com/ru-ru/windows/wsl/install|источник]]) ===== Установка ===== - Выберите папку для хранения копий установок, например ''C:\WSL'' - Определитесь с версией операционной системы, например ''Ubuntu 22.04''\\ Версию можно подсмотреть по этой ссылке: [[https://cloud-images.ubuntu.com/releases/|releases (20-)]] или [[https://cloud-images.ubuntu.com/wsl/|wsl (22+)]] - Загрузите архив выбранной версии с пометкой ''amd64-wsl'' в папку из п.1\\ Вот несколько прямых ссылок: * 18.04 (общие хэши): * https://cloud-images.ubuntu.com/releases/bionic/release-20230607/ubuntu-18.04-server-cloudimg-amd64-wsl.rootfs.tar.gz * https://cloud-images.ubuntu.com/releases/bionic/release/ubuntu-18.04-server-cloudimg-amd64-wsl.rootfs.tar.gz * 20.04: * https://cloud-images.ubuntu.com/releases/focal/release-20240710/ubuntu-20.04-server-cloudimg-amd64-wsl.rootfs.tar.gz * 22.04 (разные хэши): * http://cloud-images-archive.ubuntu.com/releases/jammy/release-20220923/ubuntu-22.04-server-cloudimg-amd64-wsl.rootfs.tar.gz (HTTP!) * https://cloud-images.ubuntu.com/wsl/releases/jammy/current/ubuntu-jammy-wsl-amd64-wsl.rootfs.tar.gz * 24.04: * https://cloud-images.ubuntu.com/wsl/releases/noble/current/ubuntu-noble-wsl-amd64-wsl.rootfs.tar.gz - Выберите понятное имя для новой установки, например ''ubuntu-22.04'' - Откройте командную строку, введите команды по порядку построчно:rem set StorageDir=%cd% set StorageDir=папка_пункт1 set PrettyName=понятное_имя rem wsl --import %PrettyName% %StorageDir%\%PrettyName% %StorageDir%\ubuntu-18.04-server-cloudimg-amd64-wsl.rootfs.tar.gz rem wsl --import %PrettyName% %StorageDir%\%PrettyName% %StorageDir%\ubuntu-20.04-server-cloudimg-amd64-wsl.rootfs.tar.gz wsl --import %PrettyName% %StorageDir%\%PrettyName% %StorageDir%\ubuntu-22.04-server-cloudimg-amd64-wsl.rootfs.tar.gz rem wsl --import %PrettyName% %StorageDir%\%PrettyName% %StorageDir%\ubuntu-jammy-wsl-amd64-wsl.rootfs.tar.gz rem wsl --import %PrettyName% %StorageDir%\%PrettyName% %StorageDir%\ubuntu-noble-wsl-amd64-wsl.rootfs.tar.gz wsl -l -v wsl -d %PrettyName%Русский текст, что очевидно, необходимо заменить на выбранные значения (текст)\\ Если выбранная версия Ubuntu отличается от ''22.04'', замените имя архива на своё - Запустится выбранная версия ОС от администратора ''root''\\ Здесь и далее строки, начинающиеся со знака ''#'', не вводятся\\ Для добавления пользователя введите команды поблочно:NEW_USER=имя_пользователя useradd -m -G sudo -s /bin/bash "$NEW_USER" # после этой команды введите пароль дважды passwd "$NEW_USER" # сообщение "passwd: password updated successfully" - успех tee /etc/wsl.conf <<_EOF [user] default=${NEW_USER} _EOF # сообщение "[user] / default=имя_пользователя" - успех exit - Вы вернулись в командную строку, теперь введите две команды: * Выключите ОС: wsl --shutdown %PrettyName% * Запустите ОС: wsl -d %PrettyName% - Рекомендуется также ввести эти команды для настройки:# отключить сообщение при запуске touch ~/.hushlogin # красивое сообщение при запуске #sudo apt update && sudo apt install wslu echo wslfetch >> ~/.bashrc # вывод понятного имени при запуске echo echo понятное_имя >> ~/.bashrc # убрать лишние звуки-оповещения echo set bell-style none >> ~/.inputrc # возврат в командную строку exit - Для быстрой перезагрузки (или включения) ОС скачайте файл на выбор: * Закрыть командную строку после exit:@echo off title %~n0 wsl --shutdown %~n0 wsl -d %~n0 * Вернуться в командную строку после exit:@echo off title %~n0 wsl --shutdown %~n0 cmd /k wsl -d %~n0и переименуйте его в ''понятное_имя'', сохраняя ''.bat''\\ После запуска этого файла появится окно выбранной ОС ===== Удаление ===== ==== Вручную ==== * Проверяем ''понятное_имя''wsl -l -v * Выключаем ''понятное_имя''wsl --shutdown понятное_имя * Удаляем ''понятное_имя''wsl --unregister понятное_имя ==== Скриптом ==== @echo off title %~n0 if "%~n1" equ "" ( echo Usage: %~nx0 NAME echo. wsl -l -v echo. pause ) else ( echo Param: NAME=%~n1 echo. wsl -l -v echo. wsl --shutdown %~n1 wsl --unregister %~n1 if exist %~n1 rd %~n1 if exist %~n1.bat del /q %~n1.bat if exist "%AppData%\Microsoft\Windows\Start Menu\Programs\%~n1" ( rd /s /q "%AppData%\Microsoft\Windows\Start Menu\Programs\%~n1" ) ) ===== Экспорт ===== ==== Вручную ==== * Проверяем ''понятное_имя''wsl -l -v * Экспортируем ''понятное_имя''wsl --export понятное_имя понятное_имя.tar ==== Скриптом ==== @echo off title %~n0 if "%~n1" equ "" ( echo Usage: %~nx0 NAME echo. wsl -l -v echo. pause ) else ( echo Param: NAME=%~n1 echo. wsl -l -v echo. wsl --shutdown %~n1 if exist %~n1.tar del /q %~n1.tar wsl --export %~n1 %~n1.tar ) ===== Импорт ===== ==== Вручную ==== * wsl --import понятное_имя папка_пункт1 понятное_имя.tar ==== Скриптом ==== @echo off title %~n0 if "%~n1" equ "" ( echo Usage: %~nx0 NAME echo. wsl -l -v echo. pause ) else ( echo Param: NAME=%~n1 echo. wsl -l -v echo. wsl --shutdown %~n1 wsl --unregister %~n1 if exist %~n1 rd /s /q %~n1 wsl --import %~n1 %cd%\%~n1 %~n1.tar ) ===== Проблемы ===== * Перенос ''home'' на внешнюю ФС: https://askubuntu.com/questions/250862/properly-modify-home-dir