Подсистема windows для linux как использовать

Среда Windows Subsystem for Linux (WSL) позволяет запускать нативные приложения, писать скрипты, выполнять команды и скрипты Linux непосредственно из Windows без использования эмуляторов или развертывания выделенных виртуальных машин. Актуальной версией среды является WSL 2, в которой используется полноценное ядро Linux (версия ядра 5.15) и обеспечивает полную совместимость с системными вызовами. Образ ядра Linux в WSL представляет собой легкую виртуальную машину, для запуска которой не нужно устанавливать полноценную роль Hyper-V.

Содержание:

  • Как установить Windows Subsystem for Linux (WSL2)?
  • WSL: Установка дистрибутива Linux в Windows
  • Команды для управления WSL в Windows
  • Использование Linux в среде WSL

Вы можете запустить WSL 2:

  • Во всех версиях Windows 10, начиная с 1903, а также в Windows 11 и Windows Server 2022;
  • В настройка BIOS/UEFI компьютера должна быть включена поддержка аппаратной виртуализации: Intel VT (Intel Virtualization Technology) или AMD-V (SVM Mode).

Как установить Windows Subsystem for Linux (WSL2)?

Компонент WSL по умолчанию отключен в Windows. Современных дистрибутивах Windows 10 и Windows 11 для установки среды WSL достаточно выполнить команду:

wsl --install

Этак команда автоматически включит все необходимые компоненты Windows, необходимые для работы WSL, установить обновление ядра Linux для WSL2, загрузит дистрибутив Ubuntu (по-умолчанию) и установит его в WSL.

команда для быстрой установки wsl в windows 10 и 11

Осталось перезагрузить компьютер, и вы можете запускать среду WSL!

Вы можете установить для WSL другой дистрибутив Linux. Выведите список доступных дистрибутивов:

wsl --list --online

Укажите имя дистрибутива Linux, который установить в WSL. Например:

wsl --install -d kali-linux

список доступных дистрибутивов Linux для WSL

Если в BIOS/UEFI компьютера не включена виртуализация, при установке WSL вы получите ошибку:

Installation failed with error 0x80070003 or error 0x80370102” it means that Bios Level Virtualization is not enabled on your computer.

Вы можете установить WSL2 в Windows вручную. Для этого придется вручную последовательно выполнить все этапы, который команда wsl —install запускала автоматически:

  1. Установить WSL
  2. Включить компонент виртуалзации VirtualMachinePlatform
  3. Установить ядро WSL 2
  4. Скачать и установить дистрибутив Linux для WSL

Сначала установите следующие компоненты Windows:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

установить компонент wsl в windows вручную

Перезагрузите компьютер.

Скачаем и установим обновление ядра Linux для WSL2 (WSL2 Linux kernel update package for x64 machines — https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi). Можете скачать пакет вручную или с помощью PowerShell:

Invoke-WebRequest -Uri https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi -OutFile "$($env:userprofile)\Downloads\wsl_update_x64.msi" -UseBasicParsing
Invoke-Item "$($env:userprofile)\Downloads\wsl_update_x64.msi"
rm "$($env:userprofile)\Downloads\wsl_update_x64.msi"

windows subsyste for linux update setup

Еще раз перезагрузите компьютер и назначьте версию WSL 2 в качестве среды по-умолчанию:

wsl --set-default-version 2

wsl2 назначить по умолчанию

WSL: Установка дистрибутива Linux в Windows

После того, как ядро WSL установлено в Windows, вы можете установить один или несколько дистрибутивов Linux на компьютер.

Можно установить пакет с дистрибутивом Linux через Microsoft Store. Доступны следующие дистрибутивы:

  • Ubuntu
  • Debian
  • Kali Linux
  • OpenSUSE
  • Oracle Linux
  • SUSE Linux Enterprise Server
  • Fedora

Найдите нужную версию дистрибутива в Store и установите ее, нажав кнопку Получить (Get).

скачать образ linux для wsl из microsoft store

Если у вас отключен Windows Store, вы хотите установить дистрибутив WSL в Core редакции Windows Server или вам нужно установить WSL на Изолированном от интернета компьютере (оффлайн), вы можете скачать дистрибутив Ubuntu с помощью PowerShell командлета Invoke-WebRequest:

Invoke-WebRequest https://aka.ms/wslubuntu2204 -OutFile ubuntu-2204.appx –UseBasicParsing

Установите пакет для WSL с помощью:

Add-AppxPackage .\ubuntu-2204.appx

После окончания установки появится окно, в котором вам будет предложено указать имя пользователя и пароль для вашего дистрибутива.

задать пароль для wsl

После установки вы можете в меню Пуск появится отдельная программа для запуска Linux.

Также вы можете запустить ваш Linux из отдельной вкладки Windows Terminal или с помощью команды
wsl
.

Команды для управления WSL в Windows

Рассмотрим основные команды для управления ядром и дистрибутивами Linux в WSL.

