Kali Linux внутри Windows 10 v2 (WSL2)

Недавно Microsoft заявили о переделке подситемы Linux (WSL1) в Windows 10 начиная с билда 18917 в WSL2.

Для меня лично это огромная новость, т.к. работая на хостовом ноутбуке и на рабочем месте без обеих этим ОС крайне сложно вести проекты и делать все одновременно. К примеру на WSL1 не работали сетевые маршруты и приходилось пользоваться графическим zenmap в замен консольному nmap и т.п. Теперь хость спуфь, хоть митмь — вообщем добро пожаловать, полноценное ядро линукса в винде!

Итак по порядку,

Что меняется в подсистеме Windows для Linux 2?

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

Короче говоря, WSL 2 использует настоящее ядро ​​Linux для преодоления ограничений WSL 1. Пользователи смогут запускать Linux либо в виде дистрибутивов WSL 1 или WSL 2, либо параллельно запускать дистрибутивы WSL 1 и WSL 2. Microsoft также сообщает, что вы сможете обновлять и понижать версии дистрибутивов в любое время.

Ядро Microsoft Linux в Windows

Microsoft выпускает собственное ядро ​​Linux для использования с WSL, делая полную совместимость системных вызовов реальностью. Ядро, поставляемое с Windows 10, будет основано на последнем стабильном выпуске ядра Linux, начиная с ядра 4.19, и будет обновляться с помощью Центра обновления Windows по мере появления новых стабильных версий ядра Linux. Microsoft оптимизировала ядро ​​для использования с WSL 2 для обеспечения наилучшего опыта, гарантируя, что оно маленькое и производительное. Также, ядро для WSL2 будет с полностью открытым исходным кодом и будет доступным на Github.

Архитектурные изменения в подсистеме Windows для Linux 2

Одна из причин использования WSL 1 состояла в том, чтобы избежать потери производительности при запуске Linux на виртуальной машине. Но WSL 2 также будет запускать ядро ​​Linux на виртуальной машине (ВМ). Так что же это дает? Microsoft использует облегченную служебную виртуальную машину, которая вместо того, чтобы изолировать ядро ​​Linux от Windows и потреблять много ресурсов, как традиционная виртуальная машина, вместо этого обеспечивает высокий уровень интеграции, быстрое время запуска и небольшой объем ресурсов. Кроме того, все это происходит прозрачно без необходимости управлять виртуальной машиной.

Microsoft утверждает, что дистрибутивы WSL 2 Linux запускаются менее чем за 2 секунды и могут сразу же запускать службы и приложения. Дисковый ввод / вывод также намного быстрее. Microsoft говорит, что I/0 диска может быть до 20 раз быстрее в зависимости от приложения и от того, как оно взаимодействует с файловой системой. Например, распаковка файла tarball в 20 раз быстрее, чем в WSL 1, и в 2-5 раз быстрее с помощью git clone, npm install и cmake.

Поскольку WSL 2 больше не использует эмуляцию для перевода системных вызовов Linux, он совместим с более широким спектром приложений. Теперь вы можете, например, запустить Docker для Linux и FUSE в WSL. Использование реального ядра означает, что Microsoft может вносить изменения быстрее.

Как его подключить?

Для активации Вам необходимо:

  • Windows 10 сборка 18917 или новее.
  • Поддержка — Hyper-V.

Запускаем powershell с правами админа

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

Включить опциональную функцию WSL

Установите Kali Linux из Windows Store, как в нашей предыдущей статье 

Включите поддержку виртуализации:

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

Включить дополнительную функцию «Платформа виртуальной машины».
Проверьте версию:

wsl -l -v

ну и наконец необходимо произвести преобразование имеющейся версии в нашем случае Kali

wsl --set-version kali-linux 2

и финальный штрих — делаем новую подсистему по умолчанию

wsl --set-default-version 2

Ну а дальше наполняем софтом и работаем как привыкли…

Tagged with: