Установка WSL в Windows 11

Что я могу делать с подсистемой windows для linux?

Если на вашем компьютере установлена ​​подсистема Windows для Linux, вы можете использовать инструменты и приложения командной строки Linux вместе с существующими инструментами Windows. Вы можете получить доступ ко всем файлам из WSL с помощью команд.

Основы

Если у вас открыто окно PowerShell и вы хотите попасть в дистрибутив WSL Linux по умолчанию:

wsl

exit всегда возвращает вас обратно в PowerShell. Если вы хотите запустить определённый дистрибутив:

wsl -d <название дистрибутива>

Для запуска Debian команда будет

wsl -d debian

Можно упомянуть один из наиболее полезных инструментов для управления WSL, а именно вызов помощи:

wsl –help

Важные команды wsl для powershell

Если вы работаете с WSL2 или сочетанием обеих версий, среди основ есть команды для управления тем, какой дистрибутив Linux используется в каждой версии. Для этих команд более короткие версии доступны только в Windows 10 19041 и в более современных. В любом случае необходимо знать полные версии, чтобы понимать, что они делают.

Выбор дистрибутива и установка linux

После включения подсистемы WSL и перезагрузки Windows 10 можно приступить к установке ОС Linux. В прежних версиях подсистемы Windows для Linux для настройки дистрибутива Linux использовалась утилита командной строки
lxrun.exe
. На сегодняшний день она считается устаревшей и в дальнейшем будет исключена из подсистемы WSL. Дистрибутивы можно установить из стандартного Магазина Windows (Microsoft Store):

При необходимости, можно получить более подробную информацию о конкретном дистрибутиве, например Kali:

Как видим, отображаются краткие сведения о дистрибутиве, способе запуска Linux после установки, а также сведения о загружаемом образе. Для уменьшения объема загружаемых данных образ не содержит графической оболочки и некоторых приложений, которые легко устанавливаются с использованием штатных средств управления пакетами выбранного дистрибутива Linux.

После загрузки и начальной установки дистрибутива, можно выполнить его запуск нажатием кнопки Запустить

После запуска начнется развертывание полученного дистрибутива Linux в подсистеме WSL. В процессе начальной установки и настройки потребуется ввести имя пользователя и пароль.

После успешной установки, в консоли отобразится стандартное приглашение командной строки. К этому моменту будут выполнены настройки сетевых интерфейсов, имени узла, клиента DNS и т.п а также смонтированы логические диски ОС Windows 10 (стандартно – /mnt/c – для диска C:, /mnt/d – для диска D: и т.д).

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

На сегодняшний день, в Microsoft Store имеется несколько дистрибутивов Linux – Ubuntu ( в том числе и с длительной поддержкой), Kali, Debian и Suse (в том числе и серверные дистрибутивы). Очевидно, что этот набор будет постепенно расширяться. Наиболее востребованным дистрибутивом, по статистике Microsoft Store, является Ubuntu. После завершения установки, запуск программы можно выполнить в командной строке, введя:

ubuntu

Либо Win R – ubuntu

Либо с использованием ярлыка из меню кнопки Пуск – Ubuntu.

В самом начале использования вновь установленного Linux, желательно выполнить обновление установленного ПО и добавить необходимый для дальнейшей работы набор программ.

В дистрибутивах на основе Debian (Ubuntu) имеется стандартная утилита apt для работы с системой управления программными пакетами APT (Advanced Packaging Tool). Данная утилита и ее производные (apt-cache, apt-get) используются для установки новых программных пакетов, удаления существующих, обновления уже установленных, а также для обновления всей операционной системы. Примеры использования:

apt –h – отобразить подсказку по использованию aptapt-cache –h – отобразить подсказку по использованию apt-cacheapt-get –h – отобразить подсказку по использованию apt-get

Более подробную подсказку можно получить из комплекта документации man-страниц:

man apt

sudo apt-get update – обновить список установленных программных пакетов в соответствии с источниками, заданными в файле /etc/apt/sources.list.

sudo apt-get upgrade – обновить все программные пакеты, существующее в системе на данный момент времени.

sudo apt-get install mc – установить файловый менеджер Midhight Commander

apt-get remove –purge mc – удалить файловый менеджер Midhight Commander и все его конфигурационные файлы (параметр –purge)

