Основные команды для WSL

Далее приведены команды WSL в формате, поддерживаемом PowerShell или командной строкой Windows. Чтобы выполнить эти команды из командной строки дистрибутива Bash или Linux, измените wsl на wsl.exe. Для полного списка команд выполните команду wsl --help. Если вы еще не сделали этого, мы рекомендуем обновить версию WSL, установленную из Microsoft Store , чтобы получать обновления WSL сразу после их доступности. (Узнайте больше об установке WSL через Microsoft Store.).

Установка

wsl --install

Установите WSL и дистрибутив Ubuntu по умолчанию Linux. Подробнее. Эту команду можно также использовать для установки дополнительных дистрибутивов Linux, выполнив команду wsl --install <Distribution Name>. Для допустимого списка имен рассылки выполните команду wsl --list --online.

Возможные варианты:

  • --distribution: укажите дистрибутив Linux для установки. Доступные дистрибутивы можно найти, выполнив команду wsl --list --online.
  • --no-launch: установите дистрибутив Linux, но не запускайте его автоматически.
  • --web-download: установите из интернет-источника, а не с помощью Microsoft Store.

Если WSL не установлен, включите следующие параметры:

  • --inbox: устанавливает WSL с помощью компонента Windows вместо использования Microsoft Store. (Обновления WSL будут получены через обновления Windows, а не вытеснены как доступные через магазин).
  • --enable-wsl1: включает WSL 1 во время установки версии WSL в Microsoft Store, также включив необязательный компонент "подсистема Windows для Linux".
  • --no-distribution: не устанавливайте дистрибутив при установке WSL.

Примечание.

Если вы запускаете WSL в Windows 10 или более старой версии, может потребоваться включить флаг с --install командой, чтобы указать -d распределение: wsl --install -d <distribution name>

Список доступных дистрибутивов Linux

wsl --list --online

Выводит список дистрибутивов Linux, доступных в интернет-магазине. Эту команду можно также указать так: wsl -l -o.

Список установленных дистрибутивов Linux

wsl --list --verbose

Выводит список дистрибутивов Linux, установленных на компьютере под управлением Windows, в том числе состояние (независимо от того, запущен дистрибутив или остановлен) и версию WSL, в которой работает дистрибутив (WSL 1 или WSL 2). Применяется в WSL 1 и WSL 2. Эту команду можно также указать так: wsl -l -v. Дополнительные параметры, которые можно использовать с командой list: --all — для перечисления всех дистрибутивов, --running — для вывода списка только тех дистрибутивов, которые запущены в данный момент, --quiet — для отображения только имен дистрибутивов.

Указание версии WSL (1 или 2)

wsl --set-version <distribution name> <versionNumber>

Чтобы указать версию WSL (1 или 2), в которой работает дистрибутив Linux, измените <distribution name> на имя дистрибутива, а <versionNumber> — на число 1 или 2. Применяется в WSL 1 и WSL 2. Подсистема WSL 2 доступна только в Windows 11 или Windows 10 версии 1903, сборки 18362 или выше.

Предупреждение

Переключение между WSL 1 и WSL 2 может занять много времени и привести к сбоям из-за различий между двумя архитектурами. Для дистрибутивов с большими проектами рекомендуется создать резервную копию файлов перед попыткой преобразования.

Указание версии WSL по умолчанию

wsl --set-default-version <Version>

Чтобы задать версию WSL 1 или WSL 2 по умолчанию, замените <Version> номер 1 или 2. Например, wsl --set-default-version 2. Номер представляет версию WSL по умолчанию для новых установок дистрибутива Linux. Применяется в WSL 1 и WSL 2. Подсистема WSL 2 доступна только в Windows 11 или Windows 10 версии 1903, сборки 18362 или выше.

Указание дистрибутива Linux по умолчанию

wsl --set-default <Distribution Name>

Чтобы задать дистрибутив Linux по умолчанию, который команды WSL будут использовать для запуска, измените <Distribution Name> на имя предпочитаемого дистрибутива Linux.

Изменение каталога на домашний

wsl ~

Команду ~ можно использовать с WSL для запуска в домашнем каталоге пользователя. Чтобы в командной строке WSL вернуться в домашний каталог из другого, можно использовать команду cd ~.

Запуск определенного дистрибутива Linux из PowerShell или CMD

wsl --distribution <Distribution Name> --user <User Name>

Чтобы запустить определенный дистрибутив Linux от имени конкретного пользователя, измените <Distribution Name> на имя предпочитаемого дистрибутива Linux (например, Debian), а <User Name> — на имя существующего пользователя (например, root). Если указанный пользователь не существует в дистрибутиве WSL, появится сообщение об ошибке. Чтобы ввести имя текущего пользователя, выполните команду whoami.

Обновление WSL

wsl --update

Обновите версию WSL до последней версии. Возможные варианты:

  • --web-download: скачайте последнее обновление из GitHub, а не в Microsoft Store.

Проверка состояния WSL

wsl --status

Отображает общие сведения о конфигурации WSL, такие как тип дистрибутива по умолчанию, дистрибутив по умолчанию и версия ядра.

Проверка версии WSL

wsl --version

Проверьте сведения о версии WSL и его компонентах.

Команда help

wsl --help

Отображает список параметров и команд, доступных в WSL.

Выполнение от имени определенного пользователя

wsl --user <Username>

Чтобы запустить WSL в качестве указанного пользователя, замените <Username> именем пользователя, который существует в распределении WSL.

Изменение пользователя по умолчанию для распределения

<DistributionName> config --default-user <Username>

