Содержание

Установка WSL2 (ручная установка)

Windows 10 версии 2004 и выше (сборка 19041 и выше) или Windows 11 (источник)

Установка

  1. Выберите папку для хранения копий установок, например C:\WSL
  2. Определитесь с версией операционной системы, например Ubuntu 22.04
    Версию можно подсмотреть по этой ссылке: releases (20-) или wsl (22+)
  3. Загрузите архив выбранной версии с пометкой amd64-wsl в папку из п.1
    Вот несколько прямых ссылок:
  4. Выберите понятное имя для новой установки, например ubuntu-22.04
  5. Откройте командную строку, введите команды по порядку построчно:
    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, замените имя архива на своё

  6. Запустится выбранная версия ОС от администратора 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
  7. Вы вернулись в командную строку, теперь введите две команды:
    • Выключите ОС:
      wsl --shutdown %PrettyName%
    • Запустите ОС:
      wsl -d %PrettyName%
  8. Рекомендуется также ввести эти команды для настройки:
    # отключить сообщение при запуске
    touch ~/.hushlogin
    
    # красивое сообщение при запуске
    #sudo apt update && sudo apt install wslu
    echo wslfetch >> ~/.bashrc
    
    # вывод понятного имени при запуске
    echo echo понятное_имя >> ~/.bashrc
    
    # убрать лишние звуки-оповещения
    echo set bell-style none >> ~/.inputrc
    
    # возврат в командную строку
    exit
  9. Для быстрой перезагрузки (или включения) ОС скачайте файл на выбор:
    • Закрыть командную строку после exit:
      wsl2-reboot_RenameMe.bat
      @echo off
      title %~n0
      wsl --shutdown %~n0
      wsl -d %~n0
    • Вернуться в командную строку после exit:
      wsl2-reboot_RenameMe.bat
      @echo off
      title %~n0
      wsl --shutdown %~n0
      cmd /k wsl -d %~n0

      и переименуйте его в понятное_имя, сохраняя .bat
      После запуска этого файла появится окно выбранной ОС

Удаление

Вручную

Скриптом

wsl2-remove.bat
@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"
	)
)

Экспорт

Вручную

Скриптом

wsl2-export.bat
@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
)

Импорт

Вручную

Скриптом

wsl2-import.bat
@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
)

Проблемы