WSL: что такое и как использовать подсистему Windows для Linux

На протяжении многих лет единственными способами использования Linux вместе с Windows должны были либо установить двойную загрузку с двумя операционными системами (возможность использовать только одну за раз), либо смонтировать виртуальную машину со второй операционной системой в ней. Linux и Microsoft были конкурентами в течение многих лет и боролись за доверие пользователей. Однако, к всеобщему благу, это соперничество превратилось в дружбу, и с некоторого времени мы можем делать то, о чем раньше даже не догадывались: установить Linux на Windows 10. Это ВСЛ.

ВСЛ, Подсистема Windows для Linux или Подсистема Windows для Linux - это функция, представленная в Windows 10, которая позволяет устанавливать ядро ​​Linux непосредственно в операционной системе Microsoft. Это возможно благодаря виртуализации Microsoft Hyper-V, благодаря чему мы сможем получить доступ ко всем командам и всем терминальным программам этой операционной системы непосредственно из окна CMD.

WSL: как использовать подсистему Windows для Linux

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

Преимущества WSL

Ассоциация Подсистема Windows для Linux может быть полезен как любителям, начинающим делать первые шаги в этой операционной системе, так и опытным пользователям и системным администраторам.

Основная цель WSL - дать возможность системным администраторам и программистам использовать все Linux инструменты и сервисы прямо из Windows без необходимости виртуализации что-нибудь еще или смонтировать сложную инфраструктуру. В конце концов, мы сможем сделать все, что могли, если бы мы установили Linux на виртуальную машину или другой ПК и использовали ее с терминала или TTY. Все команды Linux должны нормально работать в Windows, например склонный or Dpkg. Мы можем даже код компиляции прямо отсюда с преимуществами, которые предоставляет Linux в этом отношении.

Но эта реализация также полезна для пользователей, которые делают свои первые шаги в системах Linux. Благодаря этому любой пользователь может иметь все инструменты Linux под рукой без необходимости что-либо настраивать или виртуализировать. И, кроме того, вы будете Убедитесь что если что-то пойдет не так, вам нужно будет переустановить дистрибутив в WSL, поскольку Windows 10 не будет скомпрометирована.

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

Недостатки и ограничения

Одним из основных ограничения WSL в том, что это не родное ядро, а зависит от Hyper-V , И это влечет за собой ряд проблем и неудобств, таких как, например, масштабируемость и производительность при выполнении определенных задач. Мы также должны помнить, что WSL1 не поддерживает ядро , поэтому некоторые программы, такие как Docker, не будут работать. Это уже исправлено в WSL2.

Cеть подключение работает в WSL, но должен пройти несколько уровней. Это подразумевает значительную потерю производительности при выполнении процессов, работающих на низком уровне сети. И, кроме того, есть периферийные устройства, которые не работают должным образом из-за того, как Hyper-V управляет этим Linux.

WSL1 против WSL2

В мае 2020 года для Windows 10 Microsoft представила пользователям WSL2 обновленную и улучшенную версию WSL1. Основное различие между первой версией и второй версией этой подсистемы состоит в том, что, хотя первая версия работала на промежуточном уровне между аппаратным обеспечением и операционной системой, WSL2 теперь имеет свою собственную виртуальную машину Hyper-V, которая наряду с ядром A специально Скомпилированный для этой цели, позволяет намного лучше взаимодействовать с системными вызовами, улучшая производительность и все возможности, которые он нам предлагает.

WSL2 имеет родной гипервизор, позволяющий запускать настоящее ядро ​​прямо в Windows , При этом все проблемы с производительностью и совместимостью со службами и программами решаются, даже достигая улучшение производительности до 500% при выполнении определенных задач. Ввод и вывод данных также значительно улучшен, и к ним можно получить доступ даже из самого проводника файлов, а также значительно быстрее и проще изменить распределение.

WSL2 против виртуальной машины

Итак, какие преимущества (и недостатки) дает WSL2 по сравнению с установкой Linux на виртуальной машине, такой как VirtualBox or VMware? Первое отличие состоит в том, что, хотя Linux на виртуальной машине изолирован, WSL2 полностью интегрирован с Windows, поэтому обе системы могут взаимодействовать друг с другом. Кроме того, подсистема Windows может загружать Linux всего за одну секунду, тогда как виртуальная машина значительно медленнее загружает систему.

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

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

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

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

