Установка и использование подсистемы Linux (WSL 2) в Windows 10
Windows Subsystem for Linux (WSL) — подсистема ОС Windows 10, позволяющая разработчикам, тестировщикам запускать нативные приложения Linux, писать скрипты, выполнять команды непосредственно из Windows. В обновлённой Windows 10 (2004) появилась 2я версия WSL, в которой используется полноценное ядро Linux с возможностью запуска приложений и контейнеров Docker, реализована высокая скорость загрузки, небольшой объем потребляемых ресурсов, управление в фоновом режиме, обновление ядра. Таким образом вы сможете запускать ELF64 программы, которые могут получать доступ к файловой системе Windows без использования сторонних порто (таких как Cygwin).
Образ ядра Linux (версия ядра 4.19) в Windows 10 представляет собой легкую виртуальную машину, для запуска которой не нужно ставить полноценную роль Hyper-V. Системные вызовы Linux транслируются на лету в вызовы Windows без использования эмулятора (в отличии от WSL1).
Изначально компонент WSL отключен. Чтобы его включить, вам необходимо зайти в Пуск -> Панель управления -> Программы и компоненты -> Включение и отключение компонентов Windows (Control Panel\All Control Panel Items\Programs and Features\Turn Windows features on or off), активировать галочку Подсистема Windows для Linux (Windows Subsystem for Linux), нажать кнопку ОК, и перезагрузить компьютер.
Вы можете включить компоненты WSL в Windows 10 с помощью dism:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
Install-WindowsFeature -Name Microsoft-Windows-Subsystem-Linux
После этого также необходимо перезагрузить компьютер.
Теперь вам нужно выполнить обновление WSL до версии 2. Для этого требуется зайти на сайт https://docs.microsoft.com/ru-ru/windows/wsl/wsl2-kernel, скачать файл wsl_update_x64.msi, установить его. По завершении увидите картинку
Чтобы сделать WSL2 архитектурой по умолчанию для новых дистрибутивов, в PowerShell выполните команду:
wsl —set-default-version 2
Далее вам необходимо открыть Microsoft Store, в поиске ввести слово “Linux”. В появившемся списке выберите нужный дистрибутив. Доступные Ubuntu, Debian, Kali Linux, Linux Cheatsheet, SUSE Linux Enterprise Server15, openSUSE Leap 15-1, Pengwin Enterprise, Fedora Remix for WSL или другие. В нашем примере мы будем использовать Ubuntu 20.04 LTS, нажмите кнопку Получить.
Invoke-WebRequest https://aka.ms/wslubuntu2004 -OutFile ubuntu-2004.zip –UseBasicParsing
Expand-Archive -Path .\ubuntu-2004.zip
Запустите установку образа Linux с помощью файла Ubuntu.exe.
Также вы можете скачать образ в виде appx файла и установить его с помощью командлета Add-AppxPackage.
После установки можно проверить используемую версию WSL с помощью команды
wsl —list –-verbose
Если у вашей среды Linux указана версия 1, нужно изменить ее на WSL2 командой:
wsl —set-version Ubuntu-20.04 2
Файл жёсткого диска с образом виртуальной машины ОС Linux Ubuntu 20.04 будет располагаться в профиле пользователя: C:\Users\234\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState.
После установки дистрибутива в стартовом меню появляется ярлык на него. Для запуска Ubuntu зайдите в меню Пуск, нажмите на соответствующем ярлыке и получите в отдельном окне полноценную командную оболочку Bash. Запускать WSL можно и с помощью команды wsl. При первом запуске образа в командной строке Bash вам будет предложено создать пользователя и пароль (которые не должны совпадать с учётной записью Windows). Чтобы выполнять команды с правами root, необходимо использовать дополнительный ключ (префикс) sudo. В WSL есть общие команды для Bash и CMD, и тут нужно не забывать, что система Linux чувствительна к регистру.
Вы можете выполнить Linux-команды из CMD. Для этого необходимо вначале указать “WSL”. Например, для просмотра списка файлов и папок в каталоге Windows, выполните:
dir | wsl grep Sa
wsl ls ‑la > 123.txt
wsl ls ‑la /proc/cpuinfo
wsl ls ‑la “/mnt/c/Program Files”
Также вы можете открыть проводник командой explorer.exe, калькулятор – calc.exe, блокнот – notepad.exe, paint – mspaint.exe, календарь – cal, погоду – curl wttr.in
Ещё один пример взаимосвязи 2х систем – вы можете открыть в Windows файл из WSL-дистрибутива по сетевому пути. Для этого в CMD наберите путь к файлу:
notepad \\wsl$\Ubuntu-20.04\home\1122.txt
Из окна консоли вы можете обновить список пакетов в Ubuntu с помощью команд:
sudo apt-get update
sudo apt-get upgrade
После обновления Ubuntu папка …/LocalState будет занимать 1.5 Гб.
Из командной строки Linux можно не только просмотреть Windows-файлы и каталоги, но и получить к ним доступ. Чтобы удобнее копировать файлы, просматривать директории и их содержимое, установите файловый менеджер Midnight Commander с помощью команды
sudo apt-get install mc
Вы можете запустить Midnight Commander как в командной оболочке Bash, так и внутри CMD. На скриншоте ниже показано, что в двух панелях MC показывается список файлов с обеих ОС.
Можно отобрахить сетевые настройки (IP адрес) IP-адрес Linux-системы:
ip addr | grep eth0
В WSL не предусмотрена работа приложений с графическим интерфейсом. Тем не менее вы можете попробовать их установить и использовать. Чтобы запускать графические приложения в Linux, нужно скачать и установить в Windows программу VcXsrv Windows X Server (https://sourceforge.net/projects/vcxsrv/).
С помощью пакетного менеджера apt-get установим несколько графических программ: например, браузер, текстовый редактор или что-то ещё:
sudo apt-get install gedit
sudo apt-get install firefox
sudo apt-get install x11-app
Затем создайте файл в директории root:
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk ‘
Теперь можете запустить графические программы Linux через WSL командами:
Вы можете установить в Windows 10 несколько дистрибутивов Linux и запускать одновременно в разных окнах WSL. Вывести весь перечень установленных дистрибутивов можете с помощью команды:
чтобы завершить работу всех запущенных дистрибутивов и ядра WSL 2, выполните команду:
Источник
Как установить Linux в Windows 10
В Windows 10 появилась новая возможность для разработчиков — оболочка Ubuntu Bash, позволяющая запускать, устанавливать приложения Linux, использовать скрипты bash прямо в Windows 10, все это называется «Подсистема Windows для Linux». В версии Windows 10 1709 Fall Creators Update доступны уже три дистрибутива Linux для установки. Во всех случаях требуется 64-разрядная система для установки.
В этой инструкции — о том, как установить Ubuntu, OpenSUSE или SUSE Linux Enterprise Server в Windows 10 и некоторые примеры использования в конце статьи. Следует также учитывать, что есть некоторые ограничения при использовании bash в Windows: например, нельзя запускать GUI приложения (правда, сообщают об обходных путях с помощью X server). Кроме этого, командами bash нельзя запустить Windows-программы, несмотря на наличие полного доступа к файловой системе ОС.
Установка Ubuntu, OpenSUSE или SUSE Linux Enterprise Server в Windows 10
Начиная с версии Windows 10 Fall Creators Update (версия 1709) установка подсистемы Linux для Windows несколько изменилась по сравнению с тем, что было в предыдущих версиях (для предыдущих версий, начиная с 1607, когда функция была представлена в бета-версии, инструкция — во второй части этой статьи). Также обратите внимание, что в Windows 10 2004 можно установить Kali Linux с графическим интерфейсом.
Теперь необходимые шаги выглядят следующим образом:
- Прежде всего, необходимо включить компонент «Подсистема Windows для Linux» в «Панель управления» — «Программы и компоненты» — «Включение и отключение компонентов Windows».
- После установки компонентов и перезагрузки компьютера, зайдите в Магазин приложений Windows 10 и загрузите оттуда Ubuntu, OpenSUSE или SUSE Linux ES (да, теперь доступно три дистрибутива). При загрузке возможны некоторые нюансы, о которых далее в примечаниях.
- Запустите загруженный дистрибутив как обычное приложение Windows 10 и выполните первоначальную настройку (имя пользователя и пароль).
Для включения компонента «Подсистема Windows для Linux» (первый шаг) можно использовать команду PowerShell:
Теперь несколько примечаний, которые могут быть полезны при установке:
- Вы можете установить сразу несколько дистрибутивов Linux.
- При загрузке дистрибутивов Ubuntu, OpenSUSE и SUSE Linux Enterprise Server в русскоязычном магазине Windows 10 заметил следующий нюанс: если просто ввести название и нажать Enter, то нужных результатов в поиске не оказывается, но если начать вводить и затем нажать по появляющейся подсказке, автоматически попадаешь на нужную страницу. На всякий случай прямые ссылки на дистрибутивы в магазине: Ubuntu, OpenSUSE, SUSE LES.
- Запускать Linux можно и из командной строки (не только с плитки в меню Пуск): ubuntu, opensuse-42 или sles-12
Установка Bash в Windows 10 1607 и 1703
Для того, чтобы установить оболочку bash, выполните следующие простые действия.
- Зайдите в параметры Windows 10 — Обновление и безопасность — Для разработчиков. Включите режим разработчика (должен быть подключен Интернет для загрузки необходимых компонентов).
- Зайдите в панель управления — Программы и компоненты — Включение или отключение компонентов Windows, отметьте пункт «Подсистема Windows для Linux».
- После установки компонентов, введите в поиске Windows 10 «bash», запустите предлагаемый вариант приложения и выполните установку. Вы можете задать свое имя пользователя и пароль для bash, либо использовать пользователя root без пароля.
По завершении установки вы можете запускать Ubuntu Bash на Windows 10 через поиск, или создав ярлык для оболочки там, где вам требуется.
Примеры использования Ubuntu Shell в Windows
Для начала отмечу, что автор не является специалистом по bash, Linux и разработке, а примеры ниже — просто демонстрация того, что в Windows 10 bash работает с ожидаемыми результатами для тех, кто разбирается в этом.
Приложения Linux
Приложения в Windows 10 Bash можно устанавливать, удалять и обновлять с помощью apt-get (sudo apt-get) из репозитория Ubuntu.
Использование приложений с текстовым интерфейсом ничем не отличается от такового на Ubuntu, например, вы можете установить Git в Bash и использовать его привычным образом.
Скрипты bash
Вы можете запускать скрипты bash в Windows 10, создать их можно в имеющемся в оболочке текстовом редакторе Nano.
Скрипты bash не могут вызвать программы и команды Windows, но возможен запуск скриптов и команд bash из bat файлов и сценариев PowerShell:
Также вы можете попробовать запускать приложения с графическим интерфейсом в Ubuntu Shell в Windows 10, на этот счет в Интернете уже имеется не одна инструкция и суть способа сводится к использованию Xming X Server для вывода GUI приложения. Хотя официально возможность работы с такими приложениями Майкрософт не заявлена.
Как было написано выше, я не тот человек, который может в полной степени оценить ценность и функциональность нововведения, но вижу как минимум одно применение для себя: различные курсы Udacity, edX и другие, связанные с разработкой проходить будет куда проще, работая с необходимыми инструментами прямо в bash (а в этих курсах обычно демонстрируется работа именно в терминале MacOS и Linux bash).
А вдруг и это будет интересно:
09.08.2016 в 08:56
Позавчера установил российский дистрибутив Линукса — ROSA Desktop Fresh R8, свежайший релиз. ВСЁ «искаропки». Это лучший дистрибутив Линукса. Снёс Десятку 1607. И никогда не вернусь.
09.08.2016 в 11:43
Да, после 29 июля народ побежал с Win 10 на семерку и Линукс. Десятка меня устраивала, но со временем возникло неприятное ощущение, что в компе хозяйничают посторонние. За информацию о дистрибутиве спасибо.
17.06.2018 в 19:54
Никогда не говори никогда!. Win10 лучшее решение Microsoft на базе ядра Linux. Удивлен? )
У тебя получилось так: уйду с Linux чтобы прийти к Linux и никогда не вернусь к Linux ) . Да win10 не Linux. Но как называть ОС на базе Linux . )
Или все таки ядра Linux не так хороши . ) По ходу чувак ты не в теме )
09.08.2016 в 23:48
Это слишком сложно. А можете описать, как поставить Линукс Убунту на вмртуальный бокс или стол? Спасибо!
10.08.2016 в 09:52
Здравствуйте. Да просто скачайте VirtualBox (с. оф. сайта) и образ ISO Ubuntu Linux. Там дальше все предельно понятно будет: создать виртуальную машину в VirtualBox, выбрать ISO, чтобы с него установилась система: все по-русски и с подсказками.
09.01.2017 в 17:27
Случилась такая беда, забыл пароль, как его сбросить? или как переустановить подсистему линукс для виндовс? после отката действий в обратном порядке и переустановке всего заново ничего не происходит.
10.01.2017 в 11:08
не знаю, сработает ли (не проверял, взял из предложенного гуглом):
1) командная строка (именно она, не bash) от администратора
2) lxrun /setdefaultuser другое_имя_пользователя
Вас запросят пароль для него (нового пользователя). А при следующем входе в bash вы уже будете под другим пользователем.
Также в качестве другое_имя_пользователя можно прописать root
11.02.2017 в 13:32
в CMD введи — lxrun /uninstall /full
сносит линь полностью. потом снова — bash
установка заново
26.02.2017 в 16:17
Ну наконец-то я теперь смогу установить свой любимый wine!
27.02.2017 в 11:49
Это шутка или я чего-то не допонимаю? Зачем может пригодиться Wine в Windows?
03.08.2018 в 10:44
Найс шутка, пожалуй запомню
05.03.2017 в 00:49
Не удаётся установить подсистему Linux для Windows. Windows 10 корпоративная.
C:\WINDOWS\system32>bash
— Бета-версия компонента —
Будет выполнена установка среды Ubuntu в Windows. Она предоставляется Canonical
и лицензирована в соответствии с условиями компании, с которыми можно ознакомиться здесь:
aka.ms/uowterms
Приложение, которое вы пытаетесь запустить, не поддерживается в этой версии Windows.
Подскажите в чем именно проблема, bash не доступна в корпоративной редакции Windows 10?
05.03.2017 в 09:16
Здравствуйте. Точно ответить не могу, но возможные варианты:
1) если LTSB, то там нету — так как bash пока в бета-версии.
2) требуется сборка не ниже 14316
Ну и на всякий случай: режим разработчика включили?
29.07.2017 в 22:54
Уважаемый Дмитрий! Не устану Вас благодарить за столь полезный сайт с прекрасным наполнением! Благодарю за Ваш труд и потраченное время, которые экономят время других!
P. S. (Удалить после прочтения). При беглом чтении статьи глаза увидели повторение слов («Для начала отмечу, что что автор не является специалистом по bash…).
30.07.2017 в 12:21
Спасибо за отзыв. Ошибку исправил, спасибо.
31.10.2017 в 12:51
Спасибо за статьи и вообще очень полезную информацию в одном месте!
P.S.
Только вот не понимаю что-то, статья (например эта) вышла 31.10.17, а время в комментариях аж за прошлый год есть
31.10.2017 в 18:04
Она обновлена 31.10.17, — дописано про то, как всё это теперь выглядит в Fall Creators Update. При этом я и дату обновляю (потому как если статья будет за 2015 год, а в ней «В Windows 10 Fall Creators Update….» — это тоже будет немного странно).
01.11.2017 в 09:24
спасибо за очень хороший сайт.
01.11.2017 в 11:20
Спасибо за отзыв.
04.11.2017 в 03:39
Дмитрий ,присоединяюсь к хвале и благодарности окружающих коментариев! Удивился ,что нельзя регистрироваться, подписался. Когда то мечтал о вселенной без логинов и паролей — так вот она — ваш сайт а ещё что бы язык был единый на планете для взаимопонимания (но это скоро в гугле)
может прочтёте мой вопрос — 1709 х64 монитор + телевизор = 2 экрана, оба 125 проц масштаба. Пользуюсь радиомышкой с дивана сенсорной клавиатурой. НО она на телике малюсенькая, а на мониторе застилает пол экрана. А мне надо ровно наоборот. То есть возможность видно есть, но она перепутана. Как их поменять местами?
А ещё появилась иконка микрофона-голос ввода, но как я не тыкался безуспешно.. а в гугл хроме пашет..
Добавлю что я уверенный пользователь, компы у меня от спектрума
У вас всё по делу,спасибо
04.11.2017 в 08:19
Здравствуйте.
Тут похоже, что у вас разрешение экрана малое, а телевизора — большое, вероятно, Full HD. Независимо поменять размер указателя мыши для экранов не получится, т.е. она в любом случае X на Y пикселей.
А вот насчет голосового ввода не понял… где именно у вас появилась такая иконка?
23.12.2017 в 15:00
Чем не угодила многим здесь Windows 10. Сбегать с нее на Linux это более чем странно. Куда ни глянь, везде программы под Windows, только в ней можно чувствовать себя, как рыба в воде. Ставлю периодически разные дистрибутивы Linux рядом с Windows 10, ковыряюсь, пытаюсь делать что-то. Но не имеет смысла все это. Linux для меня — это софт, который стоит освоить и научиться им пользоваться (интерес). Но операционная система должна сама быть домом для другого софта, а не сама быть проблемой. Вот только от безысходности можно на нее пересесть. Например, когда лицензии на Windows стоят больших денег, которых нет. Или железо не позволяет устанавливать Windows в принципе.
14.01.2018 в 02:13
Есть какой нибудь вариант запустить этот виндовый линух на win 10 ltsb
я попробовал и вот что пишет —
C:\Users\user>bash
— Бета-версия компонента —
Будет выполнена установка среды Ubuntu в Windows. Она предоставляется Canonical
и лицензирована в соответствии с условиями компании, с которыми можно ознакомиться здесь:
Приложение, которое вы пытаетесь запустить, не поддерживается в этой версии Windows.
14.01.2018 в 10:36
Самому не на чем проверить, но судя по обсуждениям, найденным благодаря гуглу, вроде как не работает…
16.02.2018 в 16:44
Здравствуйте! Не подскажете почему ни в одном из приложений в windows store нет кнопки получить или купить? как это исправить?
17.02.2018 в 11:13
Здравствуйте… Нет, не знаю, не встречался с таким. В теории может быть на локальных учетных записях такое в старых версиях Windows 10, но это не точно.
18.04.2018 в 16:13
Добрый день, пытаюсь поставить баш, и не выходит. Нажимаю галку в компонентах, комп перезагружается и ничего, галка со своего места исчезает. Режим разработчика типа включается в «Системе» но не скачивается как компонент, включил его в политике, в реестре записи есть. Такая же история. Попробовал включить через powershell — получил ошибку
Enable-WindowsOptionalFeature : Не удается прочитать параметр реестра.
Подскажите пожалуйста решение, кроме сноса винды)
19.04.2018 в 07:39
Здравствуйте. Странно конечно. Но: а после установки галки в компонентах и перезагрузки удается из магазина скачать Ubuntu (ну или иной дистрибутив)? Если да, то что происходит после его запуска?
Источник