Проверить текущую версию ядра WSL:

wsl --version

версия wsl в windows

Обновить ядро WSL вручную:

wsl --update

Откатится к предыдущему ядру WSL:

wsl --update rollback

Вывести список установленных версий Linux:

wsl --list

Вывести дистрибутив Linux, который используется по-умолчанию:

wsl --status

Дистрибутив Linux по-умолчанию в WSL можно изменить:

wsl --setdefault Ubuntu

Запустить определенный дистрибутив в WSL:

wsl -d kali-linux

Завершить среду WSL:

wsl --shutdown

Можно войти в WSL Ubuntu под root и сбросить пароль:
ubuntu config --default-user root
Passwd

Вернуть пользователя по умолчанию
ubuntu config --default-user your_username

Для настройки параметров WSL и дистрибутивов Linux используются конфиг файлы:

  • wsl.conf – файл с настройками конкретного дистрибутива Linux (находится в директории /etc)
  • .wslconfig – глобальные настройки WSL, которые применяются ко всем дистрибутовам (находится в профиле пользователя в
    %UserProfile%
    )

Например, если вы хотите ограничить использование оперативной памяти и CPU компьютера дистрибутивами Linux в WSL, создайте такой файл
%UserProfile%\.wslconfig
:

[wsl2]
memory=2GB
processors=2

Использование Linux в среде WSL

Дистрибутив Linux, установленный в WSL является полноценной операционной системой. Поэтому после установки рекомендуется выполнить обновление пакетов. Для Ubuntu выполните команду:

$ sudo apt-get update && sudo apt-get upgrade -y

обновление пакетов в ubuntu wsl

Файловая система вашего дистрибутива Linux хранится в профиле пользователя в виде VHDX файла. Например, виртуальный диск Ubuntu хранится в папке
%USERPROFILE%\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\LocalState

файл vhdx образа диска в linux wsl

Файловая система Linux в WSL монтируется в виде сетевой папки прямо в проводник Windows.

Также для прямого доступа к файлам WSL из Windows можно использовать UNC путь. Например:

notepad \\wsl$\Ubuntu\sysops\home\1122.txt

В свою очередь локальные диски Windows монтируются в WSL в папку mnt. Вывести список файлов папок на диске C:

wsl
ls /mnt
ls/mnt/c

просмот файлов на диске windows из wsl

Другие примеры запуска Linux команд из Windows:
dir | wsl grep Sa
wsl ls ‑la > 123.txt
wsl ls ‑la /proc/cpuinfo
wsl ls ‑la “/mnt/c/Program Files”

Вы можете установить любые пакеты в Linux. Например, установите файловый менеджер Midnight Commander:

$ sudo apt-get install mc

В современной версии WSL 2 вы можете запускать из Windows любые приложения Linux с графическим интерфейсом (X11 и Wayland). Например, установите графический редактор:

$ sudo apt install gimp -y

Чтобы запустить его из Windows просто выполните команду:

wsl gimp

Время на прочтение6 мин

Количество просмотров106K

Раньше моей рабочей машиной был ноутбук, созданный Apple. Я мог делать на нём практически всё что угодно: разрабатывать программы, писать тексты, сочинять музыку, да и много чего ещё. Но мне не давали покоя мысли о том, что я привязан к экосистеме Apple, о том, что я зависим от прихотей этой компании. Поэтому я приступил к поискам чего-то нового.

Я начал собирать рабочую станцию под задачи машинного обучения. Поставил в неё, кроме прочего, отличный процессор, много памяти, достойную видеокарту. Практически все мои задачи я решал в Ubuntu. Правда, для работы с текстами мне нужен был Microsoft Office. Онлайновый Office тогда ещё не появился, и, давайте называть вещи своими именами, LibreOffice — это просто ужас какой-то. Для меня решением стала двойная загрузка в конфигурации Ubuntu — Windows 10. Мне невероятно понравилось то ощущение свободы, которое испытываешь, переходя с ОС от Apple на Ubuntu. А возможности, которые открываются перед тем, кто сам собирает свой компьютер, практически бесконечны.

Двойная загрузка в течение долгого времени полностью меня устраивала. А когда я миллион раз ей воспользовался, появилась технология WSL (Windows Subsystem for Linux, подсистема Windows для Linux). Когда это случилось, я начал решать некоторые свои Linux-задачи в Windows. Правда, даже так, многого для полноценной работы мне ещё не хватало. Но теперь, с выходом WSL 2, у меня возникает такое ощущение, что новая версия WSL способна кардинальным образом изменить ситуацию. Сегодня я предлагаю поговорить о том, как, с помощью WSL 2, перенести задачи по разработке программ из Linux в Windows 10. Я расскажу о новых возможностях WSL 2, и о том, что можно ожидать от этой подсистемы в будущем.

Обзор WSL 2