И мы можем выбрать WSL, когда:

  • Мы хотим запустить основные команды Linux.
  • Мы хотим тратить мало памяти и мало ресурсов ПК.
  • Нам нужна эффективность хранения.
  • Мы не хотим / можем / не знаем, как использовать виртуальные машины.
  • Нам нужен быстрый доступ к файловой системе и непосредственное взаимодействие с файловой системой Windows.

Как активировать Bash в Windows 10

Процесс использования Linux из Windows 10 в основном разделен на две части. Первым из них является активация подсистемы Linux для Windows. Для этого в разделе поиска Windows 10 мы должны искать » Компоненты Windows », Чтобы открыть инструмент, который позволяет нам включать или отключать расширенные системные инструменты и сервисы.

Характеристики Windows 10

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

Мы принимаем изменения, перезагружаем ПК по запросу, и когда компьютер снова запускается, он будет готов к запуску Linux. При желании мы можем сделать то же самое, выполнив следующую команду в окне PowerShell с разрешениями администратора:

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

Activar WSL от PowerShell

И с появлением WSL2 мы также можем активировать эту консоль с помощью простой команды CMD:

wsl --install

Установка WSL2

Скачать Linux на Windows 10

У нас уже активирован WSL, но на данный момент он бесполезен. Чтобы начать использовать его, нам нужно загрузить дистрибутив, который мы хотим установить в нашей Windows 10. Хотя понемногу появляется больше дистрибутивов, адаптированных к этой подсистеме, количество доступных альтернатив все еще довольно ограничено. И не стоит скачивать их с какого-либо сайта, но мы должны загрузить их из Магазинов Microsoft.

Мы можем найти все дистрибутивы для WSL из Microsoft Store, набрав «Linux» в браузере магазина.

Linux в MS Store

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

Разработчик: Canonical Group Limited
Цена: бесплатно


Разработчик: SUSE
Цена: бесплатно


Разработчик: SUSE
Цена: бесплатно


Разработчик: Kali Linux
Цена: бесплатно


Разработчик: Проект Debian
Цена: бесплатно


Разработчик: agowa338
Цена: бесплатно


Мы загружаем нужный дистрибутив из магазина и устанавливаем его в Windows 10. Он будет готов начать использовать его. Но прежде всего мы собираемся убедиться, что мы используем версию 2 WSL, чтобы иметь возможность пользоваться ее преимуществами. Мы можем сделать это, открыв окно PowerShell с разрешениями Администратора и выполнив следующую команду, изменив «distro» на имя загруженного нами дистрибутива.

wsl --set-version distro 2

Если мы не знаем название дистрибутива, мы можем увидеть все те, которые мы установили с помощью команды:

wsl --list --quiet

Выполнение этой команды займет несколько минут. Когда он закончится, у нас уже будет наш WSL2 с дистрибутивом что мы выбрали готовые к использованию.

Первое использование

При первом открытии дистрибутива запускается автоматический процесс установки и настройки , Этот процесс не займет много времени, и в какой-то момент он попросит нас указать имя пользователя и пароль что мы хотим дать это.

После этой начальной конфигурации наш Linux внутри Windows 10 будет готов к его использованию. Но прежде всего мы должны обнови это. Мы можем сделать это легко, как обновить Linux на реальном компьютере или виртуальной машине. Достаточно будет выполнить:

sudo apt update && sudo apt upgrade

Ubuntu Subsistema Linux для Windows

Как открыть Linux в Windows 10

Благодаря WSL мы сможем использовать инструменты и программы Windows напрямую из CMD или PowerShell. Для этого нам просто нужно запустить "WSL" команда, а затем команда, которую мы хотим запустить, в окне PowerShell. Например, «wsl ls» покажет нам содержимое текущего каталога.

Но если мы хотим иметь прямой доступ к терминалу дистрибутива Linux, то нам нужно найти средство запуска установленного дистрибутива в меню «Пуск» Windows и запустить его оттуда. Мы также можем запустить команда «bash.exe» из PowerShell запустить полную реализацию Linux на Windows.

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