Глава 3. управление дистрибутивами wsl – linux подсистема windows (wsl) для профессионалов

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

Название, состояние и номер версии WSL всех установленных дистро WSL могут быть перечислены
(Рисунок 3-1) после открытия PowerShell и исполнения


PS C:> wsl.exe --list --verbose --all
		

Под “NAME” вы обнаружите наши четыре установленных дистрибутива. Это название всегда уникальный идентификатор в WSL для каждого из установленных
дистрибутивов. Он устанавливается своим издателем в дистро WSL, которые устанавливаются из Microsoft Store или при сторонней загрузке из
некого пакета .appx. Это название может быть установлено вручную при установке с помощью wsl.exe –import (см. раздел Импорт/ восстановление дистрибутива). Большинство команд WSL ссылаются на сам дистро по этому названию.

:/>  Утилита MSinfo32

Звёздочка (*) появляется вслед за выбранным дистро WSL по умолчанию. Для дополнительных сведений
относительно настройки дистро по умолчанию отсылаем вас к разделу Настройка установленного по
умолчанию дистрибутива
.

Под “STATE” вы видите, что в данном случае ни один из них не запущен. Дистро WSL открываются когда открывается некая оболочка WSL, запускается
WSL из имеющейся оболочки или просматриваются файлы при помощи \wsl$<distroname>, например,
\wsl$Ubuntu-20.04, а в более новых сборках Windows 10 с применением
\wsl<distroname>, скажем, \wslUbuntu.

Под “VERSION” вы обнаруживаете что Ubuntu-Groovy, Ubuntu-Warty и Ubuntu-GroovyGPU установлены в качестве WSL2, в то время как Ubuntu-20.04
установлен как дистро WSL1. Имеется возможность обладать дистрибутивами WSL1 и WSL2 плечом к плечу. Достаточно просто преобразовывать уже имеющиеся
дистро между WSL1 и WSL2 (см. раздел Преобразование дистрибутивов между версиями WSL).

Дополнительно к установке дистро WSL из Microsoft Store и сторонней загрузки пакетов .appx, вы также можете импортировать образы
rootfs Linux непосредственно в WSL. Это может включать в себя

Импорт некого образа выполняется следующим манером:


PS C:> wsl.exe --import <name of imported distro> <location to store unpacked file system> <filename of exported image> --version <1 or 2>
		

где <name of imported distro> это уникальное имя вашего дистро WSL, как оно зарегистрировано в WSL.
Именно это название будет применяться для взаимодействия с тем дистрибутивом, который появляется в wsl.exe –list
и в ниспадающем меню Терминала Windows.

<location to store unpacked file system> это каталог для сохранения относящихся к WSL файлов. Это
обрабатывается автоматически для дистро WSL из Microsoft Store и сторонних загрузок .appx, но при импортировании вручную вам надлежит определять
каталог. Ваш пользователь Windows должен обладать правами на чтение/ запись для этой папки. Пользуйтесь устройствами, отличающимися, по возможности,
от C:, однако не рекомендуется применять монтируемое через сетевую среду хранилище.

<filename of exported image> это файловое имя вашей rootfs Linux для импорта.

--version <1 or 2> это не обязательная установка для перекрытия установленной по умолчанию
WSL и импорта выбранной rootfs определённо в WSL1 или WSL2 (Рисунок 3-19).

Образец:


PS C:> wsl.exe --import Ubuntu-Groovy C:WSLUbuntu-Groovy C:UsersHaydenDownloadsgroovy-server-cloudimg-amd64-wsl.rootfs.tar.gz --version 2
		

Этот пример импортирует наш экспорт образа WSL1 Ubuntu 20.04 в качестве WSL2. Тем самым мы можем проверить тот же самый образ Ubuntu 20.04,
который мы настроили под себя в WSL1 или WSL2.


Если у вас имеется установленный вами дистро WSL из Microsoft Store или загруженный со стороны .appx, у вас имеется ряд дополнительных
вариантов графического интерфейса для управления вашим дистро, включая опцию “Reset” до свежей установки, благодаря преимуществу того, что
он укомплектован в качестве прикладного приложения UWP.