Измените пользователя по умолчанию для входа распределения. Чтобы стать пользователем по умолчанию, пользователь должен уже существовать в распределении.

Например, ubuntu config --default-user johndoe изменит пользователя по умолчанию для распределения Ubuntu на пользователя "johndoe".

Примечание.

Если вам не удается определить имя распределения, используйте команду wsl -l.

Предупреждение

Эта команда не будет работать для импортированных дистрибутивов, так как у них нет исполняемого средства запуска. Вместо этого можно изменить пользователя по умолчанию для импортированных дистрибутивов с помощью файла /etc/wsl.conf. См. раздел "Параметры автоматического подключения" в документе Настройка дополнительных параметров.

Завершение работы

wsl --shutdown

Немедленно завершает работу всех запущенных дистрибутивов и облегченной служебной виртуальной машины с WSL 2. Эта команда может потребоваться в экземплярах, требующих перезапуска среды виртуальных машин WSL 2, например при изменении ограничений использования памяти или внесении изменений в файл .wslconfig.

Увольнение

wsl --terminate <Distribution Name>

Чтобы завершить работу определенного дистрибутива или остановить его выполнение, замените <Distribution Name> именем нужного дистрибутива.

Определение IP-адреса

  • wsl hostname -i для IP-адреса дистрибутива Linux, установленного через WSL 2 (адрес виртуальной машины WSL 2)
  • cat /etc/resolv.conf для IP-адреса компьютера Windows, как показано на виртуальной машине WSL 2 (виртуальная машина WSL 2)

Экспорт дистрибутива

wsl --export <Distribution Name> <FileName>

Экспортирует моментальный снимок указанного распределения в виде нового файла распространения. По умолчанию используется формат tar. Имя файла может быть - для стандартных входных данных. Возможные варианты:

  • --vhd: указывает, что распределение экспорта должно быть VHDX-файлом вместо tar-файла (это поддерживается только с помощью WSL 2)

Импорт дистрибутива

wsl --import <Distribution Name> <InstallLocation> <FileName>

Импорт указанного TAR-файла в качестве нового дистрибутива. Имя файла может быть - для стандартных входных данных. Возможные варианты:

  • --vhd: указывает распределение импорта должно быть VHDX-файлом вместо tar-файла (это поддерживается только с помощью WSL 2)
  • --version <1/2>: указывает, следует ли импортировать распределение в виде дистрибутива WSL 1 или WSL 2.

Импорт распределения на месте

wsl --import-in-place <Distribution Name> <FileName>

Импортирует указанный VHDX-файл в качестве нового дистрибутива. Виртуальный жесткий диск должен быть отформатирован в типе файловой системы ext4.

Отмена регистрации или удаление дистрибутива Linux

Хотя распределения Linux можно устанавливать из Microsoft Store, через Store их удалить невозможно.

Чтобы отменить регистрацию и удалить распределение WSL, выполните следующие действия:

wsl --unregister <DistributionName>

При замене <DistributionName> именем целевого распределения Linux регистрация этого распределения в WSL будет отменена, чтобы его можно было переустановить или очистить. Внимание. После отмены регистрации все данные, параметры и программное обеспечение, связанные с этим распределением, будут безвозвратно утеряны. При переустановке из Store будет установлена чистая копия дистрибутива. Например, wsl --unregister Ubuntu удалит Ubuntu из распределений, доступных в WSL. После запуска wsl --list раскроет, что он больше не в списке.

Вы также можете удалить приложение дистрибутива Linux на компьютере под управлением Windows так же, как и любое другое приложение из Store. Чтобы переустановить его, найдите это распределение в Microsoft Store и нажмите "Запустить".

Подключение диска или устройства

wsl --mount <DiskPath>

Позволяет подключить физический диск во всех дистрибутивах WSL 2, изменив <DiskPath> на путь к каталогу или файлу, где расположен диск. См. статью Подключение диска Linux в WSL 2. Возможные варианты:

  • --vhd: указывает, что <Disk> относится к виртуальному жесткому диску.
  • --name: подключение диска с помощью настраиваемого имени для точки подключения
  • --bare: подключение диска к WSL 2 без подключения к файловой системе.
  • --type <Filesystem>: тип файловой системы, используемой при подключении диска, если не указано значение по умолчанию (ext4). Эту команду можно также указать так: wsl --mount -t <Filesystem>. Тип файловой системы можно определить с помощью команды blkid <BlockDevice>, например: blkid <dev/sdb1>.
  • --partition <Partition Number>: номер раздела для подключения согласно индексу, если не указан вариант по умолчанию (весь диск).
  • --options <MountOptions>. Некоторые параметры, относящиеся к файловой системе, можно добавить при подключении диска. Например, параметры подключения к ext4: wsl --mount -o "data-ordered" или wsl --mount -o "data=writeback. Но сейчас поддерживаются только параметры, относящиеся к файловой системе. Общие параметры, такие как ro, rw или noatime, не поддерживаются.

Примечание.

Если для доступа к wsl.exe (64-разрядному средству) используется 32-разрядный процесс, вам может потребоваться выполнить указанную выше команду следующим образом: C:\Windows\Sysnative\wsl.exe --command.

Отключите диски

wsl --unmount <DiskPath>

Отключите диск, указанный в пути к диску, если путь к диску не указан, эта команда отключит и отсоединит все подключенные диски.

Нерекомендуемые команды WSL

wslconfig.exe [Argument] [Options]
bash [Options]
lxrun /[Argument]

Эти команды с исходным синтаксисом WSL использовались для настройки дистрибутивов Linux, установленных с помощью WSL, но были заменены командами с синтаксисом wsl или wsl.exe.