WSL 2 — это новая версия подсистемы Windows для Linux. В этой версии имеются некоторые изменения, определяющие то, как Linux-дистрибутивы взаимодействуют с Windows.

Microsoft любит Linux

В этом релизе WSL в распоряжении пользователя оказывается улучшенная производительность файловой системы и полная совместимость с системными вызовами. Конечно, у нас есть возможность запускать Linux либо на WSL 1, либо на WSL 2, и, более того, переключаться между разными версиями WSL можно в любое время. WSL 2 — это результат серьёзного усовершенствования базовой архитектуры системы, её новые возможности основаны на технологии виртуализации и на функционале ядра Linux. При этом Microsoft берёт на себя заботу о мелких деталях, поэтому пользователь WSL может просто заниматься своими делами, ни на что не отвлекаясь.

Установка

Microsoft обещает, что в ближайшем будущем установка WSL 2 будет выполняться очень просто, и что Linux можно будет обновлять с использованием механизма обновлений Windows. Пока же процесс установки WSL 2 требует некоторых усилий, но, на самом деле, ничего страшного тут нет.

В этом примере мы установим на Windows 10 Ubuntu 20.04. Надо отметить, что процесс установки будет одним и тем же для всех дистрибутивов Linux, доступных в Microsoft Store. Для начала нужно включить компонент Windows Subsystem for Linux. Для этого надо открыть PowerShell от имени администратора и выполнить следующую команду:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

Далее, нужно обновить WSL до WSL 2. Для этого Windows 10 должна быть обновлена до версии 2004. В BIOS должна быть включена технология виртуализации Intel. Снова воспользуемся PowerShell с административными привилегиями и выполним такую команду:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Для завершения установки WSL и обновления до WSL 2 перезагрузите компьютер. Затем нужно установить WSL 2 в качестве версии WSL, используемой по умолчанию при установке новых дистрибутивов Linux. Для этого, всё так же, пользуясь PowerShell с правами администратора, выполним эту команду:

wsl --set-default-version 2

После того, как вы выполните эту команду, может появиться такое сообщение:

WSL 2 requires an update to its kernel component. For information please visit https://aka.ms/wsl2kernel

Сообщение, выдаваемое при попытке установки WSL 2 как подсистемы Windows для Linux, используемой по умолчанию

Перейдите по указанной ссылке и установите соответствующий MSI-файл, благодаря которому на вашу машину будет установлено ядро Linux для WSL 2. После того, как ядро будет установлено, выполните вышеприведённую команду снова. Теперь она должна завершиться успешно, не выдавая подобного сообщения.

Теперь осталось лишь установить нужный дистрибутив Linux. Для этого надо открыть Microsoft Store и поискать там Ubuntu 20.04 LTS. После установки дистрибутива в меню Пуск должен появиться ярлык для запуска Ubuntu. Запустите систему и следуйте инструкциям для завершения установки (в целом, завершение установки заключается в создании нового пользователя).

Для того чтобы проверить, действительно ли дистрибутив установлен на WSL 2, выполните такую команду:

wsl --list --verbose

Если оказалось, что используется WSL 1, то переключиться на WSL 2 можно, воспользовавшись командой такого вида:

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

Вот и всё. Теперь в вашем распоряжении имеется полноценный дистрибутив Ubuntu, работающий в Windows 10.

Настройка рабочей среды для программиста

Теперь, когда в вашем распоряжении оказалась рабочая Ubuntu, вы можете устанавливать всё, что вам может понадобиться. Например, если вы — дата-сайентист, вы можете установить самый свежий дистрибутив Anaconda. Если вы — фронтенд-разработчик, то вас, например, могут заинтересовать Angular, npm и многое другое. Здесь же мне хотелось бы сосредоточиться на двух инструментах. Это — Visual Studio Code и связка Docker + Kubernetes.

▍Visual Studio Code

VS Code — это редактор кода, которому отдаёт предпочтение множество разработчиков. Одна из сильных сторон этого редактора заключается в поддержке бесконечного множества расширений. А теперь, когда мы включили WSL 2, совершенно необходимым расширением для VS Code можно назвать Remote Development.

Это расширение позволяет удалённо работать над кодом, который имеется в среде, создаваемой средствами WSL 2, в контейнере, или даже на удалённой виртуальной машине, доступ к которой осуществляется по SSH. Данное расширение позволяет, например, создать проект в ОС Linux, работающей в WSL 2, и использовать для работы над этим проектом редактор VS Code, установленный в Windows 10.

Собственно говоря, VS Code отличается огромными возможностями. Это и интеллектуальная система IntelliSense, и интеграция с git, и отладчик, и терминал, и очень много чего ещё. Полагаю, с настройкой VS Code вы справитесь и очень скоро сможете сделать из этого редактора именно то, что нужно вам.

▍Docker + Kubernetes

