Под катом расположен перевод опубликованного FAQ'а о деталях будущей WSL второй версии (автор — Craig Loewen).
- WSL 2 использует Hyper-V? Будет ли WSL 2 доступна на Windows 10 Home?
- Что будет с WSL 1? Она будет заброшена?
- Будет ли возможность одновременно запустить WSL 2 и другие сторонние инструменты виртуализации (например VMWare или Virtual Box)?
- Можно ли будет получить доступ к GPU из WSL 2? Какие планы на расширение поддержки оборудования?
- Сможет ли WSL 2 использовать сетевые приложения?
WSL 2 использует Hyper-V? Будет ли WSL 2 доступна на Windows 10 Home?
WSL 2 будет доступна во всех редакциях Windows, где в настоящее время доступна WSL 1 (включая Windows 10 Home).
Во второй версии WSL для обеспечения виртуализации используется архитектура Hyper-V. Эта архитектура будет доступна в дополнительном компоненте, который является подмножеством функций Hyper-V. Этот дополнительный компонент будет доступен во всех редакциях ОС. Ближе к релизу WSL 2 мы более подробно расскажем об этом новом компоненте.
Что будет с WSL 1? Она будет заброшена?
В настоящее время мы не планируем отказываться от WSL 1. Вы можете запускать дистрибутивы WSL 1 и WSL 2 бок о бок на одной машине. Добавление WSL 2 в виде новой архитектуры помогает команде WSL расширять удивительные возможности запуска среды Linux под Windows.
Будет ли возможность одновременно запустить WSL 2 и другие сторонние инструменты виртуализации (например VMWare или Virtual Box)?
Некоторые сторонние приложения не могут работать, когда используется Hyper-V, что означает, что они не смогут работать при включенной WSL 2. К сожалению, к ним относятся VMWare и Virtual Box.
Мы изучаем способы решения этой проблемы. Например, мы предоставляем набор API под названием Hypervisor Platform, который может быть использован сторонними поставщиками виртуализации для обеспечения совместимости своего программного обеспечения с Hyper-V. Это позволяет приложениям использовать архитектуру Hyper-V для эмуляции, например: эмулятор Google Android теперь совместим с Hyper-V.
Примечание переводчика
Oracle VirtualBox уже имеет экспериментальную возможность использовать Hyper-V для виртуализации своих машин:
No configuration is required. Oracle VM VirtualBox detects Hyper-V automatically and uses Hyper-V as the virtualization engine for the host system. The CPU icon in the VM window status bar indicates that Hyper-V is being used.
Но это приводит к заметной деградации производительности:
When using this feature, you might experience significant Oracle VM VirtualBox performance degradation on some host systems.
По личному опыту совместного использования Hyper-V и VirtualBox могу отметить, что VirtualBox с каждым релизом улучшают поддержку работы своих виртуальных машин под Hyper-V. Но до сих пор скорость работы не позволяет полноценно перейти на подобный симбиоз для повседневных задач, даже не требовательных к производительности. Банальная перерисовка окон внутри виртуальной машины происходит с видимой задержкой. Искренне надеюсь, что ситуация улучшиться ко времени релиза WSL 2.
Можно ли будет получить доступ к GPU из WSL 2? Какие планы на расширение поддержки оборудования?
В начальных выпусках WSL 2 поддержка доступа к оборудованию будет ограничена. Например вы не сможете получить доступ к графическому процессору, последовательному порту и USB. Тем не менее, добавление поддержки устройств имеет высокий приоритет в наших планах, поскольку это открывает множество возможностей разработчикам, которые хотят взаимодействовать с этими устройствами. В то же время вы всегда можете использовать WSL 1, которая предоставляет доступ и к последовательному порту, и к USB. Пожалуйста, следите за новостями в этом блоге и твиттере членов команды WSL, чтобы быть в курсе последних функций, которые появятся в инсайдерских сборках, и дайте нам знать с какими устройствами вы хотите взаимодействовать!
Сможет ли WSL 2 использовать сетевые приложения?
Да, в общем случае сетевые приложения будут работать быстрее и лучше, поскольку мы обеспечиваем полную совместимость системных вызовов. Однако в новой архитектуре используются виртуализированные сетевые компоненты. Это означает, что в начальных предварительных сборках WSL 2 будет вести себя как виртуальная машина, например WSL 2 будет иметь свой IP-адрес (не такой, как у хоста). Мы стремимся к тому, что бы опыт использования WSL 2 был аналогичен WSL 1, что включает в себя улучшения поддержки сетевой подсистемы. Мы планируем максимально быстро добавить возможность коммуникации между всеми сетевыми приложениями из Linux или Windows с использованием localhost. Мы будем публиковать более подробную информацию о нашей сетевой подсистеме и улучшениях по мере приближения к выпуску WSL 2.
Если у вас есть дополнительные вопросы о WSL или вы просто хотите обратиться к команде WSL, вы можете найти нас в Twitter:
- Тейлор Браун @Taylorb_msft
- Йосеф Дурр @yosefdurr
- Свен Гроот @svengroot_ms
- Бен Хиллис @benhillis
- Крейг Лоуэн @craigaloewen
- Сунил Мутусвами @SunilMut
- Брайан Перкинс
- Палкеш Сони @sonipalkesh
- Джон Старкс @gigastarks
- Крейг Вильхайт @CraigWilhite
sheknitrtch
У меня к WSL 2 есть только один вопрос: можно ли будет Docker в нём запустить? Сейчас Docker под Windows работает плоховато.
kITerE Автор
https://devblogs.microsoft.com/commandline/announcing-wsl-2/
411
Тут вопрос будут ли нормально фолдеры мапиться, запустить докер обычно не проблема
HellKaim
А кто-то может мне объяснить зачем?
dartraiden
Допустим, я там прошивку для роутера периодически собираю. Намного быстрее, чем создавать виртуалку с парой ядер (оставшиеся два хосту пригодятся), устанавливать туда операционную систему…
Периодически таки возникают задачи, которые надо сделать из-под Linux, а вот возиться с виртуалками для этого кажется перебором.
HellKaim
Ок, просто я работаю под linux и у меня как раз windows в виртуалках…
;)
V1tol
1. mkvtoolnix. Мне bash скрипт для муксинга несколько дорог с субтитрами в один файл написать проще, чем разбираться с синтаксисом батников
2. youtube-dl. Просто проще, чем ставить на хост питон или пользоваться тухлыми сторонними сборками.
3. ну и конечно же ssh, куда же без него.
pmcode
Ожидание: MS встроил полноценное ядро Linux в Windows 10
Реальность: виртуалка и лок на использование сторонних гипервизоров
fedorro
Точнее и не скажешь… Первый раз услышал — думал ща все гипервизоры и Dual Boot на свалку и буду запускать все линуксовое нативно да еще с поддержкой GPU. Hyper-V точно ставит на всем этом жирный крест.
staticmain
Я правильно понимаю, что Embrace и Extend мы уже прошли и сейчас на стадии Extinguish? Это все выглядит как явный саботаж сторонних приложений той же направленности.
kITerE Автор
Гипервизоры вообще слабо совместимы друг с другом.
dartraiden
Hyper-V на протяжении уже 11 лет забирает себе «виртуализацию», делая параллельный запуск других гипервизоров невозможным. Почему вас только сейчас это удивило?
Hyper-V это собственная разработка Microsoft, каким образом они могут её «поддержать, надстроить и уничтожить»? Это можно сделать только в отношении какого-то чужого решения. В MS решили, что гипервизор будет автоматически запускаться вместе с ОС. Вас никто не лишает возможности отключить WSL, Hyper-V и запускать дистрибутив Linux в сторонней виртуалке.Если ядро Linux будет запускаться в гипервизоре, то эта ситуация ничем не отличается от того, что мы имели всегда: если в компонентах включена Hyper-V, то остальные системы виртуализации не могут работать («hypervisor is running all the time underneath the host OS, and only one thing can control the VT hardware at a time»). Подозреваю, что если одновременно попытаться запустить, скажем, VMWare и VirtualBox, то тоже возникнет ситуация «кто первый запустился, того и тапки».
Это одна из причин, почему дома я переехал на Hyper-V — хочется пользоваться защитой целостности памяти, а она реализована средствами Hyper-V.
staticmain
snd3r
Медленнее чем что? Чем virtualbox однозначно быстрее, особенно в работе с сетью. С VMware сложно сравнивать, но по ощущениям не медленнее, при этом бесплатно и из коробки
staticmain
Не знаю, как сейчас, но когда я в последний раз его тыкал он принудительно для всех Linux гостов ставил один виртуальный процессор (для виндов, понятное дело, больше).
Инструменты администрирования отвратительны и так считаю не только я:
www.petri.com/hyper-v-biggest-weakness
Зависимость от воли МС из разряда (ну мы похоронили ХР, значит то же самое должны сделать все разработчики): backupchain.com/i/hyper-v-disadvantages-how-hyper-v-costs-you
snd3r
Не могу такого представить, даже погуглил и ничего такого не нашел.
А какие именно инструменты и с чем вы сравниваете?
PowerShell — изумительный инструмент администрирования, даже VMware, котоорая себе свой PowerCLI написала, вдохновившись, тоже видимо с вами не совсем согласна.
Прочитал все претензии, на мой взгляд их там всего два вида:
Майкрософт, сделай мне уже гуи посовременнее;
Спасибо за PowerShell, я им чиню все быстро и удобно, но гуи ты обнови.
Судя по контексту, все это актуально в большей части для 2008 сервера, с некоторым опытом 2012, сейчас вероятно часть этих претензий уже не актуальна. Да и подобного можно про любой продукт написать, как-то не похоже на "Инструменты администрирования отвратительны".
К тому же Hyper-V можно пользоваться абсолютно бесплатно без каких либо ограничений по API, в отличие от ESXi.
medvedevia
VirtualBox ничем не лучше HyperV, а даже хуже. Я написал небольшой проверочный код (в цикле SHA256 считает на c# и go). На железе и на HyperV работает примерно одинаково, на VirtualBox в 2 раза медленнее. На WMVare Workstation примерно как на HyperV. Единственное когда VirtalBox может пригодиться — это подключить usb-устройства в виртуалку.
dartraiden
Не единственное. Попробуйте запустить современную macOS в Hyper-V. VirtualBox и варю можно, хотя бы, пропатчить для этого…
А ещё попробуйте завести Windows XP в качестве гостевой. Во-первых, вы столкнётесь с тем, что guest tools в Hyper-V для неё нет, ведь поддержка ОС прекращена и сразу же отпала всякая необходимость запускать её в виртуалке (по мнению Microsoft). Во-вторых, когда вы таки отыщете в интернете образ с guest tools от более старых версий Hyper-V, то обнаружите, что копирование-вставка в/из виртуалки так и не работает после установки всего этого добра (либо у меня руки из задницы).
medvedevia
Ну это у вас совсем какие-то специфичные случаи. Я XP сто лет уже не видел и надеюсь больше никогда не увижу))
dartraiden
А очень простой случай, появляется тикет «когда я делаю так-то и так-то, появляется вот такая вот загогулина, вот отчёт вашей программы». Смотришь — а у него XP, а в твоей 10-ке это не воспроизводится. И всё, нужно заводить виртуалку и вкорячивать туда отладчик. Отстрелить поддержку XP, увы, не вариант, сотни тысяч таких пользователей у нас. Особенно, когда все версии QIP в этом году скончались, мы сразу тысяч 100 новых установок зафиксировали. Т.е., вся эта орда некрофилов, которые сидели на квипах под XP, ломанулась к нам, и теперь их надо поддерживать.
Если когда-нибудь удастся отстрелить поддержку XP, напьюсь от радости, честное слово.
kITerE Автор
Плюс VirtualBox влил в себя код VirtualKD, что серьезно ускоряет kernel-отладку старых Windows-машин.
Sabubu
Вы сделали большую ошибку в тесте. Вы тестируете по сути просто арифметические команды. Они должны примерно одинаково выполняться как на реальном железе, так и на виртуальном, так как они выполняются в userspace без выхода в режим ядра или в гипервизор, и для процессора в этот момент разницы нет, присутствует виртуализация или нет.
Тестировать надо именно выходы в режим ядра: системные вызовы, работа с внешними устройствами, выделение и освобождение памяти. Например: чтение множества файлов, чтение огромного memory mapped файла, сетевая активность, передача данных через пайп, воспроизведение звука, отображение интерфейса. Вот тут вас ждут и реальные задержки, и провалы производительности, и различия между системами виртуализации. Сравните скорость работы графического интерфейса с 3D-эффектами, игры на голом железе и в виртуальной машине.
medvedevia
У меня серверные приложения, я работаю на Винде, а приложения на линукс в докере. Я не выбирал между железом и виртуалкой, я выбирал между разными виртуалками. Я заметил, что на виртуалбокс работает медленнее, сделал небольшой тест который подтвердил это. Кроме того, сам виртуалбокс довольно глючный, за год у меня несколько раз отваливалась сеть, так что потом она поднималась только после танцев с бубнами. А подключенный usb девайс на 6 виртуалбоксе отваливался стабильно каждые 3 часа, а на 5ом раз в сутки. На hyperv теперь все стабильно, usb правда пришлось прикинуть с линуксовой тачки.
muxa_ru
Они хотя запихнуть WSL в витруалку я и не смогу вызывать cmd из bash и bash из cmd? ( https://habr.com/ru/post/326634/ )
Сволочи :(
Fynjy007
Сможешь. Подробности www.youtube.com/watch?v=lwhMThePdIo тридцать седьмая минута.
Whuthering
Когда по сути дела полноценная виртуалка работает быстрее, чем враппер системных вызовов, то, видимо, что-то не так в этом королевстве...
worldmind
Не знаю насчёт быстрее, но враппер работает не очень, полно всяких неприятных багов, да и интеграция оставляет желать лучшего, может виртуалка хотя бы будет работать как нормальный линукс без дополнительных багов.
Whuthering
Говорят, что по крайней мере в плане I/O будет сильно быстрее