Установка Linux в Windows с помощью WSL
Разработчики могут одновременно получить доступ к возможности Windows и Linux на компьютере с Windows. Подсистема Windows для Linux (WSL) позволяет разработчикам устанавливать дистрибутив Linux (например, Ubuntu, OpenSUSE, Kali, Debian, Arch Linux и т. д.) и использовать приложения Linux, служебные программы и средства командной строки Bash непосредственно в Windows, не измененные без затрат на традиционную виртуальную машину или двойную настройку.
Необходимые компоненты
Для использования приведенных ниже команд необходимо запустить Windows 10 версии 2004 и выше (сборка 19041 и выше) или Windows 11. Если вы находитесь в более ранних версиях, перейдите на страницу установки вручную.
Команда установки WSL
Теперь вы можете установить все необходимое для запуска WSL с помощью одной команды. Откройте Командную строку PowerShell или Windows в режиме администратора , щелкнув правой кнопкой мыши и выбрав команду «Запуск от имени администратора», введите команду wsl —install, а затем перезапустите компьютер.
wsl --install
Эта команда включит функции, необходимые для запуска WSL и установки дистрибутива Ubuntu для Linux. (Этот дистрибутив по умолчанию можно изменить.)
Если вы используете более раннюю сборку или не хотите использовать команду для установки и вам нужны пошаговые инструкции, см. статью Действия по установке WSL вручную для старых версий.
При первом запуске недавно установленного дистрибутива Linux откроется окно консоли. Вам будет предложено подождать, пока файлы будут распакованы и сохранены на компьютере. Все будущие запуски должны занимать меньше секунды.
Приведенная выше команда работает только в том случае, если WSL не установлен вообще. Если вы запускаете wsl —install и видите текст справки WSL, попробуйте wsl —list —online просмотреть список доступных дистрибутивов и запустить wsl —install -d для установки дистрибутива. Сведения об удалении WSL см. в разделе Удаление устаревшей версии WSL или Отмена регистрации или удаление дистрибутива Linux.
Изменение установленного дистрибутива Linux по умолчанию
По умолчанию в качестве устанавливаемого дистрибутива Linux используется Ubuntu. Для этого используйте флаг -d .
- Чтобы изменить установленный дистрибутив, введите wsl —install -d . Замените именем дистрибутива, который хотите установить.
- Чтобы просмотреть список доступных дистрибутивов Linux, доступных для скачивания через Интернет-магазин, введите wsl —list —online или wsl -l -o .
- Чтобы установить дополнительные дистрибутивы Linux после исходной установки, можно также использовать команду wsl —install -d .
Если вы хотите установить дополнительные дистрибутивы из командной строки Linux или Bash (а не из PowerShell или командной строки), используйте .exe в команде wsl.exe —install -d . Чтобы получить список доступных дистрибутивов, используйте wsl.exe -l -o .
Если во время установки возникла проблема, см. раздел Установка руководства по устранению неполадок.
Чтобы установить дистрибутив Linux, который не указан как доступный, можно импортировать его с помощью TAR-файла. В некоторых случаях, как с Arch Linux, можно выполнить установку с помощью файла .appx . Вы также можете создать собственный пользовательский дистрибутив Linux для использования с WSL.
Настройка сведений о пользователе Linux
После установки WSL необходимо создать учетную запись пользователя и пароль для установленного дистрибутива Linux. Дополнительные сведения см. в статье Рекомендации по настройке среды разработки WSL.
Советы и рекомендации
Мы рекомендуем использовать наше пошаговое руководство Рекомендации по настройке среды разработки WSL. В нем описано, как настроить имя пользователя и пароль для установленных дистрибутивов Linux, использовать основные команды WSL, установить и настроить Терминал Windows, настроить управление версиями Git, отредактировать код и выполнить отладку с помощью удаленного сервера VS Code. Кроме того, в руководстве приведены рекомендации по хранению файлов, настройке базы данных, подключению внешнего диска, настройке ускорения GPU и пр.
Проверьте, какая версия WSL запущена
Вы можете получить список установленных распределений Linux и проверить версию WSL, задав команду wsl -l -v в PowerShell или в Командной строке Windows.
Чтобы задать значение WSL 1 или WSL 2 для версии по умолчанию при установке нового распределения Linux, используйте команду wsl —set-default-version , заменив на 1 или 2.
Чтобы определить распределение Linux по умолчанию для использования с командой wsl , введите wsl -s или wsl —set-default , заменив именем распределения Linux, который вы хотите использовать. Например, в PowerShell или CMD введите wsl -s Debian , чтобы задать для распределения значение по умолчанию — Debian. Теперь запуск wsl npm init в PowerShell приведет к выполнению npm init команды в Debian.
Чтобы запустить определенное распределение WSL из PowerShell или Командной строки Windows без изменения распределения по умолчанию, выполните команду wsl -d , заменив именем распределения, которое вы хотите использовать.
Дополнительные сведения см. в руководстве по основным командам для WSL.
Обновление версии WSL 1 до WSL 2
Для новых установок Linux, выполненных с помощью команды wsl —install , по умолчанию будет задано WSL 2.
С помощью команды wsl —set-version можно перейти с версии WSL 2 на WSL 1 или обновить ранее установленные дистрибутивы Linux с версии WSL 1 до WSL 2.
Чтобы проверить, какая установлена версия распределения Linux — WSL 1 или WSL 2, — выполните команду wsl -l -v .
Для изменения версий выполните команду wsl —set-version 2 , заменив именем дистрибутива Linux, который требуется обновить. Например, команда wsl —set-version Ubuntu-20.04 2 настроит распределение Ubuntu 20,04 на использование WSL 2.
Если вы установили WSL вручную, до того как команда wsl —install стала доступна, возможно, вам также потребуется включить необязательный компонент виртуальной машины, используемый WSL 2, и установить пакет ядра, если это еще не сделано.
Список команд WSL см. в справочнике по командам для WSL; рекомендации по использованию одной из версий в рабочем сценарии см. в статье со сравнением WSL 1 и WSL 2; для получения общих сведений о настройке надлежащего рабочего процесса разработки с помощью WSL ознакомьтесь с рекомендациями по настройке среды разработки WSL.
Способы запуска нескольких распределений Linux с помощью WSL
WSL поддерживает запуск неограниченного количества различных распределений Linux. Сюда входит выбор распределений из Microsoft Store, импорт настраиваемого распределенияили создание собственного пользовательского распределения.
Существует несколько способов запуска распределений Linux после их установки:
- Установка Терминал Windows(Рекомендуется)С помощью Терминал Windows поддерживает столько команд, сколько вы хотите установить, и позволяет открывать их на нескольких вкладках или панелях окон и быстро переключаться между несколькими дистрибутивами Linux или другими командными строками (PowerShell, командная строка, Azure CLI и т. д.). Вы можете полностью настроить терминал, используя уникальные цветовые схемы, стили шрифтов, размеры, фоновые изображения и пользовательские сочетания клавиш. Подробнее.
- Вы можете напрямую открыть распределение Linux, для этого откройте меню «Пуск» Windows и введите имя установленного распределения. Например, «Ubuntu». Откроется Ubuntu в собственном окне консоли.
- В Командной строке Windows или PowerShell можно ввести имя установленного распределения. Например: ubuntu
- Из PowerShell или командной строки Windows можно открыть распределение Linux по умолчанию в текущей командной строке, введя wsl.exe .
- Из PowerShell или командной строки Windows можно использовать распределение Linux по умолчанию в текущей командной строке без ввода новой, введя команду wsl [command] . Замена [command] командой WSL, например wsl -l -v для вывода списка установленных распределений или wsl pwd , чтобы узнать место подключения текущего пути к каталогу в WSL. В PowerShell команда get-date предоставит дату из файловой системы Windows, а wsl date предоставит дату из файловой системы Linux.
Выбранный метод должен зависеть от ваших действий. Если вы открыли командную строку WSL в Командной строке Windows или окне PowerShell и хотите выйти, введите команду exit .
Хотите испытать новейшие предварительные версии функций WSL?
Чтобы поработать с самыми последними функциями или обновлениями для WSL, присоединитесь к Программе предварительной оценки Windows. Когда вы присоединитесь к участникам Программы предварительной оценки Windows, вы сможете выбрать канал для получения предварительных сборок в меню параметров Windows и будете автоматически получать предварительные версии функций и обновления для WSL, связанные с этой сборкой. Варианты:
- Канал разработчика: последние обновления, но низкая стабильность.
- Бета-канал: идеально подходит для ранних последователей; более надежные сборки, чем в канале разработки.
- Канал предварительного выпуска: предварительные версии исправлений и основных функций следующей версии Windows непосредственно перед предоставлением их общедоступной версии.
Дополнительные ресурсы
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.
Windows Subsystem for Linux
Установка и использование подсистемы Linux (WSL 2) в Windows
24.10.2023
Sergey Bo
Linux, Ubuntu, Windows 10, Windows 11, Windows Server 2019
комментариев 19
Среда Windows Subsystem for Linux (WSL) позволяет запускать нативные приложения, писать скрипты, выполнять команды и скрипты Linux непосредственно из Windows без использования эмуляторов или развертывания выделенных виртуальных машин. Актуальной версией среды является WSL 2, в которой используется полноценное ядро Linux (версия ядра 5.15) и обеспечивает полную совместимость с системными вызовами. Образ ядра Linux в WSL представляет собой легкую виртуальную машину, для запуска которой не нужно устанавливать полноценную роль Hyper-V.
Как установить Windows Subsystem for Linux (WSL2)?
Компонент WSL по умолчанию отключен в Windows. Современных дистрибутивах Windows 10 и Windows 11 для установки среды WSL достаточно выполнить команду:
Этак команда автоматически включит все необходимые компоненты Windows, необходимые для работы WSL, установить обновление ядра Linux для WSL2, загрузит дистрибутив Ubuntu (по-умолчанию) и установит его в WSL.
Осталось перезагрузить компьютер, и вы можете запускать среду WSL!
Вы можете установить для WSL другой дистрибутив Linux. Выведите список доступных дистрибутивов:
wsl —list —online
Укажите имя дистрибутива Linux, который установить в WSL. Например:
wsl —install -d kali-linux
Если в 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 запускала автоматически:
- Установить WSL
- Включить компонент виртуалзации VirtualMachinePlatform
- Установить ядро WSL 2
- Скачать и установить дистрибутив Linux для WSL
Сначала установите следующие компоненты Windows:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
Скачаем и установим обновление ядра 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»
Еще раз перезагрузите компьютер и назначьте версию WSL 2 в качестве среды по-умолчанию:
wsl —set-default-version 2
WSL: Установка дистрибутива Linux в Windows
После того, как ядро WSL установлено в Windows, вы можете установить один или несколько дистрибутивов Linux на компьютер.
Можно установить пакет с дистрибутивом Linux через Microsoft Store. Доступны следующие дистрибутивы:
- Ubuntu
- Debian
- Kali Linux
- OpenSUSE
- Oracle Linux
- SUSE Linux Enterprise Server
- Fedora
Найдите нужную версию дистрибутива в Store и установите ее, нажав кнопку Получить (Get).
Если у вас отключен Windows Store, вы хотите установить дистрибутив WSL в Core редакции Windows Server или вам нужно установить WSL на Изолированном от интернета компьютере (оффлайн), вы можете скачать дистрибутив Ubuntu с помощью PowerShell командлета Invoke-WebRequest:
Invoke-WebRequest https://aka.ms/wslubuntu2204 -OutFile ubuntu-2204.appx –UseBasicParsing
Установите пакет для WSL с помощью:
После окончания установки появится окно, в котором вам будет предложено указать имя пользователя и пароль для вашего дистрибутива.
После установки вы можете в меню Пуск появится отдельная программа для запуска Linux.
Также вы можете запустить ваш Linux из отдельной вкладки Windows Terminal или с помощью команды wsl .
Команды для управления WSL в Windows
Рассмотрим основные команды для управления ядром и дистрибутивами Linux в WSL.
Проверить текущую версию ядра WSL:
Обновить ядро WSL вручную:
Откатится к предыдущему ядру WSL:
wsl —update rollback
Вывести список установленных версий Linux:
Вывести дистрибутив Linux, который используется по-умолчанию:
Дистрибутив Linux по-умолчанию в WSL можно изменить:
wsl —setdefault Ubuntu
Запустить определенный дистрибутив в WSL:
wsl -d kali-linux
Завершить среду WSL:
Можно войти в 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
Файловая система вашего дистрибутива Linux хранится в профиле пользователя в виде VHDX файла. Например, виртуальный диск Ubuntu хранится в папке %USERPROFILE%\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\LocalState
Файловая система Linux в WSL монтируется в виде сетевой папки прямо в проводник Windows.
Также для прямого доступа к файлам WSL из Windows можно использовать UNC путь. Например:
В свою очередь локальные диски Windows монтируются в WSL в папку mnt. Вывести список файлов папок на диске C:
Другие примеры запуска 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
Для доступа к физическим USB устройства из WSL можно использоваь пакет usbipd-win.
В современной версии WSL 2 вы можете запускать из Windows любые приложения Linux с графическим интерфейсом (X11 и Wayland). Например, установите графический редактор:
$ sudo apt install gimp -y
Чтобы запустить его из Windows просто выполните команду:
Предыдущая статья Следующая статья
Читайте далее в разделе Linux Ubuntu Windows 10 Windows 11 Windows Server 2019
Mailcow: готовый почтовый сервер на postfix+dovecot+SOGo на Docker контейнерах
Установка KMS сервера vlmcsd на Linux для активации Windows и Office
Установка и настройка GLPI и FusionInventory, инвентаризация ИТ инфраструктуры
IPMI: настройка и удаленное управление серверами Supermicro
Операционные системы — Основы командной строки
В этом уроке мы начнем изучать командную строку с истории ее появления.
Как появилась командная строка
Все началось в 1970-х годах. В те времена не существовало ни привычной Windows, ни персональных компьютеров. Компьютерами называли мейнфреймы — большие машины, занимающие целые этажи зданий:
В то же время на свет появилась Unix — операционная система, написанная на языке Си и предназначенная для работы на мейнфреймах. Ключевая ее особенность — это многопользовательский режим. Дело в том, что тогда компьютеры были редкостью, поэтому у каждого мейнфрейма было множество пользователей одновременно.
Unix позволяла подключаться к мейнфрейму через терминалы — специальные устройства, которые служили двум задачам:
- Ввод информации (клавиатура)
- Вывод информации (монитор)
При этом вся обработка выполнялась на отдельном сервере. Сам терминал выглядел так:
Unix оказалась очень удачной операционной системой, но была платной и закрытой. Другими словами, никто не мог посмотреть ее исходный код.
Со временем на основе Unix создавались новые системы, которые теряли обратную совместимость. Другими словами, разработчикам приходилось писать отдельную программу под каждую операционную систему.
Такая ситуация усложняла жизнь всем, поэтому был принят стандарт POSIX (Portable Operating System Interface for UNIX). Сейчас это не один стандарт, а целое семейство стандартов. Оно описывает работу ключевых компонентов операционной системы и способов взаимодействия с ними из программ, написанных на Си.
Операционная система Linux
В те же времена начали активно развиваться сети. Сначала появились прообразы интернета, а затем и сам интернет. Компьютеры становились меньше, а серверов — все больше. В 1991 году студент Линус Торвальдс решил написать собственную операционную систему, которая совместима со стандартом POSIX.
Благодаря интернету, Линус собрал целое сообщество разработчиков, которые довольно быстро создали рабочую операционную систему под названием Linux и выложили ее исходный код в открытый доступ. С тех пор популярность Linux для серверного окружения быстро росла.
Но сам Linux — это только ядро операционной системы, которое не получится использовать без сопутствующих программ.
Когда Линус начал свою разработку, уже существовал проект GNU, основанный Ричардом Столлманом. В рамках этого проекта уже были разработаны свободные программы, составляющие основной инструментарий разработчика программ на языке Си:
- Текстовый редактор Emacs
- Компилятор языка Си gcc
- Командная оболочка bash
- Библиотека важнейших функций для программ на Си libc
Все эти программы были написаны для операционных систем, похожих на Unix. Поэтому в них использовались стандартные для UNIX системные вызовы — POSIX. Благодаря этому, Linux сразу начал поставляться с утилитами — например, архиваторами или командной оболочкой bash, которую мы начнем изучать в этом курсе.
Удивительный факт для тех, кто знаком только с Windows — Linux не имеет своей графической оболочки. Именно поэтому Linux может выглядеть очень по-разному, ведь на него можно поставить множество разных графических оболочек:
Сейчас Linux не используется в чистом виде. Вместо этого конечные пользователи имеют дело с дистрибутивами. Дистрибутив включает в себя:
- Сам Linux
- GNU-программы
- Утилиты для установки и настройки Linux
- Поддержку регулярного обновления самого ядра и его окружения
Существует очень много дистрибутивов, но некоторые из них особо популярны. Одни делаются энтузиастами, за другими стоят большие компании. Самый популярный дистрибутив — это полностью бесплатная операционная система Ubuntu :
Также популярны разновидности Ubuntu:
- Ubuntu Server, оптимизированный для работы на серверах
- Xubuntu, оптимизированная для маломощных компьютеров
В отличие от Unix-подобных операционных систем, Windows изначально создавалась для однопользовательского режима и никогда не пыталась быть совместимой с POSIX. Ей удалось захватить рынок персональных компьютеров, но на серверах она почти не встречается, несмотря на существование Windows Server.
Windows редко ставят на сервера, потому что она платная, и совсем не совместима с POSIX. При этом у Windows есть командная строка cmd.exe , но ее функциональность отличается от командной строки Linux, в ней используются другие команды. Опыт работы с ней не сильно поможет при работе в Linux-окружении, с которым все равно придется столкнуться.
Мы рекомендуем осваивать Linux и его командную строку через полное погружение. Для этого надо установить Ubuntu основной системой или активировать ее внутри Windows.
Если вы пользуетесь macOS, то можно ничего не делать — эта операционная система основана на Unix и считается даже более POSIX-совместимой, чем Linux. У нее прекрасная командная строка и инструментарий для работы.
Далее в курсе все примеры работы с командной строкой мы будем показывать исключительно на POSIX-совместимых операционных системах.
Самостоятельная работа
Если у вас Windows, настройте окружение в соответствие с нашим гайдом на эту тему.
Когда вы будете добавлять пароль учетной записи Ubuntu, вы не увидите никаких символов — даже привычных * . Не стоит переживать — эта особенность терминала Linux продиктована соображениями безопасности.
Дополнительные материалы
- Установка Ubuntu основной системой
- Установка Ubuntu на Windows
- Книги по операционным системам
Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты
Об обучении на Хекслете
- Статья «Как учиться и справляться с негативными мыслями»
- Статья «Ловушки обучения»
- Статья «Сложные простые задачи по программированию»
- Вебинар « Как самостоятельно учиться »
Открыть доступ
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно
- 130 курсов, 2000+ часов теории
- 1000 практических заданий в браузере
- 360 000 студентов
Наши выпускники работают в компаниях:
Как решить проблему «wsl : Имя «wsl» не распознано как имя командлета. «?
Ввожу «wsl —install» Появляется следующая ошибка: Подозреваю, что тот, кто ставил винду, ставил минимальную сборку «без мусора». Концы сейчас не найти, а wsl2 нужен. Подскажите, как установить wsl 2?
- Выпуск Windows 11 Pro
- Версия 21H2
- Дата установки 02.12.2022
- Сборка ОС 22000.318
- Взаимодействие Windows Feature Experience Pack 1000.22000.318.0
В списке компонентов Windows WSL я не нашел
Отслеживать
задан 18 фев 2023 в 17:52
444 1 1 серебряный знак 17 17 бронзовых знаков
Панель управления\Все элементы панели управления\Программы и компоненты\Включение отключение компонентов Windows
18 фев 2023 в 17:57
@user7860670 см UPD