Docker для Windows сделан на «хорошо», но не на «отлично». На самом деле, именно Docker заставлял меня постоянно «прыгать» между Windows и Ubuntu. Например, мне приходилось делать это тогда, когда нужно было создать новый образ Docker. А вот WSL 2 отличается полной поддержкой Docker. Это, полагаю, такая возможность новой подсистемы, которая делает работу с Docker даже удобнее, чем в Linux.

Для того чтобы включить эту возможность, нужно перейти в настройки Docker Desktop и включить опцию Use the WSL 2 based engine.

Включение поддержки Docker для WSL 2

Более того, перейдя в раздел настроек Kubernetes, можно включить возможность запуска локального кластера Kubernetes, просто установив соответствующий флажок.

Включение Kubernetes

Теперь можно перезапустить Ubuntu в WSL 2 и выполнить следующие команды:

docker version 
kubectl version

Результаты выполнения подобных команд покажут, что в вашем распоряжении теперь есть Docker и Kubernetes.

Docker и Kubernetes работают в среде WSL 2

Бонус: новый терминал Windows

В качестве дополнительной полезной программы вы можете установить из Microsoft Store новый терминал Windows. В описании к нему сказано, что перед нами новое современное приложение — быстрое, эффективное и мощное. Оно предназначено для пользователей, работающих с инструментами командной строки и с соответствующими средами, наподобие PowerShell. Среди его главных возможностей можно отметить следующие: поддержка вкладок и панелей, поддержка Unicode и UTF-8, ускорение вывода текста средствами GPU, поддержка пользовательских тем, стилей и настроек.

Вот видео про новый терминал Windows.

Более того, новый терминал очень хорошо выглядит, а его внешний вид поддаётся настройке. Настройки можно выполнять, пользуясь особым JSON-файлом. Здесь можно найти темы для терминала. Вот материал, в котором можно почитать подробности о терминале.

Планы развития WSL

В WSL 2 ещё недостаёт некоторых возможностей, но подсистема Windows для Linux развивается в правильном направлении. В ближайшее время установить WSL можно будет с помощью одной команды. Для этого достаточно будет открыть терминал Windows и выполнить в нём следующее:

wsl.exe --install

Кроме того, WSL 2 будет той версией подсистемы, которая, при первой установке WSL, устанавливается по умолчанию.

Надо отметить, что разработчики очень ждут от WSL следующих возможностей: поддержка видеокарт и поддержка приложений с графическим интерфейсом.

С момента выхода WSL 1 команду разработчиков этой подсистемы чаще всего просили о внедрении в WSL поддержки CUDA или GPU Compute. В последний код команды разработчиков WSL, систем виртуализации, DirectX, Windows Driver работают над этой возможностью. Поэтому — следите за новостями.

Обучение модели, использующей технологии глубокого обучения, в WSL 2 (с использованием CUDA)

Более того, на подходе и поддержка графических приложений для Linux. Например, в Linux-системах, установленных на WSL, можно будет пользоваться текстовыми редакторами или IDE. На Windows-машине можно будет даже разрабатывать GUI-приложения для Linux!

Поддержка графического интерфейса Linux в WSL 2

Итоги

Сегодня мы поговорили о том, как, пользуясь WSL 2 можно превратить Windows-компьютер в рабочую станцию программиста, пользующегося Linux. В распоряжении такого программиста оказывается высокая производительность и множество полезных возможностей, набор которых, со временем, пополнится. Поэтому я и могу говорить о том, что двойная загрузка умерла.

А вы пользуетесь WSL 2?

Подсистема Windows для Linux (WSL) — это функция операционной системы Windows, которая позволяет запускать среду GNU / Linux внутри Windows — без затрат на традиционную виртуальную машину или настройку с двойной загрузкой. WSL требует меньше ресурсов (CPU, памяти и места на диске), чем полноценная виртуальная машина. WSL также позволяет запускать инструменты и приложения командной строки Linux наряду с приложениями командной строки Windows, а также получать доступ к файлам Windows из Linux. Это позволяет при желании использовать приложения Windows и инструменты командной строки Linux для одного и того же набора файлов. Поддерживается множество дистрибутивов, включая Ubuntu, Debian, Kali Linux, OpenSUSE и другие. Можно установить свой дистрибутив, импортировав образ в формате tar.gz.

Общие сведения

Установить WSL можно на Windows 10 версии 2004 (сборка 19041) и выше и Windows 11. Для работы с ним лучше всего использовать Windows Terminal.

WSL использует собственную файловую систему, отделённую от файловой системы Windows (так как в Linux дискам не присваиваются буквы, а предоставляются точки монтирования). Корень файловой системы — / — точка монтирования корневого раздела (или папки в случае с WSL). WSL использует файловую систему Windows как смонтированный диск, и доступ к какому-либо каталогу (к примеру, к диску C:\) в Windows из WSL можно получить по пути /mnt/c/.

