Windows 10 настройка загрузки linux

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), нажать кнопку ОК, и перезагрузить компьютер.

установка Windows Subsystem for LInux 2 версия в windows 10

Вы можете включить компоненты 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

или PowerShell

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

В Windows Server 2004 Semi-Annual Channel (SAC) для установки компонента WSL используется командлет Install-WindowsFeature:

Install-WindowsFeature -Name Microsoft-Windows-Subsystem-Linux

После этого также необходимо перезагрузить компьютер.

В настройка BIOS/UEFI компьютера должна быть включена поддержка аппаратной виртуализации: Intel VT (Intel Virtualization Technology) или AMD-V.

Теперь вам нужно выполнить обновление WSL до версии 2. Для этого требуется зайти на сайт https://docs.microsoft.com/ru-ru/windows/wsl/wsl2-kernel, скачать файл wsl_update_x64.msi, установить его. По завершении увидите картинку

windows subsyste for linux update setup

Чтобы сделать 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, нажмите кнопку Получить.

образы linux для wsl в microsoft store

Если у вас отключен Windows Store или вы хотите установить дистрибутив WSL в Core редакции Windows Server, вы можете скачать дистрибутив Ubuntu с помощью PowerShell командлета Invoke-WebRequest:

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

wsl --list –-verbose список доступных образов linux

Если у вашей среды 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, выполните:

wsl
ls /mnt
ls/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

Также вы можете открыть проводник командой explorer.exe, калькулятор – calc.exe, блокнот – notepad.exe, paint – mspaint.exe, календарь – cal, погоду – curl wttr.in

запуск команд linux в windows 10 subsystem for linux

Ещё один пример взаимосвязи 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 показывается список файлов с обеих ОС.

Midnight Commander в windows 10 wsl2

Можно отобрахить сетевые настройки (IP адрес) IP-адрес Linux-системы:

ip addr | grep eth0

запуск команд linux из windows

