Как включить подсистему linux в windows 11

1.2K
показов

1.9K
открытий

Сегодня покажу как поставить WSL (Windows Subsystem for Linux) на Windows 11

В этой статье вы узнаете:

  • Что такое WSL и для чего она нужна
  • Гайд по установке WSL
  • Настройка компилятора
  • Что делать, если WSL потребляет избыточное количество оперативной памяти

Что такое WSL и для чего она нужна

WSL (Windows Subsystem for Linux) — это среда выполнения Linux, предоставляемая операционной системой Windows. WSL позволяет запускать исполняемые файлы Linux напрямую в Windows без необходимости установки отдельной виртуальной машины или перезагрузки компьютера.

WSL обеспечивает совместимость с ядром Linux, что позволяет пользователям запускать большинство командной строки и приложений Linux непосредственно в Windows. Оно включает в себя поддержку большинства дистрибутивов Linux, таких как Ubuntu, Debian, Fedora и других, и предлагает доступ к огромному количеству программ и утилит, которые разработаны для Linux.

Теперь перейдём к гайду

Гайд по установке WSL

Открываем PowerShell или Terminal от имени администратора

Можно как угодно открыть эти программы, думаю, вы в курсе))

Вводим следующую команду: wsl —install

Нажимаем Enter

Ждём

Кстати говоря, по умолчанию устанавливается дистрибутив — Ubuntu

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

Мне нравится Ubuntu, поэтому я не буду её менять, но если ты хочешь поменять дистрибутив, то вот ссылка на инструкцию.

Теперь после установки WSL необходимо создать учетную запись пользователя и пароль для установленного дистрибутива Linux (в моём случаи речь идёт про Ubuntu):

Придумай имя

Обрати внимание, что пароль при вводе не видно((

На случай, если что-то пошло не так на этапе создания учётной записи вот мини-туториал как это можно исправить.

Готово!

Важный нюанс: Windows не выполняет автоматическую установку обновлений или обновление дистрибутивов Linux. Это задача, выполнение которой большинство пользователей Linux предпочитают контролировать самостоятельно. Поэтому обновим нашу подсистему с помощью этой команды: sudo apt update && sudo apt upgrade

Я перешёл из PowerShell в Terminal, не пугайтесь, всё будет работать также))

Да, Y с большой буквы, это важно))

Настройка компилятора

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

По очереди:

sudo apt-get update

sudo apt-get install cmake gcc clang gdb build-essential

sudo apt-get install valgrind

Первая есть

Да.

Вторая

И третья

Важный момент: Проверим, установился ли у нас компилятор, должен появится номер: gcc —version

Что делать, если WSL потребляет избыточное количество оперативной памяти

Бонусом, я покажу, как снизить потребление оперативной памяти нашей подсистемой:

Вот это не есть хорошо((

Есть два пути

Путь первый:
Открываем командную строку от администратора и вставить команду
wsl —shutdown, эта команда завершит процесс VmmemWSL.

Чтобы легко открыть командную строку можно зажать кнопки Win + X > пункт PowerShell (Администратор) > команда start cmd > нажимаем Enter.

Путь второй:
Можно также ограничить ресурсы Vmmem путем создания файла %UserProfile%\.wslconfig, внутри которого прописать:

[wsl2]
memory=2GB # Ограничиваем память для WSL2 VM.processors=5 # Ограничиваем количество процессов для WSL2 VM.

Чтобы создать файл с названием .wslconfig — нужно открыть блокнот Win + R > notepad > вставить содержимое > Сохранить как > в Тип файла указать Все файлы, после указать название и сохранить.

Text Document

Всё

Более чем в два раза))

Кстати говоря, в этом файлике можете попробовать поставить значение memory равное 1, может ещё меньше будет))

На этом у меня всё, надеюсь моя статья помогла тебе решить твою проблему))

Благодарю за прочтение!

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

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

image

В новостях прошла весть, что теперь WSL поддерживает демон systemd. В качестве преимущества использования systemd предлагается установка и запуск приложений и сервисов через snap. Для примера приведены Nextcloud, LXD, MySQL, MicroK8s и Docker. Я пока в преимущества самого snap не вникал. Но возможность запуска и управления демонами через systemd привлекает.

Начинаем с установки «Virtual Machine Platform». Запускать команду надо от имени администратора в консоли PowerShell:

PS C:\> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all
Cистема DISM
Версия: 10.0.22000.653
Версия образа: 10.0.22000.1042
Включение функций
[==========================100.0%==========================]
Операция успешно завершена.