Из Windows можно получить доступ к приложениям, запущенным в Linux. Например, доступ к сайту можно получить как обычно — localhost:port. Однако в некоторых случаях следует использовать IP-адрес для подключения (ip:port), который можно взять в файле /etc/resolv.conf — из-за того, что в WSL 2 используется собственный виртуальный адаптер Ethernet со своим уникальным IP-адресом.

Установка

Подсистема WSL поставляется вместе с ОС Windows, однако её необходимо предварительно включить. Можно использовать упрощенную команду, в таком случае подсистема включится и установить дистрибутив Ubuntu (он используется по умолчанию):

С параметром --no-distibution можно только включить WSL, не устанавливая дистрибутив:

1
wsl --install --no-distribution

После первой установки (или включения WSL) может потребоваться перезагрузка компьютера.

В целом установка дистрибутивов доступна несколькими способами:

  1. через Microsoft Store;
  2. через Windows Terminal командой wsl --install или аналогичной;
  3. через Windows Terminal, экспортировав необходимый дистрибутив.

Список доступных для установки из терминала дистрибутивов можно получить командой:

1
2
wsl --list --online
wsl -l -o

На 7 августа 2023 года список следующий:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
NAME                                   FRIENDLY NAME
Ubuntu                                 Ubuntu
Debian                                 Debian GNU/Linux
kali-linux                             Kali Linux Rolling
Ubuntu-18.04                           Ubuntu 18.04 LTS
Ubuntu-20.04                           Ubuntu 20.04 LTS
Ubuntu-22.04                           Ubuntu 22.04 LTS
OracleLinux_7_9                        Oracle Linux 7.9
OracleLinux_8_7                        Oracle Linux 8.7
OracleLinux_9_1                        Oracle Linux 9.1
openSUSE-Leap-15.5                     openSUSE Leap 15.5
SUSE-Linux-Enterprise-Server-15-SP4    SUSE Linux Enterprise Server 15 SP4
SUSE-Linux-Enterprise-15-SP5           SUSE Linux Enterprise 15 SP5
openSUSE-Tumbleweed                    openSUSE Tumbleweed

Нужный из списка дистрибутив можно установить командой:

1
2
wsl --install -d <DistName>
wsl --install -d Debian

Установку можно дополнить ключом --no-launch, тогда WSL не будет запускать дистрибутив сразу после установки. При этом дистрибутив не будет отображаться среди установленных — выполнение команды означает только загрузку дистрибутива для последующего повторного выполнения wsl --install.

Каждый раз, когда устанавливается новый дистрибутив WSL Linux, для него в Windows Terminal создаётся новый профиль для подключения.

По умолчанию дистрибутивы создаются в каталоге C:\Users\username\AppData\Local\Packages.

После завершения процесса установки дистрибутива будет предложено создать нового пользователя и установить ему пароль. Этот пользователь относится к каждому устанавливаемому дистрибутиву и не имеет отношения к пользователю Windows. После создания пользователя, он станет пользователем по умолчанию (будет автоматически входить в систему при запуске) и учетная запись будет считаться администратором Linux (с правами выполнения sudo).

Изменение языка дистрибутива

При установке дистрибутива WSL пытается автоматически определить и применить локаль в соответствии с локализацией Windows. Если ей это сделать не удаётся, можно изменить язык принудительно (после выполнения перезагрузить дистрибутив):

1
sudo update-locale LANG=en_US.UTF8

Дополнительные команды WSL

Работа дистрибутивов

Запустить дистрибутив по умолчанию в домашнем каталоге пользователя можно следующей командой:

Для запуска другого дистрибутива (не по умолчанию) следует указать параметр --distribution:

1
wsl --distribution <DistName>

Можно запустить дистрибутив из-под другого пользователя:

1
wsl --user <Username> # или wsl -u <Username>

Дистрибутив по умолчанию указывается параметров --set-default-version:

1
wsl --set-default <DistName>

С параметром --set-version можно указать версию WSL (1 или 2), с которой требуется запустить тот или иной дистрибутив:

1
wsl --set-version <DistName> <VersionNumber>

Завершить работу одного конкретного или сразу всех дистрибутивов можно следующим образом:

1
2
wsl --terminate <DistName> # завершить работу <DistName>
wsl --shutdown # завершает работу всех запущенных дистрибутивов

Удаляется дистрибутив параметров -unregister:

1
wsl --unregister <DistName>

Параметры WSL

Обновить WSL можно следующей командой:

1
2
wsl --update # версия с Microsoft Store
wsl --update --web-download # версия с Github

Текущая конфигурация WSL выводится при передаче параметра --status или --version:

1
2
wsl --status
wsl --version

Установить версию WSL по умолчанию (1 или 2) можно параметром --set-default-version:

1
wsl --set-default-version <VersionNumber>

Монтировать дополнительные разделы в дистрибутивы можно параметром --mount. Он содержит следующие ключи:

  • --vhd — указывает, что монтируется виртуальный жесткий диск;
  • --name — монтируется диск с пользовательским именем;
  • --bare — подключает, но не монтирует диск;
  • --type <Filesystem> — тип файловой системы, используемый при монтировании (ext4 по умолчанию);
  • --partition <PartNumber> — порядковый номер раздела при монтировании.