Кликните по кнопку Пуск (Start) Windows и определите свой дистро WSL в появившемся меню Windows Start, либо в имеющемся алфавитном
списке, или в пришпиленных плитках. Кликните правой кнопкой по вашему дистро, пройдите к “More” (Дополнительно) и, в раскрывшемся меню кликните
“App Settings” (Параметры приложения) (Рисунок 3-21).

В качестве альтернативы, вы можете получить доступ к настройкам приложения кликнув по кнопке Windows Start (Пуск) и затем кликнув по
иконке шестерёнки Settings (Параметры) (Рисунок 3-22).

В Windows Settings (Параметры) кликните по Apps (Приложения) (Рисунок 3-23).

А затем отмотайте вниз или отыщите свой дистро, установленный из Microsoft Store в “Apps & features” (Приложения и возможности)
(Рисунок 3-24):

Из “Apps & features” (Приложения и возможности) вы запросто можете передвинуть свой дистро WSL на другое устройство (это возможно, но
не рекомендуется) и выполнить деинсталляцию. Прежде чем вы попытаетесь переместить свой дистро WSL на другое устройство, убедитесь что вы выполнили
его полное резервное копирование (см. раздел Экспорт/ резервное копирование дистрибутива).

Для дотсупа к дополнительным параметрам для вашего дистро WSL, кликните по “Advanced options” (Дополнительные параметры), что перенесёт вас
в следующую панель (Рисунок 3-25).

Если вы желаете выполнить сброс имеющейся у вас установки дистро WSL до наиболее последнего опубликованного вашим издателем в Microsoft Store
дистро оригинального образа, отмотайте вниз панель “Advanced options” (Дополнительные параметры)
(Рисунок 3-26) и кликните “Reset” (Сброс). Нет никакого подтверждения. Это немедленно и
безвозвратно уничтожит все файлы вашего дистро WSL в /. Затем вы останетесь со свежей установкой
дистро WSL. Убедитесь что вы выполнили резервное копирование всех важных файлов, скопировав их в некое безопасное место в Windows через
/mnt/c или выполнив резервное копирование образа при помощи описанного ранее
wsl.exe --export.


Если вы обладаете установленным из Microsoft Stote (или загруженным со стороны .appx) собственным дистро WSL, у вас имеются некоторые
дополнительные возможности для деинсталляции.

Кликните по кнопке Windows Start (Пуск) и отыщите свой дистро WSL либо в алфавитном списке, либо в пришпиленной плитке
(Рисунок 3-27). Кликните правой кнопкой по своему дистро и выберите
“Uninstall” (Удалить).

Выполните доступ к панели “Advanced options” (Дополнительные параметры), как это было описано ранее
(Рисунок 3-28), но вместо того чтобы кликнуть по “Reset” (Сброс), кликните
“Uninstall” (Удалить).

:/>  Эмулятор Windows XP

Также вы можете удалить установленный из Microsoft Store или загруженный со стороны .appx дистро WSL при помощи PowerShell.

Прежде всего определите полное название своего пакета (Рисунок 3-29) при помощи


PS C:> Get-AppxPackage -Name "*<distroname>*" | Select PackageFamilyName
		

Например:


PS C:> Get-AppxPackage -Name "*ubuntu*" | Select PackageFullName
		

Затем скопируйте и вставьте PackageFullName
(Рисунок 3-30) следующим образом:


PS C:> Remove-AppxPackage -Package <PackageFullName>
		

Например:


Remove-AppxPackage -Package "CanonicalGroupLimited.UbuntuonWindows_2004.2020.424.0_x64__79rhkp1fndgsc"
		

Если вы вручную импортировали дистро WSL с применением wsl.exe --import и желаете удалить его,
вы должны удалить этот дистро из реестра. Это выполняется следующим образом
(Рисунок 3-31)


PS C:> wsl.exe –unregister <name of distribution>
		

Например:


PS C:> wsl.exe --unregister Ubuntu
		

После удаления из реестра вашего дистро WSL, вы далее можете пожелать удалить и ту папку, в которой изначально был распакован этот дистро
WSL. Из PowerShell это может быть выполнено так (Рисунок 3-32):


PS C:> rmdir <path to WSL distro folder>
		

Например:


PS C:> rmdir C:WSLubuntu-hirsute
		


