Перейти к основному содержанию
Скидка 50% все планы, ограниченное время. Начиная от $2.48/mo
9 min left
Инструменты разработчика и DevOps

Знакомьтесь: подсистема Windows для Linux! + Как исправить ошибки WSL 👨‍🔧

Alex Robbins Автор: Alex Robbins 9 мин чтения Обновлено May 30, 2023
wsl on windows 10

Windows не всегда достаточно. Честно говоря, довольно часто — особенно если вы разработчик. Двойная загрузка или виртуальные машины могут показаться сложными и доставить немало проблем, а на старых системах это и вовсе настоящий кошмар. Что тогда? Не WSL, как вы могли подумать. Лучшее решение я раскрою в конце статьи — читайте до конца, если хотите узнать его. А пока — второй по удобству вариант: Windows Subsystem for Linux. Нужен ли вам WSL, чтобы избавиться от ошибки WSL ("Необязательный компонент подсистемы Windows для Linux не включён) или по другой причине — сначала необходимо его включить.

Что такое WSL?

 

WSL — это гибридное, странное и половинчатое решение для запуска некоторых команд и приложений Linux внутри Windows через PowerShell. Само по себе это Сравнение Windows и Linux решается не только с помощью WSL, но это хотя бы временный выход. WSL работает быстрее полноценной виртуальной машины (VM) и создаёт меньше накладных расходов. При этом он не гарантирует полную совместимость и поддерживает не все команды и приложения. В итоге это полумера, которую стоит рассматривать только если вы занимаетесь кроссплатформенной разработкой и компиляцией.

 

Что такое WSL2?

 

Новая и улучшенная подсистема Windows для Linux, известная под кодовым названием WSL2, теперь устанавливается по умолчанию при выполнении шагов, описанных выше. WSL2 получила значительные обновления: в частности, полноценную поддержку контейнеров Docker и Kubernetes и их развёртывания. Microsoft давно пора было сделать контейнеры более доступными — и это шаг в правильном направлении. Тем не менее даже WSL2 не лишена недостатков, когда речь заходит о контейнеризации и деплое кода. 

Но предположим, что вам всё равно нужно установить WSL — именно для этого и написана данная инструкция. Здесь собраны все необходимые шаги для включения WSL, даже если вы используете старую сборку Windows 10. Следуйте инструкциям до конца — в финале вас ждёт то самое решение, о котором я говорил. 

Читайте также: Как установить Docker на VPS (пошаговое руководство)

Разбираемся с ошибкой: «the windows subsystem for Linux optional component is not enabled»

Одна из главных причин, по которым пользователи обычно узнают о WSL и начинают его устанавливать — это конкретное сообщение об ошибке в Windows. Ошибки в Windows никого не удивляют, но эта немного выделяется на общем фоне. Как правило, сообщение выглядит примерно так: «the windows subsystem for Linux optional component is not enabled». 

Избавиться от этой ошибки можно только одним способом — включить подсистему Windows для Linux. В этой статье описано, как это сделать. Приступим.

Как включить подсистему Windows для Linux?

Чтобы добавить возможности Linux в Windows, нужно включить подсистему Windows для Linux. Это также поможет избавиться от надоедливой ошибки «the windows subsystem for Linux optional component is not enabled». Несмотря на то что название звучит сложно, сам процесс установки очень прост. 

В общем, есть два способа включить WSL: через Панель управления или через PowerShell. Панель управления — более простой и понятный вариант. Правда, иногда она не справляется с задачей (по непонятным причинам, кашель-кашель Microsoft). PowerShell требует ввода нескольких команд в интерфейс командной строки, что может показаться пугающим для неподготовленных пользователей. Но все нужные команды уже здесь — копируйте и вставляйте прямо в PowerShell.

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

Как узнать версию Windows?

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

Шаг 1: запустите Application Launcher, нажав клавиши Windows + R

[Application Launcher]
[Строка выполнения]
Шаг 2: Введите <winver> в строку выполнения

Enter “winver” into the launcher box
[Введите «winver» в строку выполнения]
Шаг 3: Найдите версию Windows и номер сборки на экране «О программе Windows».

Finding the Windows version from the pop-up screen
[Просмотр версии Windows во всплывающем окне]

Как видно на скриншоте выше, моя Windows 10 соответствует обоим условиям (версия 2004, сборка > 16215). Если номер вашей сборки меньше 16215, необходимо включить режим разработчика сначала.

 

Как включить Developer Mode (для сборок Windows 10 до 16215)

Режим разработчика - это функция Windows, которая позволяет устанавливать приложения, не одобренные Microsoft или находящиеся на стадии бета-тестирования. Он также может пригодиться в других ситуациях, например при установке стороннего приложения, не прошедшего проверку Microsoft. Чтобы включить режим разработчика, следуйте простым инструкциям ниже:

Шаг 1: Откройте Настройки

Шаг 2: Нажмите на Обновление и безопасность

Updates and Security panel in Settings
[Раздел «Обновление и безопасность» в настройках]

Шаг 3: В меню слева выберите Для разработчиков

For Developers panel in Settings
[Раздел «Для разработчиков» в настройках]

Шаг 4: Нажмите на переключатель, чтобы включить режим разработчика.

Developer Mode enabled
[Режим разработчика включён]

Шаг 5: В разделе «Использование функций разработчика» диалоговом окне нажмите на Да

Confirm Developer Mode
[Подтвердить режим разработчика]
Вы перешли в режим разработчика. Это означает, что вам разрешено устанавливать нестандартное программное обеспечение, включая WSL, который находился в бета-версии вплоть до сборки 16215. Теперь все необходимые условия выполнены, и можно включить подсистему Windows для Linux.

Как включить WSL через панель управления

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

Шаг 1: Откройте Панель управления

Шаг 2: Нажмите на Программы

[Windows 10 Control Panel Screen]
[Экран панели управления Windows 10]

Шаг 3: Нажмите на Включение и отключение компонентов Windows

Control Panel Windows Features
[Компоненты Windows в панели управления]

Шаг 4: Найдите и выберите Подсистема Windows для Linux флажок.

[List of Windows Features to turn on or off]
[Список компонентов Windows для включения или отключения]

Шаг 5: Нажмите кнопку OK 

 

Шаг 6: Дождитесь, пока мастер установки завершит настройку вашей системы Windows.

Windows Features installation wizard
[Мастер установки компонентов Windows]

Шаг 7: Затем нажмите Перезагрузить сейчас на следующем экране

Restarting your Windows
[Перезагрузка Windows]

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

  1. Откройте Магазин Microsoft
  2. Поиск дистрибутивов Linux (Ubuntu, Debian, Kali Linux и т.д.)
  3. Выберите нужные дистрибутивы
  4. Нажмите кнопку Получить or Установить», кнопку
  5. Нажмите кнопку Откройте кнопку
  6. Придумайте имя пользователя для вашего дистрибутива и нажмите Enter
  7. Создайте пароль для ваших дистрибутивов и нажмите Enter
  8. Повторите пароль и нажмите Enter подтвердить

Теперь ваш любимый дистрибутив будет запущен в WSL.

Как установить WSL через PowerShell?

 

Вы также можете включить подсистему Windows для Linux через PowerShell — особенно если предпочитаете работать с командной строкой. 

Чтобы установить WSL через PowerShell, выполните следующие шаги: 

  1. Откройте «Пуск» и найдите PowerShell
  2. Щёлкните правой кнопкой мыши по результату и выберите Запуск от имени администратора
  3. Введите следующую команду для включения подсистемы Linux и нажмите Enter
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
  1. Откройте «Пуск» и поиск PowerShell
  2. Тип Y и нажмите Enter для подтверждения и перезагрузки компьютера.

Ваш Windows 10 готов к загрузке. Чтобы установить дистрибутивы, выполните следующие шаги:

  1. Откройте «Пуск» и поиск PowerShell
  2. Щёлкните правой кнопкой мыши по результату и выберите Запуск от имени администратора 
  3. Введите следующую команду и нажмите Enter; эта команда выберет папку для загрузки
cd c:\PATH\TO\DESTINATION-FOLDER

Примечание: укажите путь для загрузки файла, например c:\data

  1. Введите следующую команду для загрузки Ubuntu и нажмите Enter
Invoke-WebRequest -Uri https://wsldownload.azureedge.net/Ubuntu_1604.2019.523.0_x64.appx -OutFile Ubuntu.appx -UseBasicParsing

Примечание: эта команда загрузит Ubuntu 16.04. Чтобы загрузить нужный дистрибутив, просто укажите его название и версию.

  1. Тип dir и нажмите Enter чтобы увидеть фактическое имя установщика
  2.  Введите следующую команду и нажмите Enter для установки дистрибутива. В разделе APP-NAME введите название дистрибутива
Add-AppxPackage .\APP-NAME.appx
  1. Откройте «Пуск»
  2. Найдите нужный дистрибутив в поиске и нажмите на первый результат, чтобы начать работу
  3. Придумайте имя пользователя для вашего дистрибутива и нажмите Enter
  4. Создайте пароль для ваших дистрибутивов и нажмите Enter
  5. Повторите пароль и нажмите Enter подтвердить

 

Решение получше?

Если вы устанавливаете WSL не из-за ошибки («the windows subsystem for Linux optional component is not enabled»), а просто хотите работать с Linux, то у меня есть более удобное решение.

Как я уже сказал в начале статьи, для большинства пользователей переход с Windows на Linux — задача непростая. Расстаться с привычной системой и окунуться в незнакомый мир Linux — перспектива не самая заманчивая. Поэтому начинающие разработчики и веб-администраторы обычно либо настраивают двойную загрузку, что серьёзно нагружает железо и грозит поломкой всей системы, либо прибегают к виртуальным машинам. Виртуальные машины потребляют очень много ресурсов, и запуск двух полноценных операционных систем одновременно — а именно это и происходит при работе с VM — заметно снижает производительность обеих. Так что если у вас дома нет очень мощного игрового компьютера, стоит поискать другой вариант.

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

linux-vps Хостинг на Linux без сложностей

Ищете более удобный способ хостить сайты и веб-приложения? Разрабатываете что-то новое? Просто не любите Windows? Поэтому у нас есть Linux VPS.

Получите ваш Linux VPS

Я рекомендую взять план Linux VPS и использовать его как удалённый компьютер. Наши предложения Linux VPS — это хостинг-решения, оптимизированные под конкретные дистрибутивы и работающие на топовом железе, так что об оверхеде можно не беспокоиться. Планы VPS доступны более чем в 14 локациях по всему миру, поэтому низкую задержку до сервера вы получите вне зависимости от своего местонахождения.

Share

Ещё в блоге

Читайте дальше.

Best self-hosted Heroku and Vercel alternatives: Coolify, Dokku, CapRover, Dokploy, Kamal, and seelf
Инструменты разработчика и DevOps

Лучшие самостоятельно размещаемые альтернативы Heroku и Vercel: Coolify, Dokku и другие

Coolify, Dokku, CapRover, Dokploy, Kamal и seelf в сравнении по сценариям использования, требованиям к железу, уровню безопасности и реальной стоимости self-hosted PaaS.

Varys 15 мин чтения

Готовы к развёртыванию? От $2,48/мес.

Независимое облако с 2008 года. AMD EPYC, NVMe, 40 Gbps. Возврат денег в течение 14 дней.