Для монтирования разделов необходимы права администратора

1
wsl --mount C:\Users\Profile\Projects\FirstProject

Размонтировать один конкретный раздел или все можно командой --unmount:

1
2
wsl --unmount <DiskPath> # размонтировать <DiskPath>
wsl --unmount # размонтировать все диски и разделы

Список дистрибутивов

Команда --list показывает список дистрибутивов. Дополнительный ключ к команде может отфильтровать вывод:

  • --all — показывает все дистрибутивы;
  • --verbose — показывает установленные дистрибутивы;
  • --running — показывает только запущенные дистрибутивы;
  • --quiet — отображает только названия.

Работа с WSL

Изменение хостнейма

Для начала необходимо добавить нужное имя в файл /etc/wsl.conf в раздел network:

1
2
3
[network]
hostname = ubuntu_wsl
generateHosts = false

​ После этого следует поменять хостнейм в файле /etc/hostname:

1
2
ubuntu_wsl
/etc/hostname

Взаимодействие с Windows

Для максимальной производительности рекомендуется хранить файлы для работы в Linux в файловой системе WSL — в той же операционной системе, где они используются. Доступ к файлам возможен из разных ОС, но это значительно снижает производительность.

В дистрибутивах можно вызывать приложения WIndows и передавать в параметр файлы и каталоги Linux. Например, чтобы открыть текущий каталог в стандартном проводнике (Explorer), необходимо написать:

С файлами ситуация аналогичная:

В названии приложения обязательно нужно указывать разрешение (exe).

Это работает и в обратную сторону — утилиты Linux можно запускать напрямую из PowerShell. Например, чтобы отобразить содержимое какого-либо каталога Windows, можно ввести:

Можно смешивать команды Windows и Linux. Например, можно отобразить список файлов ls -la и отфильтровать результаты командой PowerShell findstr или наоборот — отобразить каталоги командой dir и отфильтровать командой grep

1
2
wsl ls -la | findstr "git"
dir | wsl grep git

Запуск графических приложений Linux

WSL 2 поддерживает запуск приложений с графическим интерфейсом (X11 и Wayland) в Windows с полностью интегрированным интерфейсом для ПК. Их можно запускать из меню “Пуск” Windows, закреплять на панели задач, переключаться между приложениями по Alt+Tab. Приложения поддерживают буфер обмена Windows.

Для запуска графических приложений необходим драйвер vGPU:

  • Драйвер графического процессора Intel
  • Драйвер графического процессора AMD
  • Драйвер графического процессора NVIDIA

Для запуска приложения из консоли достаточно написать только его название или название с файлом (например, для редактирования) на примере gedit:

Сетевые приложения

IP-адрес хост-машины и IP-адрес Linux-дистрибутива в WSL могут быть разными. IP-адрес хост-машины — это IP-адрес самого компьютера, а IP-адрес Linux-дистрибутива — это IP-адрес, который присваивается в виртуальной сети WSL. Обычно IP-адрес Linux-дистрибутива настраивается автоматически и не зависит от настроек хост-машины.

1
2
wsl hostname -i # IP-адрес дистрибутива
cat /etc/resolv.conf # IP-адрес компьютера с Windows

Управление дисковым пространством

WSL 2 использует платформу виртуализации для установки дистрибутивов Linux вместе с основной операционной системой Windows, создавая виртуальный жесткий диск (VHD) для хранения файлов для каждого из устанавливаемых дистрибутивов Linux. Эти жесткие диски используют тип файловой системы ext4 и представлены на жестком диске Windows в виде файла ext4.vhdx. WSL автоматически изменяет размер этих файлов VHD в соответствии с потребностями хранилища. По умолчанию каждому VHD-файлу, используемому WSL 2, изначально выделяется максимальный объем дискового пространства в 1 ТБ.

Проверить объем дискового пространства, доступного на VHD для дистрибутива Linux, установленного вместе с WSL 2, с помощью команды Linux df.

1
wsl.exe --system -d <distribution-name> df -h /mnt/wslg/distro

Выходные данные будут включать:

  • идентификатор файловой системы VHD;
  • общий размер диска;
  • используемый объем пространства;
  • доступный объём свободного места;
  • процент использования;
  • путь к каталогу, в который смонтирован диск.

Путь к файлу диска:

1
(Get-ChildItem -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss | Where-Object { $_.GetValue("DistributionName") -eq '<distribution-name>' }).GetValue("BasePath") + "\ext4.vhdx"

Конфигурации WSL и дистрибутивов

