Windows Subsystem for Linux (WSL) версии 2: как это будет? (FAQ)

Автор оригинала: Craig Loewen
  • Перевод

Под катом расположен перевод опубликованного FAQ'а о деталях будущей WSL второй версии (автор — Craig Loewen).







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:


AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама

Комментарии 33

    0
    У меня к WSL 2 есть только один вопрос: можно ли будет Docker в нём запустить? Сейчас Docker под Windows работает плоховато.
    +1

    А кто-то может мне объяснить зачем?

      +2
      Допустим, я там прошивку для роутера периодически собираю. Намного быстрее, чем создавать виртуалку с парой ядер (оставшиеся два хосту пригодятся), устанавливать туда операционную систему…

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

        Ок, просто я работаю под linux и у меня как раз windows в виртуалках…
        ;)

          0
          Это забавно, т.к. с учётом использования Hyper-V WSL 2 — и есть виртуалка.
          –1
          1. mkvtoolnix. Мне bash скрипт для муксинга несколько дорог с субтитрами в один файл написать проще, чем разбираться с синтаксисом батников
          2. youtube-dl. Просто проще, чем ставить на хост питон или пользоваться тухлыми сторонними сборками.
          3. ну и конечно же ssh, куда же без него.
          +11
          Ожидание: MS встроил полноценное ядро Linux в Windows 10
          Реальность: виртуалка и лок на использование сторонних гипервизоров
            0
            Точнее и не скажешь… Первый раз услышал — думал ща все гипервизоры и Dual Boot на свалку и буду запускать все линуксовое нативно да еще с поддержкой GPU. Hyper-V точно ставит на всем этом жирный крест.
            –1
            Некоторые сторонние приложения не могут работать, когда используется Hyper-V, что означает, что они не смогут работать при включенной WSL 2. К сожалению, к ним относятся VMWare и Virtual Box.

            Мы изучаем способы решения этой проблемы. Например, мы предоставляем набор API под названием Hypervisor Platform, который может быть использован сторонними поставщиками виртуализации для обеспечения совместимости своего программного обеспечения с Hyper-V.

            Но это приводит к заметной деградации производительности:

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


            Я правильно понимаю, что Embrace и Extend мы уже прошли и сейчас на стадии Extinguish? Это все выглядит как явный саботаж сторонних приложений той же направленности.
              +4

              Гипервизоры вообще слабо совместимы друг с другом.

                +3
                Hyper-V на протяжении уже 11 лет забирает себе «виртуализацию», делая параллельный запуск других гипервизоров невозможным. Почему вас только сейчас это удивило?

                Если ядро 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.

                сейчас на стадии Extinguish
                Hyper-V это собственная разработка Microsoft, каким образом они могут её «поддержать, надстроить и уничтожить»? Это можно сделать только в отношении какого-то чужого решения. В MS решили, что гипервизор будет автоматически запускаться вместе с ОС. Вас никто не лишает возможности отключить WSL, Hyper-V и запускать дистрибутив Linux в сторонней виртуалке.
                  –2
                  Hyper-V это собственная разработка Microsoft, каким образом они могут её «поддержать, надстроить и уничтожить»?
                  Вообще я имел в виду обратное — МС проталкивает свой Hyper-V, который медленнее потому что другие средства виртуализации придумали не они.
                    +1
                    Медленнее чем что? Чем virtualbox однозначно быстрее, особенно в работе с сетью. С VMware сложно сравнивать, но по ощущениям не медленнее, при этом бесплатно и из коробки
                      –1
                      Не знаю, как сейчас, но когда я в последний раз его тыкал он принудительно для всех Linux гостов ставил один виртуальный процессор (для виндов, понятное дело, больше).

                      Инструменты администрирования отвратительны и так считаю не только я:
                      www.petri.com/hyper-v-biggest-weakness
                      Зависимость от воли МС из разряда (ну мы похоронили ХР, значит то же самое должны сделать все разработчики): backupchain.com/i/hyper-v-disadvantages-how-hyper-v-costs-you
                        +1
                        для всех Linux гостов ставил один виртуальный процессор

                        Не могу такого представить, даже погуглил и ничего такого не нашел.


                        Инструменты администрирования отвратительны

                        А какие именно инструменты и с чем вы сравниваете?
                        PowerShell — изумительный инструмент администрирования, даже VMware, котоорая себе свой PowerCLI написала, вдохновившись, тоже видимо с вами не совсем согласна.


                        www.petri.com/hyper-v-biggest-weakness

                        I was once a huge advocate of System Center Virtual Machine Manager (SCVMM), but that started to change with the 2012 version.

                        I am a big fan of PowerShell, as I use it in all of my deployments, and I automate a lot of change with it. Although PowerShell really is a time saver, I am a realist.

                        The few administration experience changes to HVM since Windows Server 2008 are mostly cosmetic.

                        Прочитал все претензии, на мой взгляд их там всего два вида:


                        • Майкрософт, сделай мне уже гуи посовременнее;


                        • Спасибо за PowerShell, я им чиню все быстро и удобно, но гуи ты обнови.



                        Судя по контексту, все это актуально в большей части для 2008 сервера, с некоторым опытом 2012, сейчас вероятно часть этих претензий уже не актуальна. Да и подобного можно про любой продукт написать, как-то не похоже на "Инструменты администрирования отвратительны".


                        К тому же Hyper-V можно пользоваться абсолютно бесплатно без каких либо ограничений по API, в отличие от ESXi.

                +1
                VirtualBox ничем не лучше HyperV, а даже хуже. Я написал небольшой проверочный код (в цикле SHA256 считает на c# и go). На железе и на HyperV работает примерно одинаково, на VirtualBox в 2 раза медленнее. На WMVare Workstation примерно как на HyperV. Единственное когда VirtalBox может пригодиться — это подключить usb-устройства в виртуалку.
                  0
                  Не единственное. Попробуйте запустить современную macOS в Hyper-V. VirtualBox и варю можно, хотя бы, пропатчить для этого…

                  А ещё попробуйте завести Windows XP в качестве гостевой. Во-первых, вы столкнётесь с тем, что guest tools в Hyper-V для неё нет, ведь поддержка ОС прекращена и сразу же отпала всякая необходимость запускать её в виртуалке (по мнению Microsoft). Во-вторых, когда вы таки отыщете в интернете образ с guest tools от более старых версий Hyper-V, то обнаружите, что копирование-вставка в/из виртуалки так и не работает после установки всего этого добра (либо у меня руки из задницы).
                    +1
                    Ну это у вас совсем какие-то специфичные случаи. Я XP сто лет уже не видел и надеюсь больше никогда не увижу))
                      +3
                      А очень простой случай, появляется тикет «когда я делаю так-то и так-то, появляется вот такая вот загогулина, вот отчёт вашей программы». Смотришь — а у него XP, а в твоей 10-ке это не воспроизводится. И всё, нужно заводить виртуалку и вкорячивать туда отладчик. Отстрелить поддержку XP, увы, не вариант, сотни тысяч таких пользователей у нас. Особенно, когда все версии QIP в этом году скончались, мы сразу тысяч 100 новых установок зафиксировали. Т.е., вся эта орда некрофилов, которые сидели на квипах под XP, ломанулась к нам, и теперь их надо поддерживать.

                      Если когда-нибудь удастся отстрелить поддержку XP, напьюсь от радости, честное слово.
                    0

                    Плюс VirtualBox влил в себя код VirtualKD, что серьезно ускоряет kernel-отладку старых Windows-машин.

                      0

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


                      Тестировать надо именно выходы в режим ядра: системные вызовы, работа с внешними устройствами, выделение и освобождение памяти. Например: чтение множества файлов, чтение огромного memory mapped файла, сетевая активность, передача данных через пайп, воспроизведение звука, отображение интерфейса. Вот тут вас ждут и реальные задержки, и провалы производительности, и различия между системами виртуализации. Сравните скорость работы графического интерфейса с 3D-эффектами, игры на голом железе и в виртуальной машине.

                        0
                        У меня серверные приложения, я работаю на Винде, а приложения на линукс в докере. Я не выбирал между железом и виртуалкой, я выбирал между разными виртуалками. Я заметил, что на виртуалбокс работает медленнее, сделал небольшой тест который подтвердил это. Кроме того, сам виртуалбокс довольно глючный, за год у меня несколько раз отваливалась сеть, так что потом она поднималась только после танцев с бубнами. А подключенный usb девайс на 6 виртуалбоксе отваливался стабильно каждые 3 часа, а на 5ом раз в сутки. На hyperv теперь все стабильно, usb правда пришлось прикинуть с линуксовой тачки.
                      +1

                      Они хотя запихнуть WSL в витруалку я и не смогу вызывать cmd из bash и bash из cmd? ( https://habr.com/ru/post/326634/ )


                      Сволочи :(

                    • НЛО прилетело и опубликовало эту надпись здесь
                        0
                        Не знаю насчёт быстрее, но враппер работает не очень, полно всяких неприятных багов, да и интеграция оставляет желать лучшего, может виртуалка хотя бы будет работать как нормальный линукс без дополнительных багов.
                        • НЛО прилетело и опубликовало эту надпись здесь
                        0
                        Тестировал года 3 назад VirtualBox и Hyper-V и Vmware Player, вероятно сейчас всё поменялось, но тогда мне надо было на фоне сервера крутить, чтобы не задействовать второй системник, если первый сильно мощный…
                        Hyper-V показал самые меньшие задержки пингов, самую большую скорость работы с дисковой подсистемой, еще и сеть 10 гигабит, что делает smb-шары чуть ли не быстрее локального диска, ну это понятно, он делит с хостом ресурсы и сам хосту их распределяет, а vbox и vmware player десктопные приложения, которые много от системы не могут откусить, но эти приложения просто незаменимы, когда нужно прошить относительно старый модем/телефон/роутер, у которого под xp только драйвера для фастбут/диагностического порта… Было огорчением, когда при запущенном Hyper-V я не смог vbox стартануть на пару минут, чтобы сделать одно дело, пришлось на ноуте задействовать, при этом сторонние гипервизоры не запустятся пока вообще полностью не удалишь hyper-v и не перезагрузишься.

                        Не знаю, попробовать может wsl2 запустить на ноуте с 4 гигами где 10 home и нет из коробки Hyper-v…
                          0
                          Нет, полностью сносить Hyper-V не надо. Для того, чтобы переключаться с виртуалок Hyper-V к виртуалкам VMWare и обратно:

                          1. Новая фишка Windows — DeviceGuard (виртуализация ядра самой windows через гипервизор hyper-V) должна была отключена — тут понятно, иначе мы не сможем отключать сам гипервизор hyper-V (включение/отключение этого DeviceGuard не влияет на работоспособность виртуалок Hyper-V и поэтому можно держать его всегда выключенным).

                          2. Далее, можно выключить на время гипервизор hyper-V командой:
                          bcdedit /set hypervisorlaunchtype off
                          перезагрузиться.

                          3. Теперь можно запустить виртуальную машину vmware, поработать с ней.

                          4. Теперь можно включить гипервизор hyper-V обратно командой:
                          bcdedit /set hypervisorlaunchtype auto
                          перезагрузиться.

                          5. Теперь можно запустить виртуалку Hyper-V и поработать с ней.

                          В общем, удобно)

                          Чтобы два раза не вставать, подскажите пожалуйста если кто знает: какими инструментами можно удобно перегонять образы из vmdk в vhd и обратно?

                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                        Самое читаемое