Недавно 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
Установите Kali Linux из Windows Store, как в нашей предыдущей статье
Включите поддержку виртуализации:
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
Проверьте версию:
wsl -l -v
ну и наконец необходимо произвести преобразование имеющейся версии в нашем случае Kali
wsl --set-version kali-linux 2
и финальный штрих — делаем новую подсистему по умолчанию
wsl --set-default-version 2
Ну а дальше наполняем софтом и работаем как привыкли…