====== Установка 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