Файлы wsl.conf и .wslconfig используются для настройки дополнительных параметров для каждого дистрибутива (wsl.conf) или глобально для всех дистрибутивов WSL 2 (.wslconfig).

  • файл wsl.conf хранится в каталоге /etc в виде файла. Используется для настройки параметров каждого дистрибутива WSL 1 и WSL 2;
  • файл .wslconfig хранится в %UserProfile% каталоге. Используется для настройки всех дистрибутивов Linux, работающих под управлением WSL 2.

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

wsl.conf

Файл wsl.conf настраивает параметры для каждого дистрибутива отдельно:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[boot] # доступна только на Windows 11 и Server 2022
systemd=true # включает поддержку systemd
command="" # строка команд, которые должны запускаться при запуске экземпляра WSL. Команда запускается от имени root
# command=service docker start

[automount]
enabled=true # автоматически монтировать диски Windows (C:\ и другие) с помощью DrvFs в /mnt/
mountFsTab=true # автоматически обрабатывает /etc/fstab при запуске дистрибутива
root=/mnt/ # устанавливает каталог, куда будут монтироваться диски Windows
options="" # параметры автоматического монтирования
# options = "metadata,uid=1003,gid=1003,umask=077,fmask=11,case=off"

[network]
generateHosts=true # WSL сам генерирует файл /etc/hosts
generateResolvConf=true # WSL сам генерирует файл /etc/resolv.conf
hostname="Hostname" # устанавливает имя Unix-компьютера. По умолчанию - имя компьютера Windows

[interop]
enabled=true # установка этого ключа в true означает поддержку запуска Windows-процессов
appendWindowsPath=true # установка этого ключа определяет, будет ли WSL добавлять элементы пути Windows в переменную окружения $PATH

[user]
default=Username # пользователь по умолчанию

.wslconfig

Файл .wslconfig настраивает параметры глобально для всех дистрибутивов Linux, работающих с WSL 2.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[wsl2]
kernel=path # абсолютный путь Windows к пользовательскому ядру Linux
memory=4GB # объём выделяемой памяти для WSL (по умолчанию 50% или 8 Гбайт - меньшее из них)
processors=10 # сколько логических процессов назначить WSL. По умолчанию - столько же, сколько и Windows
localhostForwarding=true # логическое значение, указывающее, должны ли порты, привязанные к wildcard или localhost в виртуальной машине, подключаться с хоста через localhost:port
kernelCommandLine=blank # дополнительные аргументы командной строки ядра
safeMode=false # запускает экземпляр WSL в безопасном режиме
swap=25% # сколько виртуальной памяти добавить к дистрибутиву
swapFile=path # абсолютный  путь к файлу swal
pageReporting=true # позволяет Windows освобождать неиспользуемую в WSL память
guiApplications=true # включение поддержки графических приложений (только в Windows 11)
debugConsole=false # логическое значение для включения окна консоли вывода, отображающего содержимое dmesg при запуске экземпляра дистрибутива WSL (только в Windows 11)
nestedVirtualization=true # включение вложенной виртуализации (только в Windows 11)
vmIdleTimeout=60000 # количество миллисекунд, в течение которых виртуальная машина простаивает, прежде чем она будет выключена (только в Windows 11)

Резервное копирование и перемещение

Лучший способ создать резервную копию или переместить дистрибутивы (в рамках одного ПК или на другой) — использовать команды экспорта и импорта, доступные в Windows с версии 1809. Можно экспортировать весь дистрибутив в архив с помощью команды wsl --export. Затем его импортировать обратно в WSL с помощью команды wsl --import, которая может указать новое расположение для импорта, что также сохранять состояния дистрибутива.

Экспорт дистрибутива требует много места на жестком диске. Если места недостаточно, то можно использовать методы Linux для перемещения всех файлов:

  1. архивировать домашний и другие необходимые каталоги командой tar -czf <archiveName> <directory>. После переноса на новый дистрибутив архив следует разархивировать командой tar -xzf <archiveName>;
  2. можно экспортировать список установленных пакетов через apt: dpkg --get-selections | grep -v deinstall | awl '{print $1}' > packages.txt, а затем установить все приложения на новом дистрибутиве командой sudo apt install -y $(cat packages.txt).

При экспорте можно указать ключ --vhd, указывающий, что дистрибутив следует экспортировать в виде файла VHDX.

Команду импорта можно дополнить ключами --version <Version — указывающий версию WSL (1 или 2) и --vhd — указывающий, что представленный файл является файлом VHDX, а не файлом tar.gz.

Файл tar можно получить разными способами, например:

  • загрузить с сайта разработчика (при наличии);
  • экспортировать контейнер дистрибутива.

Далее файл tar нужно импортировать в WSL:

1
2
3
4
5
6
7
# экспорт
wsl --export <DistName> <Filename>
wsl --export Debian C:\WSLDistros\export.tar.gz

# импорт
wsl --import <DistName> <InstallLocation> <FileName>
wsl --import Debian C:\Users\username\WSL\ C:\Users\username\export.tar.gz