В WSL не предусмотрена работа приложений с графическим интерфейсом. Тем не менее вы можете попробовать их установить и использовать. Чтобы запускать графические приложения в Linux, нужно скачать и установить в Windows программу VcXsrv Windows X Server (https://sourceforge.net/projects/vcxsrv/).

VcXsrv Windows X Server

С помощью пакетного менеджера apt-get установим несколько графических программ: например, браузер, текстовый редактор или что-то ещё:

sudo apt-get install gedit
sudo apt-get install firefox
sudo apt-get install x11-app

Затем создайте файл в директории root:

cd /~
vim .bash_login

впишите строку

export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0

сохраните запись

Esc -> :wr -> :q

Теперь можете запустить графические программы Linux через WSL командами:

firefox

или

gedit

запуск браузера firefox через WSL 2 в Windows 10

запуск графического редактора gedit в WSL

Вы можете установить в Windows 10 несколько дистрибутивов Linux и запускать одновременно в разных окнах WSL. Вывести весь перечень установленных дистрибутивов можете с помощью команды:

wsl --list –all

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

wsl --shutdown

Как установить Ubuntu вместе с Windows 10?

Приветствую, друзья!

Двойная загрузка Linux с Windows — один из самых удобных способов использования двух операционных систем на одном компьютере.

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

Экран двойной загрузки Grub

В режиме двойной загрузки вы можете выбрать операционную систему для загрузки

В этом руководстве я покажу вам, как установить Ubuntu с уже установленной в системе Windows 10.

Прежде чем вы начнете следовать руководству, я советую сначала полностью его прочитать.

Посмотрите, что вам нужно и что вы должны делать в этом уроке.

Как только вы получите хорошее представление о процедуре и у вас все необходимое будет под рукой, приступайте к процессу.

Двойная загрузка — не сложный процесс. Просто нужно время и терпение.

Упомянутые здесь шаги применимы к другим версиям Ubuntu, таким как Lubuntu, Kubuntu, Xubuntu и дистрибутивам Linux на основе Ubuntu, таким как Linux Mint, elementary OS и т. д.

Двойная загрузка Ubuntu Linux с Windows 10

Двойная загрузка Ubuntu Linux с Windows

Это руководство подходит для систем с предустановленной Windows 10 с безопасной загрузкой UEFI и системой разбиения GPT.

Пожалуйста, проверьте, использует ли ваша система GPT или MBR?

Проверки совместимости

Убедитесь, что ваша система использует UEFI: это руководство применимо только для систем с загрузкой UEFI.

Если вы купили свою систему в последние 5-6 лет, скорее всего, у вас уже должна быть система UEFI в разделе GPT.

Однако нет ничего плохого в том, чтобы убедиться, что ваша система использует UEFI.

Если в вашей системе используется устаревшая версия BIOS с системой разбиения на разделы MBR, следуйте этому руководству по двойной загрузке.

Процесс шифрования Bitlocker отличается: в новых системах с Windows 10 Pro диск зашифрован с помощью Bitlocker.

Система с SSD и HDD: если у вас есть система с SSD и HDD, то есть с двумя дисками, процесс будет почти таким же.

Предпосылки: что вам нужно?

Для простой и безопасной установки Linux вместе с Windows вам понадобятся следующие вещи:

  • Компьютер с предустановленной Windows 10;
  • USB-ключ (флэш-накопитель или USB-накопитель) размером не менее 4 ГБ и без данных на нем;
  • Подключение к интернету (для загрузки ISO-образа Ubuntu и инструмента для создания Live USB). Вы можете сделать это в любой системе, не обязательно в системе с двойной загрузкой.
  • Необязательно: внешний USB-диск для резервного копирования существующих данных;
  • Необязательно: восстановление Windows или загрузочный диск (если у вас возникнут серьезные проблемы с загрузкой, их можно будет исправить).

Давайте посмотрим, как установить Ubuntu вместе с Windows 10.

Шаг 1. Сделайте резервную копию вашей системы Windows [необязательно]

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

Я советую скопировать все важные данные, которые вы не можете позволить себе потерять, на внешний USB-диск.

Вы можете использовать внешний жесткий диск (медленнее, но дешевле) или SSD (быстрее, но дороже) и копировать на него важные файлы и папки.

Шаг 2. Загрузите Ubuntu (или любой другой дистрибутив Linux, который вы будете использовать)

Скачать Ubuntu

Перейдите на сайт Ubuntu и загрузите файл ISO.

Размер файла должен быть около 2,5 ГБ. Если вам нужно загрузить Ubuntu через торрент, вы можете нажать «Альтернативные загрузки».

Шаг 3: Создайте live USB / диск Ubuntu

Я предполагаю, что вы используете Windows для создания Live USB.

Есть несколько бесплатных приложений, которые позволяют создать Live Ubuntu USB.

Вы можете использовать любой из этих инструментов.

Поскольку я не могу показать их все, я буду все делать с Rufus.

Загрузите Rufus бесплатно с его веб-сайта. Он загрузит файл с расширением .exe.

Подключите USB.

Это устройство будет отформатировано, поэтому убедитесь, что на нем нет важных данных.

Запустите только что загруженный инструмент Rufus.

Он автоматически определяет подключенный USB-порт, но все равно дважды проверьте его.

Теперь перейдите к местоположению загруженного образа ISO и убедитесь, что он использует схему разделения GPT и целевую систему UEFI.

Сделайте Live Usb с Rufus

Нажмите кнопку «Пуск» и дождитесь завершения процесса. Ваш Live Linux USB готов.

Примечание. Установить Ubuntu и создать действующий USB-процесс Ubuntu можно на любом компьютере.

Но остальная часть процесса берет на себя система, в которой вы выполняете двойную загрузку.

Шаг 4. Освободите место на диске для установки Ubuntu

Во многих системах при установке Ubuntu предоставляется возможность сделать раздел диска для Ubuntu.

Однако это не гарантия.

Поэтому перед установкой лучше освободить необходимое место на диске.

В меню Windows найдите «разделы диска» и выберите «Создать и отформатировать разделы жесткого диска».

окна управления дисками

В инструменте управления дисками щелкните правой кнопкой мыши диск, который вы хотите разделить, и выберите «Сжатый том».

Если у вас всего один такой раздел, вам нужно освободить на нем немного свободного места для Linux.

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

На 256 ГБ в моей системе уже было несколько разделов от производителя, но в основном для резервного копирования и других целей.

Основным разделом был диск C объемом около 220 ГБ, на котором установлена Windows 10.

В моем случае я уменьшил диск C, чтобы освободить место для установки Linux.

освобождение места для двойной загрузки

Сколько места вам нужно для Linux при двойной загрузке?

Это зависит от того, сколько у вас общего дискового пространства.

Вы можете установить Ubuntu на 15 или 20 ГБ, но скоро у вас начнется нехватка места на диске.

В наши дни у вас должно быть не менее 120 ГБ на диске.

В этом случае выберите для Linux 30-40 ГБ диска.

Если у вас диск на 250 ГБ, выделите ему 60-80 ГБ или даже больше.

Если у вас больше места на диске, выделите ему еще больше свободного места, если хотите.

Что делать, если у вас есть диски D, E или F?

Это обычная путаница для многих людей, поскольку они думают, что Ubuntu можно установить только на диск C.

Это не правда.

Понимаете, у меня был только один диск C, поэтому я его сжал.

Если у вас есть диск D, E или F, вы можете сжать один из этих дисков.

Вы также можете удалить диск D, E или F.

НИКОГДА НЕ УДАЛЯЙТЕ ДИСК С.

Шаг 5: Загрузитесь с Live Ubuntu USB

Вы создали действующий USB-накопитель Ubuntu на шаге 3.

Подключите его к системе.

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

Нужно ли мне отключать безопасную загрузку для установки Linux?

6-8 лет назад безопасная загрузка UEFI не поддерживалась Linux, и поэтому вам пришлось отключить безопасную загрузку перед установкой Linux.

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

Обычно с этим ничего делать не нужно.

Однако, если ваша система не позволяет загружаться с Live USB или если вы видите какие-либо другие связанные проблемы, вы можете отключить безопасную загрузку в Windows.

Хорошо! Посмотрим, как загрузиться с USB.

Вы можете перейти к настройкам загрузки, нажав F2 / F10 или F12 во время запуска системы, и выбрать загрузку с USB.

Однако некоторым это трудно.

Более длинный, но простой шаг — получить доступ к настройкам загрузки UEFI из Windows.

В меню Windows найдите UEFI и нажмите «Изменить дополнительные параметры запуска»:

Доступ к настройкам Uefi в Windows

Перейдите к параметру «Расширенный запуск» и нажмите кнопку «Перезагрузить сейчас».

Доступ к настройкам Uefi Windows

На следующем экране нажмите «Использовать устройство»:

Доступ к настройкам UEFI в Windows

Распознайте USB-диск по его имени и размеру.

Он также может отображаться как USB-устройство EFI.

Доступ к настройкам UEFI в Windows

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

Через несколько секунд вы должны увидеть такой экран:

Экран установки Ubuntu Live

Опция «Попробовать Ubuntu без установки» позволяет вам испытать Ubuntu с Live диска.

Вариант установки Ubuntu можно найти на рабочем столе.

Опция «Установить Ubuntu» немедленно запустит установку Ubuntu.

Вы можете выбрать любой вариант в зависимости от ваших предпочтений.

Шаг 6: Установка Ubuntu вместе с Windows 10

Запустите процедуру установки.

Первые несколько шагов просты.

Вы выбираете язык и раскладку клавиатуры.

Выберите свой язык

Выберите раскладку клавиатуры

На следующем экране выберите «Обычная установка».

Пока не нужно загружать обновления или устанавливать стороннее программное обеспечение.

Вы можете сделать это после завершения установки.

Нажмите «Продолжить».

Переход к следующему шагу может занять некоторое время.

Установка Ubuntu в режиме двойной загрузки

Примечание. Некоторые люди пытаются загрузить обновления и установить медиа-кодеки во время установки.

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

По этой причине я не советую их использовать.

Важно: установка требует двух подходов в зависимости от того, что вы видите на следующем экране.

Поскольку это подробное руководство, я рассмотрю оба аспекта.

Подход 1. Вы видите «Установить Ubuntu вместе с Windows Boot Manager».

Если вы видите «Установить Ubuntu вместе с Windows Boot Manager» на экране установки, вам повезло.

Вы можете выбрать этот метод и нажать «Продолжить».

Тип установки Ubuntu

Если вы видите «Установить Ubuntu вместе с диспетчером загрузки Windows», выберите его

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

Вы можете выделить соответствующее дисковое пространство для Linux здесь.

Ubuntu создаст один раздел из выделенного дискового пространства, и у него будет root с home и swap (файл подкачки) размером 2 ГБ под root.

раздел диска двойная загрузка ubuntu windows

Подход 2: Вы не видите параметр «Установить Ubuntu вместе с диспетчером загрузки Windows» или он неактивен

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

Для вас дела обстоят не так уж и плохо.

Вы все еще можете установить Ubuntu с Windows.

На экране «Тип установки» выберите «Что-нибудь еще».

Установить Ubuntu что-нибудь еще

Вы перейдете к экрану разбиения на разделы.

Помните, вы заранее создали свободное место?

Вы можете выделить все свободное пространство для root (файл подкачки и домашняя страница будут созданы автоматически под root) или вы можете разделить разделы root, swap и home.

Оба метода хороши.

Я показываю шаги для создания разделов root, swap и home по отдельности.

Но не стесняйтесь использовать один раздел для всех из них.

Выберите свободное место и нажмите на знак «+».

раздел в Ubuntu Windows с двойной загрузкой

Он предоставит вам возможность создать раздел Linux.

Вы создаете корневой (root) раздел.

Для этого более чем достаточно всего, что превышает 25 ГБ.

Выберите размер, выберите «Ext4» в качестве типа файла и / (означает root) в качестве точки монтирования.

Установка_Windows_Ubuntu_3

Щелкнув «OK» на предыдущем шаге, вы перейдете к экрану раздела.

Затем создайте swap.

Как и раньше, снова нажмите на знак «+».

На этот раз используйте тип файла как область подкачки.

Вопрос об идеальном размере подкачки в Linux остается спорным.

Если у вас 2 ГБ или меньше ОЗУ, используйте подкачку, вдвое превышающую размер ОЗУ.

А если у вас 3-6 ГБ ОЗУ, используйте подкачку того же размера, что и ОЗУ.

Если у вас 8 ГБ или более ОЗУ, вы можете использовать подкачку, равную половине размера ОЗУ (если у вас не достаточно места на диске, и вы хотите использовать спящий режим, и в этом случае используйте подкачку не менее того же размера, что и ОЗУ).

Если вы чувствуете, что в вашей системе меньше swap, не волнуйтесь.

Вы можете легко создать файл подкачки и добавить больше места подкачки в свои системы.

Installing_Windows_Ubuntu_4

Таким же образом создайте домашний раздел.

Выделите ему максимальное пространство (фактически выделите ему остальное свободное пространство), потому что именно здесь вы будете сохранять музыку, изображения и загруженные файлы.

Installing_Windows_Ubuntu_5

Когда вы будете готовы с root, swap и home, нажмите «Install Now»:

Installing_Windows_Ubuntu_6

Что ж, вы почти выиграли битву.

Теперь вы чувствуете запах победы.

По запросу выберите часовой пояс.

Установка выбора часового пояса Ubuntu

Затем вам будет предложено ввести имя пользователя, имя хоста (имя компьютера) и пароль.

Установка установки учетной записи Ubuntu

Теперь осталось только подождать.

Для завершения установки потребуется 8-10 минут.

Установка Ubuntu

После завершения установки перезагрузите систему.

Перезагрузите после установки Ubuntu

Перезагрузите компьютер после завершения установки

Вам будет предложено извлечь USB-диск.

На этом этапе вы можете удалить диск, не беспокоясь.

После этого система перезагрузится.

Установка Ubuntu завершена

Удалите USB и нажмите ENTER

Для использования Linux вам больше не нужен Live USB-диск.

Вы установили Ubuntu на диск своего компьютера.

Удалите USB-накопитель и оставьте его на потом, если вы хотите использовать его для установки Linux в другой системе.

Вы также можете отформатировать его и использовать для обычного хранения или передачи данных.

Если все прошло гладко, вы должны увидеть экран «grub» после включения системы.

Здесь вы можете выбрать Ubuntu для загрузки в Ubuntu и диспетчер загрузки Windows для загрузки в Windows.

Довольно круто, правда?

Экран двойной загрузки Grub

Вы можете выбрать операционную систему на экране «grub»

Двойная загрузка не удалась? Вот несколько советов по устранению неполадок

Для некоторых двойная загрузка может пока не работать.

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

Попробуйте сменить порт USB

Это может показаться смешным, но иногда некоторые порты USB вызывают проблемы с загрузкой USB или установкой Linux.

Изменение USB-порта может быть хитростью.

Старайтесь не использовать интернет при установке Linux

Я испытал, что иногда установка Linux выдает ошибку, если он подключен к интернету.

Если вы столкнулись с ошибкой «’grub-efi-amd64-signed’ package failed to install into /target», попробуйте установить Ubuntu без интернета.

Отключите безопасную загрузку и / или быструю загрузку

В некоторых редких случаях безопасная загрузка не позволит вам загрузиться с Live USB или установить Linux.

Отключите безопасную загрузку.

В некоторых случаях вы также можете отключить быструю загрузку.

Двойная загрузка завершена, но вы не видите экран «grub» для загрузки в Ubuntu

Пожалуйста, проверьте порядок загрузки в настройках UEFI.

Вы видите Ubuntu / UEFI под диспетчером загрузки Windows?

Если да, переместите его вверх по порядку.

Надеюсь, это руководство помогло вам выполнить двойную загрузку Ubuntu с Windows 10 UEFI.

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

Если у вас все еще есть сомнения или возникла странная ошибка, оставьте комментарий, и я постараюсь вам помочь.

До скорых встреч!

До скорых встреч! Заходите!

Подписаться на обновления блога!

Время на прочтение
9 мин

Количество просмотров 241K

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

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

Никогда не думал, что однажды вернусь на Windows, но повод попробовать мне дали стечения обстоятельств: жена, далекая от IT, дергала почти каждый раз, когда у нее возникала необходимость воспользоваться компом; проснулась ностальгия по одной игре, но она никак не хотела адекватно работать под wine; а тут еще мне подарили коробочную Windows 10 Pro. WSL я поставил чуть ли не сразу после установки системы, поигрался несколько вечеров, понял, что продукт для моих задач годный, но хочется более привычный терминал и вообще некоторых удобств.

Установка WSL и дистрибутива

Сразу оговорюсь, в интернете можно найти описание установки с помощью выполнения команды lxrun /install в командной строке или консоли PowerShell. Данный способ больше не работает (после выхода WSL в стабильный релиз). Насколько мне известно, сейчас WSL можно установить только из Microsoft Store вместе с предпочитаемым дистрибутивом.

Так же отмечу, что когда установку производил я, на выбор были доступны дистрибутивы OpenSUSE, SUSE Linux Enterprise и Ubuntu 16.04 — последний я и установил. Сейчас также доступны Ubuntu 18.04, Debian 9 и Kali Linux, возможно появятся и другие дистрибутивы. Действия по установке могут отличаться. Так же, часть проблем описанных в статье может быть уже исправлена.

Находим в магазине желаемый дистрибутив и устанавливаем. Установка пройдет быстро, так как скачает только эмулятор ядра Linux и утилиту для запуска подсистемы, которая окажется в системной папке в трех экземплярах: wsl.exe, bash.exe и ubuntu.exe (вместо ubuntu будет имя Вашего дистрибутива). Все они равнозначны и делают одно и то же — запускают собственный эмулятор терминала, в нем linux’овый bash работающий под эмулятором ядра. При первом же запуске нас попросят придумать логин и пароль для пользователя по умолчанию, а после произойдет непосредственно установка дистрибутива. В качестве пользователя по умолчанию указываем root без пароля — это потребуется для дальнейших шагов. Безопасность не пострадает, кроме того при подготовке материалов к статье, в англоязычном туториале, я наткнулся на информацию, что новые версии WSL теперь делают пользователем по умолчанию root без пароля без лишних вопросов.

Дожидаемся установки. Далее первым делом стоит обновить зеркала apt на ближайшие. Для этого понадобится CLI текстовый редактор. В комплекте только vi, я же больше предпочитаю nano, поэтому ставлю его:

apt install nano

sudo вводить не требуется, так как мы уже под root’ом. Отредактируем файл /etc/apt/sources.list:

nano /etc/apt/sources.list

У меня лучше всего работают зеркала Яндекса, поэтому мой файл выглядит так:

deb http://mirror.yandex.ru/ubuntu/ xenial main universe restricted
deb-src http://mirror.yandex.ru/ubuntu/ xenial main universe  restricted

deb http://mirror.yandex.ru/ubuntu/ xenial-security main universe restricted
deb-src http://mirror.yandex.ru/ubuntu/ xenial-security main universe restricted

deb http://mirror.yandex.ru/ubuntu/ xenial-updates main universe restricted
deb-src http://mirror.yandex.ru/ubuntu/ xenial-updates main universe restricted

Нажимаем Ctrl+O для сохранения и Ctrl+X для выхода. Теперь можно обновить систему до актуального состояния:

apt update && apt upgrade

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

addgroup --gid 1000 user1
adduser --home /home/user1 --shell /bin/bash --uid 1000 -G user1,sudo user1

Далее переходим в папку юзера, зайдем под ним, установим пароль и отредактируем файл ~/.bashrc:

cd /home/user1
su user1
passwd
nano .bashrc

Мой базовый .bashrc выглядит так

# If not running interactively, don't do anything
case $- in
    *i*) ;;
      *) return;;