Начиная с номера сборки 20211 Windows новой функциональной возможностью является способность применения wsl.exe для монтирования дисков
и дисковых образов в ваших дистро WSL. Это позволяет вам выполнять доступ к данным реальной файловой системы диска дополнительно к хранимым
файлам. Вы не можете монтировать некий диск или раздел, который расположен в вашем первичном диске Windows, который содержит ваш
раздел C:

Если нужный вам диск в настоящее врем имеет доступ изнутри Windows через диск с буквой, вам следует вначале выполнить его демонтирование.
Кликните правой кнопкой по меню Windows Start (Пуск) и выберите “Disk Management” (Управление дисками)
(Рисунок 3-38).

Вам требуется определить тот диск, который вы желаете сделать доступным в WSL. Все смонтированные разделы помечены своими буквенными
дисками Windows в помощь определения вами нужного диска. После того как вы найдёте его в нижней половине Управления дисками, кликните
правой кнопкой по этому диску и выберите “Offline” (Удалить том)
(Рисунок 3-39)

Пока вы находитесь здесь, запишите номер этого диска. В данном случае это диск 3. Нам потребуется этот номер для монтирования данного диска
в WSL2. Монтирование дисков в WSL требует работы с правами Администратора, поэтому, прежде чем продолжать, откройте терминал в качестве
Администратора.

Мы можем смонтировать свой диск в WSL и проверить что он видится там при помощи
(Рисунок 3-40)


PS C:> wsl.exe --mount \.PHYSICALDRIVE<disk number> --bare
PS C:> wsl.exe --exec lsblk
		

ult <disk number> это тот номер диска, который мы списали из Управления дисками. Например:


PS C:> wsl.exe --mount \.PHYSICALDRIVE3 --bare
PS C:> wsl.exe --exec lsblk
		

Мы можем повторно убедиться что получили правильный путь \.PHYSICALDRIVE, выполнив


PS C:> wmic diskdrive list brief
		

По той причине, что мы определили флаг --bare, наш диск был вставлен в WSL, однако не смонтирован,
вместо этого выставляя все разделы для того чтобы мы сделали с ними то, что пожелаем. Мы также можем смонтировать индивидуальные разделы и
вызвать загрузку их файловых систем за один шаг, поэтому нам не требуется определять узел /dev чтобы
ассоциировать его со своим диском. Помня о том ограничении, что мы не можем монтировать разделы с того же самого диска, в котором наш
раздел C:, мы монтируем раздел при помощи
(Рисунок 3-41)


PS C:> wsl.exe --mount \.PHYSICALDRIVE<disk number> --partition <partition number> [optionally: --type <filesystem type>] [optionally: --options <filesystem mount options>]
		

где <disk number> это номер диска из Управления дисками; <partition number> это номер раздела из Управления дисками;
<filesystem type> тип файловой системы, хранимой внутри этого раздела, как на неё ссылается Linux, по умолчанию это ext4;
<filesystem mount options> это применяемые Linux параметры для монтирования данной файловой системы, как если бы они применялись
флагом -o команды монтирования Linux.

Пример:


PS C:> wsl.exe --mount \.PHYSICALDRIVE0 --partition 2
		


Запуск команд при помощи wsl.exe

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

Используется шаблон wsl <аргумент> <опции> <командная строка>

Если вы хотите запустить команды в дистрибутиве Linux по умолчанию, задавать аргумент не нужно. Например, для запуска команды sudo apt update для Ubuntu, если этот дистрибутив у вас по умолчанию, введите:

wsl sudo apt update

Вы получите запрос на пароль Linux, но в остальном можно выполнять команды, не покидая PowerShell. Если вы хотите использовать определённую версию Linux, нужно использовать аргумент и опцию. Используем эту же команду для Debian:

wsl –distribution debian sudo apt update

Где –distribution или -d аргумент, debian опция.

Как посмотреть список доступных дистрибутивов linux

Помимо команды для установки подсистемы Windows для Linux (WSL) на ваш компьютер, есть еще пара команд, которые позволяют вам увидеть полный список дистрибутивов Linux, доступных для установки на ваш компьютер.

Чтобы увидеть их, откройте командную строку с правами администратора, введите следующую команду и нажмите Enter:

wsl --list --online

Он покажет вам список, из которого вы можете выбрать версию для установки, используя следующую команду, где вам нужно заменить имя дистрибутива тем, которое вы видите в списке.

wsl --install -d <Имя дистрибутива>

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