Все способы:

  • Способ 1: Апплет «Программы и компоненты»
  • Способ 2: Утилита «DISM»
  • Способ 3: Команда установки
  • Дополнительные рекомендации
  • Вопросы и ответы: 0

WSL, или «Подсистема Windows для Linux», представляет собой встроенную функцию Windows 10, позволяющую запускать в Windows-среде консольные и графические приложения Linux. Существуют два основных способа установки данного компонента.

Способ 1: Апплет «Программы и компоненты»

Данный способ является устаревшим, он использовался, когда Windows 10 (версия 20H2) еще не поддерживала установку WSL через консоль.

  1. Вызовите нажатием клавиш Win + R диалоговое окошко быстрого запуска приложений и выполните в нем команду optionalfeatures, чтобы запустить апплет «Программы и компоненты».
  2. Установка WSL в Windows 10-1

  3. Отыщите в списке компонентов «Платформа виртуальной машины» и «Подсистема Windows для Linux», включите их и нажмите кнопку «ОК».
    Установка WSL в Windows 10-2

    Для применения конфигурации и установки компонентов потребуется перезагрузка компьютера.

  4. Запустите встроенное приложение «Microsoft Store», найдите через поиск нужный дистрибутив Linux и установите его. Процедура установки практически ничем не отличается от инсталляции других UWP-приложений, разве что занимает больше времени.
  5. Установка WSL в Windows 10-3

Запустить установленную Linux можно будет из меню «Пуск», как и всякое другое приложение. В настоящее время в магазине Windows доступны несколько популярных Linux-дистрибутивов, в частности Ubuntu, openSUSE Leap, SUSE Linux Enterprise, Kali Linux, Debian и некоторые другие.

Установка WSL в Windows 10-4

Способ 2: Утилита «DISM»

Этот способ дублирует предыдущий, разница лишь в том, что необходимые компоненты устанавливаются через консоль.

  1. Запустите от имени администратора «PowerShell» из контекстного меню кнопки «Пуск». Вместо «PowerShell» можно использовать классическую «Командную строку».
  2. Установка WSL в Windows 10-5

  3. Выполните одну за другой следующие две команды:
    • dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    • dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  4. Установка WSL в Windows 10--7

Вместо указанных выше, вы также можете использовать команды Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux и Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform«PowerShell») — результат будет тот же. Для применения настроек потребуется перезагрузка компьютера, после чего можно устанавливать дистрибутивы Linux из магазина Windows.

Способ 3: Команда установки

Все новые версии и сборки Windows 10 поддерживают установку WSL одной командой. Этот способ является наименее затратным по времени и наиболее простым.

  1. Запустите от имени администратора «PowerShell» или «Командную строку».
  2. Выполните команду wsl --install.
  3. Установка WSL в Windows 10-8

Windows 10 сама включит необходимые компоненты и установит актуальную на текущий момент версию подсистемы. Также автоматически будет загружен и установлен дистрибутив по умолчанию – Linux Ubuntu. Чтобы установить другой дистрибутив, сделайте следующее:

  1. Сначала выведите в запущенной консоли список доступных дистрибутивов командой wsl --list --online.
  2. Установка WSL в Windows 10-9

  3. Установите WSL c нужным дистрибутивом, выполнив команду wsl --install -d name, где name – название дистрибутива.
  4. Установка WSL в Windows 10-10

Дополнительные рекомендации

После установки WSL рекомендуется выполнить некоторые настройки и проверить доступность обновлений подсистемы.

  1. На момент написания этой инструкции существуют две версии «Подсистемы Windows для Linux» – 1.0 и 2.0. Проверить версию установленной подсистемы можно командой wsl -l -v в запущенной «PowerShell».
  2. Установка WSL в Windows 10-11

  3. Установите последние обновления подсистемы, выполнив в запущенной с правами администратора консоли команду wsl --update.
  4. Установка WSL в Windows 10-12

  5. Чтобы инсталлировать вторую версию используемой по умолчанию, выполните команду wsl --set-default-version 2.
  6. Установка WSL в Windows 10-13

  7. Скачайте и установите обновление ядра Linux для WSL2 с сайта Microsoft.
    Скачать обновление ядра WSL2 с официального сайта
  8. Установка WSL в Windows 10-14

  9. Инсталлятор представлен исполняемым файлом MSI – запустите его двойным кликом и проследуйте указаниям мастера.
  10. Установка WSL в Windows 10-15

Если при инсталляции обновления ядра появится ошибка, вероятнее всего, версия Windows 10 не поддерживает данное обновление. В этом случае рекомендуется сначала установить последние обновления для самой операционной системы.

Читайте также: Обновление Windows 10 до последней версии

Наша группа в TelegramПолезные советы и помощь

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как делали обои windows 10
  • Tftp клиент windows 10 как пользоваться
  • Установка windows на mac air 2011
  • Как сделать чтобы интернет работал на максимум windows 10
  • Бордерлендс 3 не запускается на windows 10