esac

# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# If set, the pattern "**" used in a pathname expansion context will
# match all files and zero or more directories and subdirectories.
#shopt -s globstar

# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
    xterm|xterm-color|*-256color) color_prompt=yes;;
esac

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes

if [ -n "$force_color_prompt" ]; then
    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
    # We have color support; assume it's compliant with Ecma-48
    # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
    # a case would tend to support setf rather than setaf.)
    color_prompt=yes
    else
    color_prompt=
    fi
fi

if [ "$color_prompt" = yes ]; then
    if [[ ${EUID} == 0 ]] ; then
        PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\h\[\033[01;34m\] \W \$\[\033[00m\] '
    else
        PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\] \[\033[01;34m\]\w \$\[\033[00m\] '
    fi
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h \w \$ '
fi
unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h \w\a\]$PS1"
    ;;
*)
    ;;
esac

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

# colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

# Add an "alert" alias for long running commands.  Use like so:
#   sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

Все, подсистема готова к использованию… почти…

Установка X-сервера, Xfce и прочих GUI’шных приложений

Первая же проблема, на которую я натолкнулся — bash-completion в предлагаемом эмуляторе терминала работал, мягко говоря, некорректно. Кроме того, данный эмулятор не умеет вкладки, а каждый его экземпляр запускает все в новом пространстве процессов, с отдельным init’ом (который кстати не заменить). Мне захотелось нормальный эмулятор терминала, некоторых других GUI приложений, а так же панельку, чтоб это все быстро запускать.

Когда я гуглил этот вопрос, я наткнулся на множество проблем, вроде необходимости перевода dbus на tcp протокол. На данный момент всех этих проблем нет. В подсистеме нормально работают unix-domain-socket’ы и все спокойно общается через них.

Первым делом нам понадобится X-сервер, притом установленный в основную систему (в Windows). Лично я использую для этих целей VcXsrv — порт X11 на Windows. Официальный сайт указанный в about самой утилиты его сейчас не предоставляет, поэтому гуглим установщик и устанавливаем все по умолчанию.

Пока идет установка возвращаемся в терминал WSL, командой exit выходим обратно в root’а. Первым делом настроим русские локали:

locale-gen ru_RU
locale-gen ru_RU.UTF-8
update-locale

Далее установим некоторые компоненты Xfce. Можно конечно установить его целиком из мета-пакета, но большинство компонентов нам не понадобится, а модульная архитектура Xfce позволяет нам поставить только необходимое:

apt install -y xfce4-session xfce4-notifyd xfce4-appfinder xfce4-panel xfce4-quicklauncher-plugin xfce4-whiskermenu-plugin xfce4-xkb-plugin xfce4-settings xfce4-terminal xfce4-taskmanager mousepad

Запускать каждый раз окружение руками не очень удобно, поэтому я автоматизировал данный процесс. Для этого в основной системе создадим в удобном для нас месте папку, а в ней 3 файла для запуска:

  1. config.xlaunch — файл настроек для VcXsrv
    <?xml version="1.0" encoding="UTF-8"?>
    <XLaunch
    WindowMode="MultiWindow"
    ClientMode="NoClient"
    LocalClient="False"
    Display="0"
    LocalProgram="xcalc"
    RemoteProgram="xterm"
    RemotePassword=""
    PrivateKey=""
    RemoteHost=""
    RemoteUser=""
    XDMCPHost=""
    XDMCPBroadcast="False"
    XDMCPIndirect="False"
    Clipboard="True"
    ClipboardPrimary="True"
    ExtraParams=""
    Wgl="True"
    DisableAC="False"
    XDMCPTerminate="False"
    />
  2. x-run.vbs — WSL всегда запускается со своим эмулятором терминала, если его закрыть — завершатся все его дочерние процессы. Чтоб данное окно не мозолило глаза, неплохо его запускать скрытым. К счастью в Windows встроен интерпретатор VBScript, который позволяет это сделать в одну строчку:

    WScript.CreateObject("Shell.Application").ShellExecute "wsl", "cd /home/user1; DISPLAY=:0 LANG=ru_RU.UTF-8 su user1 -c xfce4-session", "", "open", 0

    Поясню, что здесь происходит. Мы говорим VBscript выполнить приложение wsl с параметром cd /home/user1; DISPLAY=:0 LANG=ru_RU.UTF-8 su user1 -c xfce4-session, папка запуска нам не важна, поэтому пустая строка, действие open — запуск, 0 — скрытый режим. Самому wsl мы отдаем команду на выполнение: переход в папку пользователя, затем с установкой переменных окружения DISPLAY (дисплей X-сервера) и LANG (используемая локаль) мы запускаем xfce4-session от имени нашего пользователя user1 (благодаря команде su)

  3. start.bat — batch файл для запуска, по желанию его можно засунуть в автозагрузку
    start config.xlaunch
    wscript x-run.vbs

Далее можем запустить наш start.bat и настроить панель Xfce под себя. Замечу, что здесь я наткнулся на еще одну проблему — панель прекрасно отображается поверх всех окон, но вот выделить себе место, как панель на рабочем столе Windows она не может. Если кто знает решение данной проблемы, поделитесь в комментариях.

Ну и под конец данной части, скриншот моего рабочего стола:

Взаимодействие окружения Windows и окружения подсистемы Linux

Запускать Linux приложения напрямую из Windows можно через те же 3 команды — bash, wsl или ubuntu. Не забываем, что по умолчанию запуск идет от root, поэтому стоит понижать привилегии через su, так же нужно не забывать передавать переменную окружения DISPLAY=:0 если приложению требуется X-сервер. Так же нужно менять папку, из которой должно работать приложение, через cd внутри WSL. Пример, посчитаем md5 для file.txt на диске D средствами Linux’овой md5sum:

wsl md5sum < d:\file.txt

Доступ к файловой системе Linux так же имеется, лежит она в %localappdata%\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs. Читать таким образом файлы можно, а вот писать — не желательно, можно поломать файловую систему. Думаю проблема в том, что Windows не умеет работать с правами и владельцами файловой системы Linux.

Из Linux так же можно запускать Windows приложения. Просто запускаем exe-шник и он выполнится в основной системе.

Диски Windows монтируются в /mnt в соответствии со своими буквами в нижнем регистре. Например диск D будет смонтирован в /mnt/d. Из Linux можно свободно читать и писать файлы Windows. Можно делать на них симлинки. Права у таких файлов всегда будут 0777, а владельцем будет root.

Сетевой стек у подсистемы общий с Windows. Сервер поднятый в Linux будет доступен на localhost в Windows и наоборот. Однако unix-domain-socket для Windows будет просто пустым файлом, работать с этим можно только внутри Linux. Выход во внешнюю сеть у Linux так же есть, в том числе можно слушать порты, если этого не запрещает фаервол.
ifconfig в Linux и ipconfig в Windows выдают одинаковую информацию о сетевых интерфейсах.

Из диспетчера задач Windows можно спокойно прибить процесс внутри подсистемы Linux. Однако Linux увидит только свои процессы.

Особенности, ограничения и подводные камни

Ядро Linux в WSL не настоящее. Это всего лишь прослойка-эмулятор, которая часть Linux-специфичных задач выполняет сама, а часть проксирует напрямую в ядро winNT. Большая часть api в нем реализована, но не все. Свое ядро собрать не получится, как и не получится подключить модули ядра (.ko, Kernel Object).

Init процесс у WSL тоже свой и заменить его, например, на system.d не выйдет. У меня давно есть желание написать менеджер демонов на go, который бы работал с файлами юнитов system.d и предоставлял бы схожий интерфейс, да все руки не доходят.

Нет поддержки openFUSE, соответственно примонтировать виртуальную или удаленную файловую систему не получится. Так же нельзя сделать mount из файла, mount вообще ничего кроме bind здесь, похоже, не умеет.

Так же нет никакой возможности разбить файловую систему Linux на несколько разделов/дисков.

Прямой доступ к железу практически отсутствует. Все таки мы находимся в песочнице Windows, а не в полноценном Linux. /dev и /sys заметно пустуют, в них лишь проц да виртуальные устройства. Доступ к GPU — только через X-сервер, напрямую — никак, так что нейросети обучать придется в Windows.

В JS разработке столкнулся с тем, что electron.js отказался запускаться в WSL, пришлось дублировать окружение node.js в Windows.

Итоги

Статья получилась довольно длинной, надеюсь, что она окажется еще и полезной.
WSL для меня лично оказался инструментом вполне юзабельным, решающим мои задачи fullstack backend разработчика. Виртуалка с Linux за полгода так и не понадобилась. По общим ощущениям Windows+WSL намного функциональнее, чем Linux+Wine.

Пока писал статью, обнаружил, что в Microsoft Store появилась сборка WSL с Debian 9.3, данный дистрибутив мне более симпатичен, чем Ubuntu, поэтому буду пробовать ставить.

Хотите установить дистрибутив Ubuntu, Linux Mint или Fedora Workstation рядом с предустановленной ОС Windows 8.x или 10 для организации двойной загрузки системы? В этом случае вам придется в первую очередь изменить некоторые настройки UEFI («BIOS») и самой ОС Windows 8.x или 10. Порядок изменения этих настроек подробно описан ниже.

Примечание: в том случае, если ваш компьютер продавался с предустановленной ОС Windows 7, Windows Vista или Windows XP (которые работают с классическим BIOS), вы можете проигнорировать приведенную ниже информацию, загрузить систему с установочного диска и начать установку. Данная информация актуальна лишь для новых компьютеров с предустановленными ОС Windows 8.x или Windows 10 (которые взаимодействуют с прошивками UEFI).

Настройки для организации двойной загрузки

1. Отключение функции быстрого запуска ОС (вы ничего не потеряете, так как важность данной функции значительно преувеличена)

В ОС Windows 8.x и 10 вам в первую очередь придется отключить функцию быстрого запуска ОС. Функция быстрого запуска ОС по своей сути является частью расширенного режима гибернации: по команде отключения ваш компьютер не отключается, а переходит в специальный режим сна.

После отключения функции быстрого запуска ОС ваш компьютер будет полностью отключаться после соответствующей команды, что позволит установщику Ubuntu, Linux Mint или Fedora получить доступ к разделу Windows на жестком диске и изменить его размер.

Функция быстрого запуска ОС отключается следующим образом:

Следует открыть меню и осуществить переход «Параметры компьютера — Панель управления — Оборудование и звук — Электропитание — Настройка функций кнопок питания»

Теперь необходимо нажать на ссылку «Изменение параметров, которые сейчас недоступны». Обратите внимание на снимок окна ниже.

Settings

Далее следует убрать флажок «Включить быстрый запуск (рекомендуется)», даже несмотря на то, что эта вредная функция «рекомендуется». Обратите внимание на снимок окна ниже.

Start
После этого нужно нажать кнопку «Сохранить изменения».

Наконец, вы должны перезагрузить ваш компьютер. Не выключайте его! Вы должны осуществить именно перезагрузку для того, чтобы изменения параметров системы сохранились.

2. Изменение некоторых параметров UEFI

Теперь вам нужно перейти в режим изменения параметров UEFI вашего компьютера. Если вы не знаете, как сделать это, обратитесь к инструкции по эксплуатации компьютера. Эта инструкция не сохранилась? В этом случае вы всегда можете найти ее копию на странице поддержки вашего компьютера на веб-сайте его производителя.

Например, при работе с ноутбуком Acer вам придется нажать клавишу F2 несколько раз сразу же после включения компьютера.

Все ваши попытки перехода в режим изменения параметров UEFI не увенчались успехом? Вы также можете получить доступ к этим параметрам из Windows 8.x крайне неочевидным образом (в случае использования Windows 10 процедура практически полностью идентична):

Нажмите на увеличительное стекло на панели Windows 10 и введите поисковый запрос «параметры» (в Windows 8 запрос можно вводить в меню приложений). Сразу же после этого выберите первое найденное приложение: «Параметры компьютера».

Далее осуществите переход: «Обновление и восстановление — Восстановление — Особые варианты загрузки — Перезагрузить сейчас».

Теперь осуществите еще один переход: «Диагностика — Дополнительные параметры — Параметры встроенного ПО UEFI — Перезагрузить».

И наконец вы должны получить возможность перехода в режим изменения параметров UEFI.

2.1. Отключение функции безопасной загрузки «Secure Boot»

На данном этапе необходимо отключить функцию безопасной загрузки «Secure Boot» в UEFI. Для установки дистрибутвов Ubuntu и Fedora это операция не является обязательной, так как в составе данноых дистрибутивов (в отличие от дистрибутива Linux Mint) поставляются цифровые подписи для корректной работы с функцией безопасной загрузки. Однако, в некоторых случаях данная функция все еще становится причиной появления сложно диагностируемых проблем даже при работе с упомянутыми дистрибутивами. Поэтому при наличии соответствующего параметра UEFI рекомендуется отключать режим безопасной загрузки во всех случаях.

На снимке экрана ниже показано меню UEFI ноутбука Acer TravelMate.

Boot

2.2. Перемещение загрузчика ОС Windows в конец списка методов загрузки системы

Теперь вы можете переместить загрузчик ОС Windows («Windows Boot Manager») в конец списка методов загрузки системы. На рисунке ниже представлен список методов загрузки системы ноутбука Acer TravelMate.

Order

2.3. Активация клавиши для временного изменения списка методов загрузки системы

Наконец, рекомендуется активировать клавишу для временного изменения списка методов загрузки системы. В ноутбуке Acer TravelMate для этой цели обычно используется клавиша F12, но в зависимости от производителя ноутбука, эта клавиша может отличаться. Обратите внимание на приведенный ниже снимок экрана.

F12

Теперь вы можете сохранить изменения и выйти из режима изменения параметров UEFI.

2.4. Необходимое в некоторых случаях действие: активация режима совместимости с BIOS

В некоторых случаях необходимо также активировать модуль совместимости с BIOS (Compatibility Support Module, CSM). Некоторые производители используют для этой цели параметр «Legacy». Как бы то ни было, данный модуль позволяет активировать слой совместимости с BIOS путем эмуляции классического окружения BIOS.

Вы можете обнаружить соответствующий параметр в любой прошивке UEFI обычно в разделе параметров загрузки системы «Boot». Производитель Asus использует для этой цели параметр «Launch CSM».

В первую очередь следует попробовать установить дистрибутив без активации модуля совместимости с BIOS, так как в некоторых случаях этот модуль сам по себе становится источником проблем. В общем, активируйте упомянутые параметры UEFI только тогда, когда это действительно необходимо.

3. Когда следует выбирать дистрибутив для компьютеров с 64-битными центральными процессорами, на не с 32-битными

На компьютеры с предустановленной ОС Windows 8.x или 10 при любых обстоятельствах следует устанавливать дистрибутивы для компьютеров с 64-битными центральными процессорами, а не с 32-битными. Ведь любой компьютер с предустановленной ОС Windows 8.x или 10 с прошивкой UEFI предназначен для работы с 64-битной операционной системой.

На этом подготовка к установке дистрибутива Linux закончена! Теперь вы можете организовать двойную загрузку, установив на ваш компьютер Linux Mint, Ubuntu или Fedora.

4. Для особых случаев: временное изменение списка методов загрузки системы

Примечание: после установки одного из дистрибутивов Linux запись, соответствующая ОС Windows 8.x или 10, может просто не появиться в меню системного загрузчика GRUB. Также не стоит исключать возможность создания соответствующей ОС Windows 8.x или 10 записи в меню системного загрузчика GRUB, которая на самом деле окажется неработоспособной.

В подобных случаях вы все также можете загрузить ОС Windows 8.x или 10 с помощью клавиши для временного изменения списка методов загрузки системы (в ноутбуках производства Acer это клавиша F12). Таким образом вы можете обойти системный загрузчик GRUB и загрузить ОС  Windows 8.x или 10 средствами прошивки UEFI.

В открывающемся после нажатия клавиши списке методов загрузки системы следует выбрать системный загрузчик Windows («Windows Boot Manager»). Обратите внимание на приведенный ниже снимок экрана ноутбука Acer TravelMate с рассматриваемым списком.

Manager

Теперь Windows 8.x или 10 будет загружаться в обычном режиме.

Что дальше?

После осуществления описанных выше настроек вы можете приступить непосредственно к установке выбранного дистрибутива. А это инструкции по установке дистрибутивов:

  • Как установить дистрибутив Linux Mint рядом с ОС Windows
  • Как установить дистрибутив Ubuntu рядом с ОС Windows
  • Установка дистрибутива Fedora Workstation

У пользователей Windows 10 есть необычная возможность установить операционную систему Ubuntu на свой компьютер. Механизм, обеспечивающий такую возможность, называется WSL — Windows Subsystem for Linux. Далее я расскажу, как с помощью WSL установить полноценную Ubuntu на Win 10 штатными средствами системы.

Для начала кратко поясню, что такое WSL на практике. Это некий слой абстракции, который позволяет запускать linux приложения в среде windows. И это не виртуальная машина. И Linux, и Windows приложения работают в рамках одной операционной системы с совместным доступом к данным на дисках. Вы прозрачно можете запустить приложение на ubuntu и открыть им файл в директории windows.

Для примера, расскажу, где ubuntu под wsl версии 1 хранит свои файлы — C:\Users\user1\AppData\Local\lxss.

Файлы ubuntu wsl

Тут и корень системы, и директории пользователей. Посмотреть содержимое можно из-под windows. Только не рекомендуется их редактировать. Работа linux системы может быть нарушена. На примере доступа к файлам видно, что это не виртуальная машина. Важно понимать это отличие.

А вот то же самое можно сделать из-под ubuntu, открыв файлы из директории windows.

Доступ к windows каталогам из-под linux

С помощью данной технологии, вы условно сможете запустить полноценный Ubuntu Server на своем компьютере. Читайте мой обзор на Ubuntu, чтобы иметь представление о том, чем он отличается от остальных linux дистрибутивов.

Зачем нужна Ubuntu WSL на Windows

Поговорим немного о том, зачем может понадобиться установка Ubuntu WSL в Windows 10. Можно в небольшой список это вынести и перечислить по пунктам:

  1. Первое и самое очевидное — для использования линуксовых утилит — git, ansible, cron, rsync и т.д. Речь в первую очередь идет о том софте, которого нет в windows, либо которое затруднительно или неудобно запускать.
  2. Настройка привычного web окружения в виде lamp (linux, apache, mysql, php) или lemp (то же самое, только с nginx). Особенно это актуально для разработчиков.
  3. Для обычного знакомства и изучения linux. Нет нужды разбираться с виртуализацией или рядом с windows устанавливать отдельно linux. Тут все в комплекте, можно без проблем переключаться между системами в режиме реального времени. В общем, это удобно.

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

Установка Ubuntu WSL под Win 10

Установка подсистемы Windows для Linux в Windows 10 неплохо описана в официальном руководстве от Microsoft. Чтобы установить Ubuntu WSL на Windows, надо для начала включить компонент системы Windows под названием Windows-Subsystem-Linux. Для этого запускаем cmd с правами администратора (это важно!) и переходим в powershell. Там выполняем:

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

Установка Ubuntu WSL в Windows 10

После этого активируем компонент Платформа виртуальных машин.

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Активация компонента VirtualMachinePlatform

Далее обязательно перезагрузить систему, иначе дальше будут ошибки. После перезагрузки продолжаем ставить ubuntu под wsl.

Cкачиваем и устанавливаем Пакет обновления ядра Linux в WSL 2 для 64-разрядных компьютеров — https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

Установка обновления ядра Linux в win10

Дальше устанавливаем версию WSL 2 по умолчанию. Она более продвинутая и быстрая, по сравнению с первой.

wsl --set-default-version 2

Выбор версии wsl 2 по умолчанию

Теперь идем в Windows Store и ищем там необходимую вам версию Ubuntu WSL. Я просто в строку поиска ввел название дистрибутива и получил все доступные версии.

Установка ubuntu wsl через магазин windows

После установки в меню Пуск можно запустить Ubuntu WSL. При первом запуске вам предложат задать имя пользователя для Linux системы.

Первый запуск ubuntu wsl

Вот и все. Заходим в свежеустановленную Ubuntu 20 LTS на Win 10.

ubuntu в win 10

У вас под рукой практически полноценная linux система, работающая нативно под windows.

Настройка Ubuntu WSL

Выполним первоначальную настройку Ubuntu WSL, чтобы с ней удобнее было далее работать. Начнем с подключения по SSH.

Настройка ssh

Терминал Windows не очень удобен и привычен. Так что если вы привыкли подключаться по ssh через какой-нибудь другой менеджер подключений, вам нужно будет на wsl системе настроить ssh. Это не совсем очевидная процедура. Чтобы заставить нормально работать openssh server, его надо переустановить. Делаем это:

# sudo apt reinstall openssh-server

Настройка ssh в ubuntu wsl

Теперь сразу разрешим подключаться с использованием паролей. Для этого открываем конфиг /etc/ssh/sshd_config и разкомментируем настройку:

PasswordAuthentication yes

Авторизация по паролю через ssh

После этого перезапустите службу sshd

sudo service ssh restart

Мы закончили настройку ssh в ubuntu. Теперь к ней можно подключиться, например, через putty. Используем адрес 127.0.0.1 и порт 22.

Подключение по ssh к wsl

Вот и все. Можете использовать любой другой ssh клиент.

Обновление

Для того, чтобы обновить Ubuntu WSL на Windows 10 достаточно внутри linux системы запустить стандатрное средство обновления пакетов — apt.

sudo apt update
sudo apt full-upgrade

Обновление Ubuntu WSL на windows

В общем случае этого достаточно для обновления системы. Если же вы хотите выполнить обновление до следующего релиза, то лучше это сделать через Windows Store, установив нужную версию ubuntu.

Установка MC

Для того, чтобы установить популярный в linux среде файловый менеджер Midhight Commander или коротко MC, необходимо опять же воспользоваться пакетным менеджером apt.

sudo apt install mc

Установка MC в WSL

При этом вы сможете без проблем перемещаться не только внутри ubuntu, но и открывать файлы windows. Традиционные диски C:, D: и т.д. смонтированы в /mnt.

Войти под root

Для того, чтобы в Ubuntu WSL зайти под ученой записью root, необходимо под пользователем выполнить в консоли:

sudo su

root в ubuntu wsl

Теперь вы полноценный root пользователь и можете запускать команды с повышенными привилегиями без sudo.

Автозапуск служб

В Ubuntu WSL не работает systemd и возникает закономерный вопрос, а как же тогда настроить автозапуск нужных служб. Тут есть два принципиально разных подхода по автозапуску служб:

  1. Служба в wsl запускается автоматически после запуска компьютера.
  2. Служба wsl запускается автоматически после первого входа в bash установленного linux.

Для первого случая проще всего воспользоваться готовым скриптом wsl-autostart — https://github.com/troytse/wsl-autostart. С его помощью вы можете выбрать любые программы из ubuntu, которые захотите запустить при старте компьютера.

Если вы хотите выполнить какую-то команду при первом входе в wsl, то просто добавьте ее в файл .bashrc домашнего каталога пользователя. Например, добавим туда вывод фразы Hello World! Для этого добавляем в самый конец:

echo "Hello World"

Автозапуск службы в ubuntu wsl

Теперь при запуске терминала wsl, вы увидите свое сообщение.

Пример выполнения команды при входе

Вместо команды echo можете написать любую другую. Например, запуск MC:

/usr/bin/mc

Теперь при запуске терминала ubuntu wsl у вас автоматически будет запускаться файловый менеджер MC.

Обновление WSL до WSL2

Во время установки любой WSL системы у вас есть возможность выбора ее версии. Вторая версия более современная и быстрая, так что в общем случае рекомендуется использовать ее. Но возможно вам по какой-то причине понадобится первая. Например, в WSL 1 файловая система linux в открытом виде в виде файлов в директории C:\Users\user1\AppData\Local\lxss, а во второй версии в виде единого виртуального диска. Разница принципиальна.

Для того, чтобы обновить WSL1 до WSL2 необходимо через powershell активировать компонент VirtualMachinePlatform:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Далее скачать и установить обновленный пакет ярда Linux (msi установщик) — https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi.

Указать версию WLS2 как дефолтную:

wsl --set-default-version 2

В завершении проапгрейдить установленный дистрибутив до WSL2 или поставить новый.

wsl --set-version <distribution name> <versionNumber>

Версии WSL можно переключать в любое время. Узнать distribution name можно с помощью команды:

wsl --list --verbose

Обновление WSL до WSL2

Reboot Ubuntu WSL

Работа в Windows 10 с Ubuntu несколько необычна, поэтому сходу не понятные даже такие простые вещи, как перезагрузка linux системы. Как сделать reboot в Ubuntu WSL? Для того, чтобы перезагрузить систему, достаточно выполнить в консоли powershell команду:

wsl.exe --shutdown

Все экземпляры wsl будут завершены. После запуска терминала ubuntu wsl она запустится заново, что будет равнозначно обычной перезагрузки системы.

Если вы используете первую версию WSL, то перезапуск linux систем выполняется перезапуском службы, которая их обслуживает. Выполняется так же в консоли windows^

net stop LxssManager
net start LxssManager

Как удалить Ubuntu WSL

Если вам нужно удалить Ubuntu WSL из Windows 10, то сделать это можно точно так же, как любое другое приложение, установленное из Магазина. Выбираете Ubuntu WSL через пуск и нажимаете Удалить.

Удаление Ubuntu WSL

То же самое можно сделать и через консоль powershell

wsl --unregister <distribution name>

Список установленных систем смотрим командой:

wsl --list --verbose

Ничего сложного, система удаляется фактически в одну команду. Для повторной установки достаточно еще раз установить ubuntu через Магазин.

  • Windows 10 не будет работать на этом компьютере обратитесь к системному администратору
  • Windows 10 на старый нетбук
  • Windows 10 настройка раскладки клавиатуры по умолчанию
  • Windows 10 настройка для работы с ssd
  • Windows 10 не активна кнопка домен