Для запуска systemd нужна WSL версия 0.67.6. Статья на сайте Microsoft рекомендует установить предварительную версию WSL из магазина приложений. Проблема в том, что в магазине версия 0.66. Для установки WSL Preview требуется Windows 11 (сборка 22000 или более новая).

Поступаем следующим образом. Ставим из магазина приложений «устаревшую» версию (0.66), чтобы в дальнейшем получать обновления на нее. А дальше качаем с GitHub нужную нам версию 0.67.6. Она последняя доступная на момент написания статьи. Возможно, на момент прочтения выйдут версии поновее. При запуске скаченного с GitHub пакета Менеджер установки предложит обновить WSL до нужной нам версии, то есть распознает, что WSL Preview у вас уже установлен. Это позволит в будущем обновлять WSL Preview автоматически встроенными в магазин приложений средствами

Какие команды могут помочь. Проверка версии WSL.

PS C:\> wsl.exe --version

Если команда не распознает параметр «—version», значит у вас старая версия WSL (0.65 и ниже).

Недопустимый параметр в командной строке: --version
(c) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.
Использование: wsl.exe [Аргумент] [Параметры...] [Командная строка]
....


В этом случае будет работать параметр «—status»:

PS C:\> wsl --status
Распределение по умолчанию: Ubuntu-20.04
Версия по умолчанию: 2
Подсистема Windows для Linux в последний раз обновлена 21.06.2022
Включены автоматические обновления WSL.
Версия ядра: 5.10.102.1


В версии 0.66 параметр «—version» (-v) и статус «—status» дают следующий вывод:

PS C:\> wsl --status
Default Distribution: Ubuntu-20.04
Default Version: 2
WSL version: 0.66.2.0
Kernel version: 5.15.57.1
WSLg version: 1.0.42
MSRDC version: 1.2.3401
Direct3D version: 1.606.4
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.22000.978
PS C:\> wsl --version
WSL version: 0.66.2.0
Kernel version: 5.15.57.1
WSLg version: 1.0.42
MSRDC version: 1.2.3401
Direct3D version: 1.606.4
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.22000.978


А вот в версии 0.67 вывод параметра «—status» меняет формат:

PS C:\> wsl --status
Default Distribution: Ubuntu-20.04
Default Version: 2


Итого, надо добиться того, чтобы версия WSL («WSL version» в выводе команды) была 0.67.6.0.

PS C:\> wsl -v
WSL version: 0.67.6.0
Kernel version: 5.15.62.1
WSLg version: 1.0.44
MSRDC version: 1.2.3401
Direct3D version: 1.606.4
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.22000.1042
PS C:\> wsl --status
Default Distribution: Ubuntu-20.04
Default Version: 2

Я предполагаю, что уже есть созданная виртуальная среда в WSL. Кратко, как создать, если еще нет. Смотрим список доступных систем в WSL:

PS C:\> wsl.exe --list --online
The following is a list of valid distributions that can be installed.
Install using 'wsl.exe --install <Distro>'.
NAME               FRIENDLY NAME
Ubuntu             Ubuntu
Debian             Debian GNU/Linux
kali-linux         Kali Linux Rolling
SLES-12            SUSE Linux Enterprise Server v12
SLES-15            SUSE Linux Enterprise Server v15
Ubuntu-18.04       Ubuntu 18.04 LTS
Ubuntu-20.04       Ubuntu 20.04 LTS
OracleLinux_8_5    Oracle Linux 8.5
OracleLinux_7_9    Oracle Linux 7.9

Далее ставим выбранный дистрибутив параметром «—install», пример:

PS C:\> wsl.exe --install Ubuntu


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

После установки надо в файл /etc/wsl.conf добавить ключ для запуска systemd. В моем случае файл /etc/wsl.conf не существовал и был создан при редактировании:

user@DESKTOP:~$ sudo vim /etc/wsl.conf
[boot]
systemd=true

Важно, файл редактируется в гостевой системе Linux, не на хосте.

PS C:\> wsl.exe --shutdown

В консоли Linux появится сообщение:

user@DESKTOP:~$
[process exited with code 1 (0x00000001)]


Вообще рекомендую команду «wsl.exe —shutdown» вводить после каждого изменения в WSL. Чтобы запустить WSL после остановки, нужно открыть заново консоль гостевой ОС.

Проверяем, что всё получилось:

user@DESKTOP:~$ systemctl list-unit-files --type=service
UNIT FILE                                  STATE           VENDOR PRESET
accounts-daemon.service                    masked          enabled
apparmor.service                           enabled         enabled
apport-autoreport.service                  static          -
apport-forward@.service                    static          -
apport.service                             generated       -
apt-daily-upgrade.service                  static          -
apt-daily.service                          static          -
atd.service                                masked          enabled
autovt@.service                            alias           -
blk-availability.service                   enabled         enabled
bolt.service                               static          -
clickhouse-server.service                  masked          enabled
cloud-config.service                       enabled         enabled
cloud-final.service                        enabled         enabled
cloud-init-hotplugd.service                static          -
.........

И, например, так

user@DESKTOP:~$ systemctl status networkd-dispatcher.service
● networkd-dispatcher.service - Dispatcher daemon for systemd-networkd
     Loaded: loaded (/lib/systemd/system/networkd-dispatcher.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2022-09-25 23:57:28 MSK; 37s ago
   Main PID: 133 (networkd-dispat)
      Tasks: 1 (limit: 9390)
     Memory: 16.8M
     CGroup: /system.slice/networkd-dispatcher.service
             └─133 /usr/bin/python3 /usr/bin/networkd-dispatcher --run-startup-triggers
Sep 25 23:57:27 DESKTOP systemd[1]: Starting Dispatcher daemon for systemd-networkd...
Sep 25 23:57:28 DESKTOP networkd-dispatcher[133]: No valid path found for iwconfig
Sep 25 23:57:28 DESKTOP networkd-dispatcher[133]: No valid path found for iw
Sep 25 23:57:28 DESKTOP systemd[1]: Started Dispatcher daemon for systemd-networkd.
Sep 25 23:57:28 DESKTOP networkd-dispatcher[133]: WARNING:Unknown index 7 seen, reloading interface list

Всё, можно пользоваться. Примеры использования есть на видео и в статье выше:

As a programmer, it is very important to test software on multiple platforms. However, it can be very tedious and inefficient to use multiple virtual machines to achieve the same. Thankfully, this process can be simplified if you are using Windows and wish to run a Linux distribution – with WSL. WSL, or Windows Subsystem for Linux, lets developers run a Linux or GNU environment directly and enables one to run a bash terminal on a Windows system, without necessarily relying on a full virtual machine or dual boot setup in place. As such it is a lightweight and resource-efficient alternative.

Installing WSL and running Linux  on  Windows 11

following are the steps to install WSL and then run Linux on Windows 11:

Step 1: Open Windows Terminal. Right Click on the Start button on the taskbar, and choose ‘Windows Terminal (Admin)’. 

Open-Windows-Terminal

Choose-Windows-Terminal

Alternatively, you can simply click on the Search icon, and search for Windows Terminal. Then, hover on ‘Windows Terminal’. Finally, On the menu that appears on right, choose, ‘Run as Administrator’.

Or for installation, we can also use Powershell. Another alternative is to use Powershell. Following a similar procedure as the one outlined above, search for ‘Powershell’, and click, ‘Run as Administrator’.

Use-Powershell.

Step 2: Now, type the following to install WSL:

wsl –install

Install-WSL

When the process is finally over, Windows will prompt you to restart your PC.

Step 3: Click on the Start Button -> Power -> Restart, or Alt + F4 + U and choose Restart from the Options.

Choose-Restart-from-the-Options.

Step 4: After restarting, open your terminal or PowerShell again. Now, you can install any Linux distribution of your choice, by running the following command:

wsl –install -d <name of the distribution>

For instance:

1. To install kali-linux, type:

wsl –install -d kali-linux

2. To install Debian, type:

wsl –install -d Debian

Install-Debian

Step 5: To view a list of all available Linux distributions, you can run one of the following commands:

wsl –list –online

or, 

wsl –l -o

View-the-list-of-all-available-Linux-distributions

Step 6: Once the distribution has finished downloading, a new window will open. Now, you will be prompted to enter your username and password. Upon entering these, you will be ready to use Linux on Windows!

Enter-your-username-and-password

Step 7: It is strongly recommended that as soon as you install your chosen distribution, you run the following command to ensure that your installation is up to date:

sudo apt-get update

Updating-system

Last Updated :
25 Apr, 2022

Like Article

Save Article

Перейти к содержимому

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

Microsoft анонсировала подсистему Linux для Windows 10 в далеком 2016 году. С тех пор проект WSL получил несколько крупных апдейтов и улучшений. Свежие версии Windows комплектуются вторым поколением подсистемы Linux, которую установить гораздо проще ее предшественницы.

В Windows 11 установка WSL (Windows Subsystem for Linux) требует ввода лишь одной или двух команд в Терминале Windows. Вот как это делается.

  1. Нажмите Win + X или щелкните правой кнопкой мыши по кнопке Пуск. В появившемся меню выберите Терминал Windows (Администратор).выберите Терминал Windows (Администратор)
  2. Введите команду wsl --install. Эта команда выполняет автоматически все шаги, которые ранее пользователю приходилось делать вручную. К примеру, устанавливать платформу виртуальной машины, файлы подсистемы, дистрибутив и так далее.установить подсистему Linux в Windows 11
  3. Дождитесь установки подсистемы Linux на Windows 11.
  4. После установки перезагрузите компьютер.

Готово! Теперь вы можете запустить WSL и использовать его в своих нуждах. Если вам понадобится обновить Windows Subsystem for Linux, воспользуйтесь командой wsl --update.

Обратите внимание: Windows 11 по умолчанию использует Ubuntu при установке подсистемы Linux с помощью команды wsl —install. Если вас это не устраивает, выполните установку с помощью второй инструкции ниже.

В магазине доступны Ubuntu, openSUSE Leap, Kali Linux, Debian GNU и многие другие. Если ранее Windows позволяла работать только с Ubuntu, сейчас можно работать сразу с несколькими разными дистрибутивами.

Как установить подсистему Linux с выбором дистрибутива

  1. Откройте Терминал Windows с правами Администратора.
  2. Введите команду wsl --list --online. Эта команда выведет на экран список доступных для загрузки дистрибутивов Linux.список доступных для загрузки дистрибутивов Linux
  3. Определившись с нужным вам дистрибутивом, введите команду для установки подсистемы: wsl --install -d ИМЯ. Замените ИМЯ на название дистрибутива из первого столбца. К примеру, wsl --install -d debian.установить подсистему Linux с выбором дистрибутива
  4. Нажмите Enter и дождитесь загрузки и установки всех необходимых файлов.
  5. Перезагрузите компьютер.

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

💡Узнавайте о новых статьях быстрее. Подпишитесь на наши каналы в Telegram и Twitter.

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

Table of Contents

Зачем нужен Windows Subsystem for Linux 2 (WSL2)? Самый частый ответ — простое использованое Linux программ в среде Windows. Docker самая распространенная причина для установки WSL2.

Что надо для WSL2

  • убедиться что в BIOS включена виртуализация, ищите пункт меню:
    • процессор Intel: VT-x, Intel Virtualization Technology, VTx
    • процессор AMD: SVM Mode, AMD-V, Virtualization Technology
  • версия Windows 11 или 10 не ниже версии 2004 (сборка 19041 ~декабрь 2019)
  • права администратора

Всего несколько команд

Установим само ядро wsl и запустим дистрибутив Ubuntu для работы в консоли.

Открывайте PowerShell с правами Администратора. Самый простой вариант по мне -> WIN+X и выбрать Терминал Windows (Администратор).

Выполняйте команду:

По-умолчанию, установится WSL2 с GUI и Ubuntu . Установка займет определенное время, подождите.

Если ошибка 0x80072eff

В процессе, можете увидеть ошибку Во время установки произошла ошибка, но установка может быть продолжена. Компонент: 'Ядро WSL' код ошибки: 0x80072eff.

0x80072eff

А значит, все автоматически не сработало, не беда. Перезагружайтесь и снова запустите PowerShell от Администратора.

  • Запустите обновление wsl
  • Завершите работу wsl
  • Запустите заново wsl
  • Запустите установку Ubuntu (если надо более специфический дистр, посмотрите все варианты wsl -l -o)

ubuntu success install

Успешная установка Ubuntu

После установки, введите имя пользователя и пароль для Ubuntu, и вам будет доступна среда Linux.

ubuntu login pass

Рекомендуется сделать одну команду, обновить список пакетов:

и наслаждаться :)

Как зайти в WSL консоль

  • запускайте команду wsl. (например, в настройках среды разработки указать wsl это для терминала по-умолчанию)
  • можете вынести из Пуска, ярлык Ubuntu на панель задач.
  • или поставить обновленный Microsoft Terminal, и в нем настроить при запуске сразу открывать консоль wsl, рекомендую.

start wsl

ubuntu info

  • Как включить очистку диска с в windows 10
  • Как включить поиск приложений на windows 10
  • Как включить переднюю звуковую панель на windows 10
  • Как включить подсистему android в windows 11
  • Как включить плитку в меню пуск windows 10