wsl --status

Он отобразит всю информацию о WSL на вашем ПК.

:/>  Горячие клавиши в консоли cmd.exe / Хабр

Как установить wsl вручную?

Вы можете установить WSL в Windows 11/10 двумя способами. Старый добрый метод, при котором вам нужно загрузить все установочные пакеты, включить компоненты платформы виртуальных машин на вашем компьютере и т.д. Теперь, если вы участвуете в программе предварительной оценки Windows и используете последние сборки Windows 11/10, вы можете установить с помощью команды.

Некоторые характерные особенности wsl

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

В частности, в реализации WSL на вторую половину 2022 г. нет возможности установки модулей ядра, не реализован стандартный для Linux механизм сокетов, нет полноценного взаимодействия между процессами и т.д. и т.п. Как результат – нет графической оболочки пользователя, нет возможности использования приложения, требующих наличие драйвера ядра, не работает огромное количество системных служб.

Часть проблем будет решаться по мере выхода новых версий WSL, либо с применением альтернативных решений, в том числе и от сторонних разработчиков, как например WSL SSH Launcher, который можно загрузить из Microsoft Store и использовать для запуска сервиса ssh в среде WSL. Программа платная ($0.99), но имеется и бесплатная пробная версия.

Страницы с описанием и примерами команд подсистемы WSL:

BASH – командная оболочка BASH в подсистеме Windows для Linux (WSL).

WSL – выполнение команд Linux и конфигурирование параметров подсистемы Windows для Linux (WSL) в Windows 10

WSLconfig – конфигурирование параметров подсистемы Windows для Linux (WSL) в Windows 10

В заключение, стоит добавить, что в среде Windows 10 можно установить Linux, как впрочем, и любую другую ОС, на виртуальной машине Hyper-V.

Установка Linux Mint на виртуальную машину Hyper-V в Windows 10

В начало страницы       |       На главную страницу сайта

Обновите версию windows 10 для поддержки этих команд

Вы можете получить все это, просто обновив Windows, как обычно. Чтобы сделать это вручную, откройте настройки Windows, перейдите в «Обновления и безопасность» и нажмите «Проверить наличие обновлений».

Это обновление является частью KB5004296. На момент написания, когда вы нажмете «Проверить наличие обновлений», вы можете увидеть доступное дополнительное обновление, убедитесь, что оно имеет тот же номер, что и KB5004296, установите его, и вы получите доступ к wsl –update.

Управление wsl

Есть базовые команды для управления WSL. Некоторые из них мы уже назвали, вроде списка дистрибутивов и задания варианта по умолчанию.

Если вы хотите экспортировать дистрибутив в файле tar:

wsl –export <дистрибутив> <местоположение> <имя файла>

Важно ввести полный путь к файлу, который вы хотите создать. В примере ниже создаётся экспорт Debian в папку Code на диске C: и называется debiantest.

wsl –export debian c:codedebiantest.tar

Также с этим же шаблоном можно импортировать файл tar, поменяв аргумент –export на –import. Для запуска импортированного дистрибутива:

wsl –distribution <название дистрибутива>

После импортирования создаётся файл debiantest. Для его запуска:

wsl –distribution debiantest1

Управление версиями wsl

Чтобы увидеть, какая версия WSL приписана к каждому из установленных дистрибутивов Linux:

wsl –list –verbose или wsl -l -v

Результаты покажут, какая из версий является дистрибутивом wsl по умолчанию. Если вы хотите только узнать, какой дистрибутив установлен, уберите опцию verbose.

Если вы хотите пойти на шаг дальше и указать, какой из установленных дистрибутивов будет использоваться по умолчанию:

wsl –set-default

или кратко

wsl -s

Например, если вы хотите установить Ubuntu как дистрибутив по умолчанию:

wsl -s ubuntu

Если вы обновились до WSL2 и хотите сделать эту версию вариантом по умолчанию:

wsl –set-default-version 2

В результате любая будущая установка Linux будет использовать WSL2, но не уже установленную первую версию WSL. Это преобразование нужно выполнять вручную. Чтобы поменять привязанную к дистрибутиву версию WSL:

wsl –set -version <имя дистрибутива> <версия>

Например, для смены Debian на WSL 2:

wsl –set -version Debian 2

Оставьте комментарий

Adblock
detector