Wine — программа для запуска приложений Windows на компьютерах под Unix.

Запуск Wine на Windows был мечтой фанатов, которые следуют зову сердца «Мы делаем то, что должны, потому что не обязаны это делать», по крайней мере, с 2004 года, когда кто-то попытался скомпилировать Wine в Cygwin и сломал реестр хост-системы.

Оправдание: «А как же старые приложения, которые не работают должным образом в последних Windows?». Но мы-то понимаем, что истинная причина — «Я долго страдал за своё искусство, теперь ваша очередь».

В конце 2008 года меня одолела навязчивая мысль — и я (кажется, это был я) создал страничку WineOnWindows на вики Wine. Вкратце: это было вообще невозможно, поскольку всё работало через Cygwin, MinGW или Windows Services для Unix. Текущая страница не намного успешнее.

Windows 10 представила подсистему Windows для Linux, а Ubuntu удобно загружается из Microsoft Store. В результате наша глупая идея реализуется практически сама собой, разве что надо вручную установить переменную среды DISPLAY.

До сих пор это умопомрачительно бесполезно. Wine работает только с 64-разрядными приложениями Windows, то есть даже не со всеми приложениями, которые идут в составе самой Windows 10.

(Первоначальный проект стартовал после того, как кто-то не смог запустить Encarta 97 на Windows 10. Таким образом, как и любое настоящее гиковское решение, оно на самом деле не решает оригинальную проблему пользователя).

Но я хочу ещё раз подчеркнуть: сейчас это работает тривиально. Я не какой-то сумасшедший гений, который реализовал фантастический проект — просто я, кажется, первым публично объявил о данном факте.

Как сделать эту глупую вещь


1. У вас же 64-битная Windows 10, верно? Это единственная версия с WSL.

2. Установите WSL. Панель управления -> Приложения -> Программы и компоненты -> Включение и отключение компонентов Windows. Поставьте галочку «Подсистема Windows для Linux». Перезапустите Windows.

3. Зайдите Microsoft Store, установите Ubuntu (в основном, для её запуска и создан WSL). Я установил Ubuntu 18.04 LTS. Откройте Ubuntu, и вы увидите терминал bash.

4. Установите следующее из командной строки bash:

sudo dpkg --add-architecture i386
sudo apt update; sudo apt upgrade
sudo apt install wine-stable

Можете установить более актуальную версию Wine, если хотите помаяться дурью (не забывайте о двух новых библиотеках, которые нужны для wine-devel >=4.5 и которые ещё не вошли в Ubuntu!). Дайте знать, если это сработает.

5. Добавьте к своему .bashrc такую строчку:

export DISPLAY=:0.0

Вероятно, вы захотите запустить это и в текущем окне bash.

6. Установите VcXsrv, красиво упакованную версию xorg, скомпилированную для Windows, — просто возьмите последнюю версию исполняемого файла и запустите его. Запустите X Server через кнопку «Пуск» и XLaunch. Он проведет вас через дефолты — оставьте большинство из них как есть. Я на всякий случай поставил галочку «Отключить контроль доступа». Сохраните конфигурацию.

6а. Если хотите проверить, что X-сервер настроен правильно, установите sudo apt install x11-apps и запустите xeyes для краткого путешествия обратно в 80-90-е.

7. Сам wine не работает, потому что 32-битные бинарники не запускаются в WSL. На нашей 64-битной Windows 10 выдаётся ошибка /usr/bin/wine: 40: exec: /usr/lib/wine/wine: Exec format error. Видимо, это исправили в WSL 2.

А пока запустим Блокнот в Wine!

wine64 /usr/lib/x86_64-linux-gnu/wine/fakedlls/notepad.exe



TO DO: 32-битная поддержка. Придётся подождать выхода WSL 2. Интересно, будут ли работать древние программы Win16 — по идее, они должны запуститься в Wine, даже если больше не работают в самой Windows.

32-битные приложения через qemu


Спасибо анонимному комментатору, который предложил, как подступиться к запуску 32-битных приложений.

sudo apt install qemu-user-static
sudo update-binfmts --install i386 /usr/bin/qemu-i386-static --magic '\x7fELF\x01\x01\x01\x03\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x03\x00\x01\x00\x00\x00' --mask '\xff\xff\xff\xff\xff\xff\xff\xfc\xff\xff\xff\xff\xff\xff\xff\xff\xf8\xff\xff\xff\xff\xff\xff\xff'
sudo service binfmt-support start


И теперь мы можем сделать:

fun@DESKTOP-7F6DU8P:~$ wine --version
wine-3.0 (Ubuntu 3.0-1ubuntu1)

Впрочем, Encarta 97 всё равно не работает:

fun@DESKTOP-7F6DU8P:/mnt/e$ wine SETUP.EXE
wine: Unhandled page fault on read access to 0xffffffff at address 0x11df:0x00002c11 (thread 0011), starting debugger...
0011:err:seh:start_debugger Couldn't start debugger ("winedbg --auto 15 108") (2)
Read the Wine Developers Guide on how to set up winedbg or another debugger

Для тех, кто в теме: file говорит SETUP.EXE: MS-DOS executable, NE for MS Windows 3.x, так что нам нужно спуститься до редких 16-битных программ.

Encarta 97 устанавливается и работает безупречно в Wine 4.13 на Linux… но в 4.13 на Windows 10 все ещё нет:

fun@DESKTOP-7F6DU8P:~$ wine /mnt/e/SETUP.EXE
Xlib: extension "MIT-SHM" missing on display ":0.0".
Xlib: extension "MIT-SHM" missing on display ":0.0".
0009:err:process:__wine_kernel_init boot event wait timed out
001d:err:process:__wine_kernel_init boot event wait timed out
wine: Unhandled page fault on read access to 0xffffffff at address 0x11cf:0x00002c11 (thread 001e), starting debugger...001e:err:seh:start_debugger Couldn't start debugger ("winedbg --auto 28 152") (2)
Read the Wine Developers Guide on how to set up winedbg or another debugger
001d:err:ntdll:RtlpWaitForCriticalSection section 0x7e6273e0 "syslevel.c: Win16Mutex" wait timed out in thread 001d, blocked by 001e, retrying (60 sec)
Xlib: extension "MIT-SHM" missing on display ":0.0".
Could not load wine-gecko. HTML rendering will be disabled.
001e:err:seh:raise_exception Unhandled exception code c0000005 flags 0 addr 0x7b4a6abc
wine client error:1e: write: Bad file descriptor

Конечно, он выдаёт разные сообщения об ошибках в нескольких запусках…

Комментарии (107)


  1. amarao
    12.08.2019 16:15
    +3

    sudo dpkg --add-architecture i386


    Я долго ждал этой строчки в блоге про майкрософт.


  1. azzas
    12.08.2019 16:19
    +7

    «Мы запустили винду в винде чтобы ты страдал пока страдаешь!» (с)


    1. OnelaW
      12.08.2019 16:31
      +2

      Это какими же тяжелыми веществами надо упарыватьтся, чтоб в винде запустить убунту в которой запускать виндусовые приложения.


      1. amarao
        12.08.2019 16:41
        +3

        … Начиная с момента, когда MS забила на совместимость, wine может быть единственным методом запустить старую программу на новой ОС (более удобный, чем иметь старую ОС в виртуалке).


        1. valis
          12.08.2019 16:58

          А так вообще супер надежно получается :-)


          1. amarao
            12.08.2019 17:01

            Ну, wine — это довольно серьёзно. Я не слышал, чтобы wine ломал совместимость с софтом, с которым уже удалось установить доверительные отношения.


            1. DaemonGloom
              13.08.2019 06:53
              +1

              Бывает такое. Собственно, одна из причин для существования PlayOnLinux — он ставит версию wine, которая точно подходит для нужного приложения. Ибо новые подходят не всегда. С какими-то из игр я сам натыкался на подобное поведение, но конкретные сейчас уже не вспомню.


        1. OnelaW
          12.08.2019 17:02

          Винда и совместимость со старыми версиями программ наверное со времен Ме эти понятия были ортогональные.


          1. nuclight
            14.08.2019 17:25

            Нет, статья Джоэля «Как Microsoft проиграла битву за API» датирована 2005.


        1. hurtavy
          12.08.2019 19:40

          иметь линух в виртуалке конечно же лучше и удобнее?


          1. tendium
            12.08.2019 21:50
            +1

            А wsl — это виртуалка?


            1. hurtavy
              12.08.2019 22:36
              +2

              Написано же, что не всё получилось, и что надо ждать wsl2. А wsl2 — это как раз виртуалка


            1. gotch
              13.08.2019 15:37

              Скоро — да.


        1. rvs2016
          13.08.2019 02:47

          > wine может быть единственным методом
          > запустить старую программу на новой ОС

          Ну ещё полезен dosbox. Ну, для дос-программ, конечно. Master of Orion там какой-нибудь запустить. :-)


        1. VioletGiraffe
          13.08.2019 11:58

          Мне кажется, вы наговариваете. Новые приложения, использующие новые API, действительно в старых ОС не запустятся, но вот старые API из новых ОС никто не удаляет, MS уважает совместимость софта, это одна из важных составляющих популярности ОС. Вероятно, есть отдельные случаи, когда где-то что-то сломалось, но я иногда запускаю некрософт, и проблем при переходе на Win 10 или при полугодовых обновлениях не заметил.


          1. khim
            13.08.2019 12:38

            но вот старые API из новых ОС никто не удаляет
            Удаляет-удаляет. Какой-нибудь MS Agent для Windows 7 ещё бывает, а из Windows 10 выпилен «с концами».

            А без него, однако, MS Office 2000 не проинсталлировать — это даже не third-party софт, родной софт от Microsoft…

            Да, это занимает многие годы — но, рано или поздно, происходит.


            1. rvt
              14.08.2019 17:41

              Да уже и MS Office 2003 не установить. Родное же их приложение!


          1. math_coder
            13.08.2019 12:42
            +1

            Dune 2000 работает в Win 8, но в Win 10 её запустить уже не удастся. Knights of the Old Republic не получиться запустить в полный экран ни на Win 8, ни на Win 10. С Gothic I тоже придётся изрядно повозиться и ещё не факт, что получится. Игру "Ночной дозор" не запустить на Win 7 и выше никаким способом. Оригинальные "Космические рейнджеры 2" — только с помощью wine. По крайней мере какая-то версия Worms также не идёт ни на чём старше Windows XP. И это только случаи, когда проблемы непреодолимы. Есть ещё, когда проблемы преодолимы, но надо очень долго мучиться. Например, серия игр про Гарри Поттера. И ещё много, много такого.


            1. nidheg666
              13.08.2019 13:29

              правая кнопка мыши — совместимость — совместимость с, и выбираете какой операционкой. ставите галочку на админ правах и вуаля.


              1. math_coder
                13.08.2019 13:59

                Что "вуаля"? Я описал те случаи, когда не только "совместимость" не решает проблему, но решения нет вообще. А, например, с той же готикой надо лезть в тонкие настройки совместимости (есть такая малоизвестная и спрятанная фича в винде), тюнить их специальным образом и только тогда может быть заработает.


                1. nidheg666
                  13.08.2019 15:49

                  как бы…
                  в ночной дозор я играл на 7 какраз.
                  в дюну 2000 через досбокс на 10 винде.
                  рыцари старой республики нативно под 10 запускал (проблемы с экраном фиксятся конфигах)
                  червяки… так же вполне запускаются нативно (не помню правда как с экраном)

                  да что там… я даже хентайную игру 98 года выпуска на10 через совместимость настроил что бы запускалась.


                  1. math_coder
                    13.08.2019 16:01

                    в ночной дозор я играл на 7 какраз

                    Лет 5 назад я не смог найти решения. Сейчас попробовал — запустилась (на Win 10) по инструкции с old-games.ru


                    в дюну 2000 через досбокс на 10 винде.

                    Это не досовская игра. Может вы путаете с другой дюной? В Dune 2000 можно поиграть на Windows 10, но только благодаря Gruntmods, оригинальная же не работает.


                    рыцари старой республики нативно под 10 запускал (проблемы с экраном фиксятся конфигах)

                    В оконном режиме она запускается везде. В полноэкранном — увы, и это не фиксится.


                    червяки… так же вполне запускаются нативно

                    Червяков много и я не могу сейчас точно сказать какие именно требуют Windows XP, но такие есть.


            1. Doctor5772
              13.08.2019 16:06

              А ещё можно добавить «Дальнобойщиков 2», которые шикарно идут под Wine, но на Win 8.1 под тем же железом очень проблемно играть. Даже поставил Virtual Box с WinXP и 3D ускорением, никакие шаманства не помогли окунуться в ностальгию. Под Wine'ом установил саму игру и directplay, этого оказалось достаточно


            1. morgot
              15.08.2019 21:56

              Готика первая идет без проблем на последней десятке, вот как раз неделю назад проходил. Насчет иного не скажу, но: замечал, что часто проблемы с совместимостью идут от программистов, но никак не от винды. Если все делалось правильно, без хаков и костылей — будет работать в большинстве случаев. Поменялось, на самом деле, не так уж и много.


            1. icCE
              16.08.2019 14:27

              math_coder ```работает в Win 8, но в Win 10 ее```

              с windows 10 вообще интересная ситуация, то что работало в 7/8 могла сломаться, то что не работало там — наоборот работает, но не работает в 7/8. 10 сильно пилят и пытаются быстрыми темпами убрать большую часть легаси.


          1. amarao
            13.08.2019 14:53

            Ой, что вы мне рассказываете. Попробуйте запустить IE5.5 на Windows 10. А как насчёт совместимости c dos-приложениями? Тот же xcom (UFO: Enemy unknown) в официальном стиме идёт через dosbox, а не нативным приложением. Fallout2 страдает. Приложения, которым нужен Direct X 5 страдают. Приложения для Windows for workgroups страдают (а некоторые из них до сих пор в продакшене!).


            Каждая новая версия убивает очередной комплект ПО.


          1. arteast
            13.08.2019 16:18
            +2

            К примеру, выпиливает системные программы типа winhlp.exe. Попытка на Windows 10 открыть .hlp файл, идущий в комплекте со старой программой, приводит к отсылке на страничку, которая издевательски сообщает, что на Windows 10 прочитать такой файл нельзя. Метод исправления?


            "Разработчикам программного обеспечения рекомендуется прекратить использование приложения «Справка Windows». Разработчикам ПО, поставляющим программы, которые используют для работы HLP-файлы, рекомендуется использовать для создания приложений справки альтернативные форматы файлов справочной системы, такие как CHM, HTML или XML. "


            1. vanishacmp
              13.08.2019 17:43

              Есть такая проблема
              Решается костылем в виде закидывания файлов от предыдущих релизов
              www.komeil.com/blog/windows-help-program-winhelp-winhlp32-exe


            1. VioletGiraffe
              13.08.2019 19:54

              Ну это не совсем то, хотя я понимаю, что это тоже фактор работоспособности старого софта. Я говорил о системных API, а не утилитах.
              Мне кажется, Microsoft достаточно разумно находит компромисс между совместимостью и прогрессом. Нельзя же вечно тянуть код из Windows 3.1.

              Лично я недавно запускал Twisted Metal, это 1995 год. Запустился и работал с правильными настройками совместимости.


              1. tendium
                15.08.2019 22:21

                Нельзя же вечно тянуть код из Windows 3.1.

                Почему?


                1. VioletGiraffe
                  16.08.2019 13:32

                  Любой код, даже самый стабильный и отлаженный, требует периодического поддержания на плаву, иначе он «протухает». Это всё стоит сил, времени и денег. А поддерживать старый код, написанный с использованием устаревших парадигм, технологий и API, ещё сложнее, чем свежий, потому что новый код, в основной массе, лучше старого за счёт использования свежих фич языка, библиотек и API. Код нужно периодически «перетрахивать», как говорит А. Г. Лукашенко, и даже в своих весьма небольших проектов я это отчётливо вижу. Сюда входит и необходимость выпиливать старьё.


      1. FForth
        12.08.2019 16:44

        Круче только ещё запустить в Линух под Win10, VirtualBox, чтобы под ней (например в XP) запускать приложения. :)

        P.S. Хотя VirtualBox нормально работает под Win10.
        … И может статься, что Оффис года 97 отлично работает в рамках Win98 под VirtualBox.…


      1. safari2012
        12.08.2019 18:06

        Я вот тоже не понял, почему сразу бы не запустить виртуалку с windows7/XP?


        1. rboots
          12.08.2019 20:03
          +1

          Это же не спортивно


        1. rPman
          12.08.2019 22:15

          попробуйте легально купить win7 или winxp


          1. F0iL
            12.08.2019 23:15

            А в чем проблема? В большинстве случаев покупка коммерческой лицензии на современную версию Windows дает право легально использовать более старую версию.
            download.microsoft.com/download/6/8/9/68964284-864d-4a6d-aed9-f2c1f8f23e14/downgrade_rights.pdf


            1. icCE
              13.08.2019 00:42

              Да тут больше проблема не в том, что бы купить — а что бы потом найти железо, что бы запустить.


              1. safari2012
                13.08.2019 02:39
                +1

                Блин, какое железо, виртуалка же...


                1. icCE
                  16.08.2019 14:23

                  Есть только она вирт машина, которая нормально делает виртуализацию — это pcemu, а еще лучше vbox86. Все Hyper-v, vmware, vb итд не о том. Ну можно с натягом сюда qemu, Но он он не умеет например эмуляцию вуду.

                  Виртуальная машина не всегда может эмулировать то или иное железо по разным причинам или накладные расходы очень большие.
                  Есть игры которые сами по себе написаны криво, например granprix 2000 и нормально поиграть можно только на физической машине.

                  Итог пока один, эмуляция конечно хорошо — но ее не всегда достаточно, она не всегда точна и не всегда может эмулировать то, что может физическое железо.


            1. DaemonGloom
              13.08.2019 07:00

              Вот только покупка коробки с Windows 10 Pro в магазине — это не коммерческое лицензирование. И прав на даунгрейд вам это не даст. При этом вам необходимо будет брать две лицензии на компьютер (хост и гость). Против абсолютно бесплатного wine, который будет спокойно работать и не потребует кучу ресурсов на обновление.


            1. Lennonenko
              13.08.2019 17:55

              на одну версию вниз, таким образом, лицензия на W10 даёт вам право воспользоваться W8.1


              1. khim
                13.08.2019 21:53

                Вы бы документ по ссылочке открыли да прочитали, перед тем, как комментировать, а? В предустановленной Windows 10 можно опускаться до Windows 7 (однако только на Professional, на Ultimate нельзя), а если вы раскошелитесь на Windows 10 Professional — то можете аж до Windows 95 даунгредиться (но Windows 7 Ultimate всё равно нельзя… почему её так не любят?).

                Вот до Windows 3.1 нельзя совсем… горе-то какое.


                1. Lennonenko
                  13.08.2019 22:02

                  сентябрь 17-го, видимо, что-то поменялось, когда я 4-5 лет назад интересовался, кажется, до семёрки нельзя было опускаться
                  и это касается только W10Pro OEM
                  если вы раскошелитесь на retail, не получите вообще никакого даунгрейда:
                  Downgrade rights are not granted under FPP system licenses.
                  расширенные права на даунгрейд у commercial licences, то есть у организаций


                  1. khim
                    14.08.2019 00:19

                    сентябрь 17-го, видимо, что-то поменялось, когда я 4-5 лет назад интересовался, кажется, до семёрки нельзя было опускаться
                    Всегда можно было.

                    если вы раскошелитесь на retail, не получите вообще никакого даунгрейда:
                    Получите. Это называется Windows 10 Professional (GGWA). Я очень хорошо помню, что разбирался с этим самым GGWA буквально через месяц после релиза Windows 10, пытаясь понять — почему бывает в одном и том же магазине Windows 10 Professional и чуть более дорогая Windows 10 Professional (GGWA) — за что доплата-то?

                    Вот как раз за право даунгрейда (куда угодно — до Windows 95 включительно) вы и «доплачиваете копеечку» (411 рублей если прямо сегодня).

                    Да, получается Windows 95 по цене дороже, чем Windows 10… но такая вот у Microsoft ценовая политика.

                    расширенные права на даунгрейд у commercial licences, то есть у организаций
                    Не обязательно организаций. Можете организовать «общество любителей Windows 95» — всё законно будет. Но да, придётся купить пять штук.


                    1. Lennonenko
                      14.08.2019 01:34

                      точно, про get genuine я забыл, спасибо, давно с ними дела не имел


            1. ptica_filin
              13.08.2019 23:33

              Проблему видно, если смотреть не узко, а целиком на всю картину.
              Большинство случаев — это всё-таки не коммерческие лицензии, а какие-нибудь Home.


    1. saipr
      12.08.2019 22:22

      Сегодня есть и такое импортозамещение:


      им предложили некий отечественный Линукс, в нем запустили виртуалку с Windows и со всеми прибамбасами, которые в Министерстве используются на Винде были, и сказали можно рапортовать об импортозамещении.

      Так почему бы в винде не запустить wine отечественной сборке, и глядишь получится не такая уж глупая вещь. -).


  1. trawl
    12.08.2019 17:01
    +3

    Перезапустите Windows.

    Я так и думал


    1. Ogoun
      13.08.2019 19:08

      Вот что для меня было странно, постоянно слышал одним из аргументов в пренебрежительном отношении к Windows со стороны линуксоидов, то что она просит перезагрузки после обновлений. Но когда поставил себе OpenSUSE, оказалось что она требует перезагрузку после обновлений с такой же частотой.


      1. rPman
        13.08.2019 20:02

        Это как? прямо выскакивает окно, предлагающее перезагрузиться сейчас или потом, закрывающее работу других приложений, с тикающим таймером, по окончании работы которого все перезагружается?


        1. ptica_filin
          14.08.2019 08:38

          И при установке дополнительного компонента Windows тоже прямо выскакивает такое принудительное окошко? :)


          1. rPman
            14.08.2019 08:49

            Я не знаю о чем вы, ни в одном linux при обновлениях и установках пакетов меня не заставляли перезагружать машину, только рекомендация как простой способ перезапустить обновленные службы и ядро. В большинстве случаев там достаточно вручную перезагрузить обновленные службы и максимум перезапустить xorg (вместе с приложениями), если обновления коснулись его а вам надо их здесь и сейчас.

            Вы разницу не видите? в linux у меня есть возможность сделать и так и эдак и проконтролировать как именно и когда, в windows безальтернативное — либо перезагружайся либо перезагружайся потом (последний год того дибильного модального окна, требующего перезагрузку я не видел, в майкрософте дошло что они что то не так сделали, но предложение о перезагрузки сейчас или позже автоматически в запланированное время все равно вылезает, т.е. машина будет перезагружена автоматически так или иначе).

            В linux библиотеки устанавливаются, и потенциальные риски того что запущенны старые версии а файлы уже новые — берет на себя пользователь, а в windows запущенные утилиты и библиотеки обновляются после перезагрузки (т.е. выставляются в очередь).


            1. ptica_filin
              14.08.2019 15:10
              -1

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


          1. Ogoun
            14.08.2019 14:58

            del


        1. Ogoun
          14.08.2019 14:59

          Так у меня и в 10 и на windows server нет принуждения. А в suse справа внизу окошко явно говорит мне что после накатывания обновлений хочет перезагрузиться. С точки зрения пользователя поведение одинаковое.


  1. pproger
    12.08.2019 17:08
    +1

    сборки вайна для винды я видел еще 10 лет назад: www.kegel.com/wine/wow.html


  1. rogoz
    12.08.2019 17:22

    "Придётся подождать выхода WSL 2"
    WSL2 это же по сути обычная виртуалка/гипервизор, ничего принципиально нового, в отличие от WSL1, не будет.


    1. Antervis
      12.08.2019 18:00

      wsl2 это настоящее ядро линукса, в отличие от попытки сделать интерфейсные маппинги. Разумеется, это дает многократный прирост производительности (там, где системные вызовы важны), лучше совместимость и пр.


      1. CaptainFlint
        12.08.2019 18:23

        Вот только ценой окажется невозможность параллельной работы со сторонними системами виртуализации, ибо Hyper-V монопольно захватит VT-x/AMD-V.


        1. Balling
          12.08.2019 20:21
          -1

          Вы ошибаетесь. Просто vmware это пока не поддерживает, она так и пишет www.ivobeerens.nl/2018/12/13/vmware-workstation-device-credential-guard-are-not-compatible

          VMware Workstation and Device/Credential Guard are not compatible.

          Но это исправят в будующих версиях…

          virtualbox 6, говорят уже поддерживает, лично я не пользовался, впрочем. forums.virtualbox.org/viewtopic.php?f=6&t=90853

          Впрочем, wsl 1 никуда не исчезнет.


          1. CaptainFlint
            12.08.2019 20:36

            «Поддерживать» этот режим невозможно, технология не позволяет. Можно только смириться с тем, что Hyper-V захватил тотальный контроль, и пойти к нему на поклон с просьбой уделить немного внимания и разрешить запускать свои виртуалки через него (вместо того, чтобы стартовать родной гипервизор). VirtualBox 6 делает именно так, но предупреждает, что это неэффективное решение. Я говорил о том, что если нужен сторонний гипервизор, то пользоваться им параллельно с WSL2 не получится. (Ну, не считая софтовую виртуализацию, разумеется; но она слишком ограничена по возможностям.)


            1. Wernisag
              13.08.2019 07:47

              Ну так есть же вложенная виртуализация. Доведем абсурд до белого колена. Берем WSL2, запускаем Убунту, ставим KVM, радуемся. А ну и где-то рядом wine крутится


              1. CaptainFlint
                13.08.2019 11:26

                Вы о чём? Ветка началась с того, что WSL2, в отличие от WSL1, использует гипервизор, и я отметил, что это решение имеет серьёзный недостаток: невозможность одновременного использования WSL2 с гипервизорами, отличными от Hyper-V (такими как vmWare и VirtualBox в «родном» режиме). Какое отношение к этому имеет вложенная виртуализация?


                1. RIbragimovNYC
                  13.08.2019 14:52

                  Аппаратно — VT-X, VT-D, PAE-NX
                  Программно — MS Windows 10 Enerprise
                  Одновременная работа ВСЕХ доступных движков виртуализации
                  www.microsoft.com/en-us/WindowsForBusiness/Compare


                  1. CaptainFlint
                    13.08.2019 15:17

                    А Вы не могли бы раскрыть мысль? Слишком уж компактная форма, я не смог понять, о чём и к чему тут что говорится.

                    VT-d и PAE-NX в данном случае ни при чём. Гипервизорами используется в первую очередь VT-x, это и есть то, что обычно понимается под «аппаратной виртуализацией» (у Intel), и именно эта функциональность захватывается монопольно, не давая возможности использовать её другим гипервизорам. Эта ситуация существует с момента появления аппаратной виртуализации как явления, и с тех же пор тянутся первые вопросы вида «почему не работает VirtualBox, когда запущена vmWare» и советы вида «если хотите VirtualBox, отключайте Hyper-V» (частично переставшие быть актуальными после выхода версии VB 6 с поддержкой работы через Hyper-V).

                    Что касается фразы

                    Одновременная работа ВСЕХ доступных движков виртуализации
                    то я не нашёл ничего похожего по приведённой Вами ссылке (в том числе, в скачиваемой оттуда полной таблице сравнения).


                    1. RIbragimovNYC
                      13.08.2019 16:01

                      Условие необходимое — VT-X.
                      Условие достаточное — Многослойная виртуализация — VT-D,
                      32-bit process in 64-bit space — PAE-NX. Далее — к Intel & AMD

                      Virtual Box (чисто экспериментально) Hyper-V НЕ ИСПОЛЬЗУЕТ,
                      т.к. может инсталироваться на MS Windows 10 Home, где отсутствует Hyper-V как платформа. Далее к VirtualBox

                      В разделе… Flexible Management… описываются компоненты
                      Hyper-V в пространстве процессов пользователя, а не ядра,
                      что и дает возможность запускать сторонние движки.

                      Еще раз — жестче — все движки виртуализации одновременно
                      — это уровень (min) workstation, чисто конкретно — чипсеты серии С2XX, Xeon E5, см. сопоставимые AMD И MS Windows 10 Enterprise.
                      Назначение — мульти-платформенная разработка в среде Azure.

                      Хотите это обозреть живьем — приличный десктоп, Win 10 Pro,
                      эккаунт Azure с Windows Server Essential, и/или trial — POF.


                      1. CaptainFlint
                        13.08.2019 16:29

                        Условие достаточное — Многослойная виртуализация — VT-D,
                        32-bit process in 64-bit space — PAE-NX
                        Условие достаточное для чего? Для мульти-гипервизорной работы? Нет, это недостаточное условие. Более того, эти технологии вообще не имеют никакого отношения к обсуждаемой проблеме. VT-d служит для проброса физических устройств внутрь виртуалок, а NX — это защита от выполнения данных как кода.

                        Virtual Box (чисто экспериментально) Hyper-V НЕ ИСПОЛЬЗУЕТ,
                        т.к. может инсталироваться на MS Windows 10 Home, где отсутствует Hyper-V как платформа. Далее к VirtualBox
                        VirtualBox может использовать Hyper-V. По умолчанию он опирается именно на свой родной гипервизор, поэтому работает и на Win10 Home, и на Windows 7, и на линуксах всяких, где Hyper-V и не пахнет. Но если HV есть и запущен, то VBox (начиная с шестой версии) это обнаружит и автоматически переключится на использование HV вместо своего движка. VBox версий 5 и ниже в этой ситуации попросту откажется стартовать виртуальные машины или воспользуется софтварной виртуализацией, но ей можно запускать только 32-битные гостевые системы с одним процессором (и ещё какие-то ограничения есть).

                        В разделе… Flexible Management… описываются компоненты
                        Hyper-V в пространстве процессов пользователя, а не ядра,
                        что и дает возможность запускать сторонние движки.
                        То есть Вы хотите сказать, что существует методика задействования Hyper-V без захвата аппаратной виртуализации? И WSL2 будет работать именно по такой методике? Честно говоря, ни о том, ни о другом я пока не слышал, но если так, то будет здорово. Однако хотелось бы ссылок на подтверждение. Из одного лишь наличия каких-то виртуализаций пользовательского окружения в списке сравнения виндов ни первый, ни второй пункт не следует. А из того, что я встречал сам до сих пор, даже банальное держание службы HV в работающем состоянии (без какого-либо прямого использования этой службы) приводило к невозможности запуска сторонних гипервизоров.

                        Еще раз — жестче — все движки виртуализации одновременно
                        — это уровень (min) workstation, чисто конкретно — чипсеты серии С2XX, Xeon E5, см. сопоставимые AMD И MS Windows 10 Enterprise.
                        Ну то есть, обычные пользователи с десктопами в любом случае идут лесом. Но хотелось бы ссылок на инфу о поддержке мульти-гипервизорности в Xeon'ах. До сих пор я не слышал о таких вещах, а нагуглить ничего на эту тему мне сходу не удалось.


                        1. RIbragimovNYC
                          13.08.2019 16:48

                          Ваши предположения о (возможных) симптомах VBox
                          в различных окружениях во многом ошибочны.

                          Как запустятся движки в среде MS Windows 10 Enterprise
                          Вы можете попробовать. У меня несколько раз получилось.
                          Я даже вкратце обозначил — как. Чего и Вам желаю.
                          А в среде Win 10 Pro — невозможно.

                          Разрешите откланяться.


                          1. CaptainFlint
                            13.08.2019 17:10

                            Ваши предположения о (возможных) симптомах VBox
                            в различных окружениях во многом ошибочны.
                            К сожалению, на основании ничем не подкреплённых заявлений мне сложно менять точку зрения. Если бы была предоставлена хоть какая-то внятная информация вместо отдельных огрызков фраз, я бы с удовольствием расширил свой багаж знаний и на будущее имел в виду. Ну или если бы мне удалось хоть что-то самому нагуглить на эту тему (я пытался, но подтверждений или даже просто упоминаний подобных вещей найти не смог).

                            Как запустятся движки в среде MS Windows 10 Enterprise
                            Вы можете попробовать.
                            К сожалению, не могу. Личной машины с Xeon'ом и установленной на него Win10 Enterprise'ом у меня, увы, нет.

                            У меня несколько раз получилось.
                            Получилось запустить одновременно машину на Hyper-V и машину на VirtualBox 5? И обе они были 64-битные (чтобы гарантированно использовать аппаратную виртуализацию)? Иными словами, как именно Вы смогли проверить, что это, действительно, было параллельное использование VT-x двумя гипервизорами, а не использование VBox'ом гипервизора HV или программной виртуализации? Если у Вас по-прежнему сомнения, что VBox это умеет, посмотрите справку Оракла, там это написано прямым текстом.

                            Поймите, я буду только рад, если такая возможность на самом деле существует. Но при наличии такого количества возможностей сделать ошибочный вывод, при отсутствии каких-либо официальных упоминаний об этой функциональности, мне гораздо проще поверить, что незнакомый мне пользователь Хабра просто в чём-то ошибся, чем в то, что Интел и Microsoft втихую замутили крутейшую вещь и нигде о ней не пиарились.


              1. nuclight
                14.08.2019 17:30

                «Белого колена» как часть абсурда? Глаза режет


                1. Wernisag
                  14.08.2019 17:48

                  Именно


            1. khim
              13.08.2019 12:45

              «Поддерживать» этот режим невозможно, технология не позволяет.
              Странно. Wikipedia утверждает, что AMD-V и VT-x удовлетворяют критериям Попека и Голдберга.


              1. CaptainFlint
                13.08.2019 14:03

                Не вижу среди этих критериев никаких требований на одновременную работу нескольких гипервизоров.


          1. mad_god
            12.08.2019 20:55
            +1

            "будующих". Как?


            1. tendium
              12.08.2019 21:52
              +1

              По-чешски budujici — значит строящий :D От слова budovat — строить/сооружать/созидать. Может это как-то связано? :D


            1. surly
              13.08.2019 12:27

              Неологизьм ;-)
              «Будущее» — значит, next.timestamp > current.timestamp.
              «Следующее» — значит next.version_id == current.version_id + 1.
              А «Будующее» — это когда одновременно: (next.timestamp > current.timestamp) && (next.version_id == current.version_id + 1)


          1. sumanai
            14.08.2019 00:43

            Впрочем, wsl 1 никуда не исчезнет.

            В смысле? Можно будет работать по старому?


            1. Balling
              14.08.2019 00:54

              Можно конвертировать из wsl 1 в wsl 2 и обратно.


      1. rvs2016
        13.08.2019 03:03

        > wsl2 это настоящее ядро линукса

        Может M$ собирается тайно перевести свою ОС на это самое ядро и постепенно к этому тихой сапой продвигается? :-)


        1. ne_kotin
          13.08.2019 10:35

          Нене, они перейдут на ядро от ReactOS, юзерспейс от Wine, а сами сконцентрируются на коде проверки лицензионности и Microsoft Store.


      1. Spellman30
        13.08.2019 11:20

        Так GPL же вроде запрещает использовать лицензированные ей код использовать в закрытых проектах, как линукс в винду встроить?


        1. Antervis
          13.08.2019 15:50

          если я правильно понимаю, это как дать пользователю возможность запустить GPL приложение в винде (а если быть точнее — как запустить виртуалку с линуксом). Т.е. ни к чему майкрософт не обязывает. В конце концов, WSL2 — бесплатный продукт.


  1. WanSpi
    12.08.2019 17:39

    Запуск Wine на Windows был мечтой фанатов
    Может я чего то не знаю, но зачем?


    1. ustasman
      12.08.2019 17:47
      +3

      предположу правильный ответ на ваш вопрос — because we can


      1. Voiddancer
        12.08.2019 18:27
        +1

        because we want, ведь они не могли.


      1. softaria
        12.08.2019 18:33

        Но ведь это было их мечтой. Значит, всё-таки can't…
        Сложно.


    1. Antervis
      12.08.2019 18:46
      +1

      Может я чего то не знаю, но зачем?

      Your scientists were so preoccupied with whether or not they could, they didn’t stop to think if they should. ©


    1. Krypt
      13.08.2019 16:12

      Just for fun. Правильный ответ на любой подобный вопрос — just for fun.


  1. geher
    12.08.2019 18:05

    Wine работает только с 64-разрядными приложениями Windows

    Насколько я помню, в AltLinux есть две версии wine.
    Одна 64 разрядная (для 64 бит репы зовется просто wine), а вторая — 32 разрядная (i586-wine.32bit). Первая работает только с 64 бит приложениями, вторая только с 32 бит. Одновременно обычным образом не ставятся.
    Интересно, как оно в этом отношении в убунте, и как оно в убунте из W10?


    1. icCE
      12.08.2019 22:50

      geher все еще проще.

      WINEPREFIX=~/.wine32 WINEARCH=win32 your_32bit_executable.exe

      или так

      WINEPREFIX=~/.wine WINEARCH= your_64bit_executable.exe


    1. ElegantBoomerang
      13.08.2019 00:10
      +1

      На убунте упакованы оба, как wine32 (требует 32битную архитектуру) и wine64 (требует 64битную), а также обёрточный wine, требующий хотя бы один их них. Вместе живут нормально.


  1. BlenderRU
    12.08.2019 22:23

    Эх… Encarta… одна из крутейших интерактивных энциклопедий своего времени…


  1. Serjaru
    13.08.2019 02:34

    Зачем это? как пришла мысль запустить винду в винде? больная фантазия??


    1. androidovshchik
      13.08.2019 04:04

      Как вариант это посмотреть на свой продукт (wine) с другой стороны, может быть найти какие-то ошибки, я этим не занимаюсь, но думаю, что какие-то выводы точно есть или будут


    1. OnelaW
      14.08.2019 11:14

      Увы это не больная фантазия, есть тонны софта который больше не поддерживает производитель или производителя больше не существует, а софтом этим продолжают пользоваться. И это не только игрушки. Как в России так и в мире есть куча узкоспециализированных устаревших программ которые писались под старые версии окон. Например чудный оффлайн переводчик Сократ, хотя и пишут что на W10 можно запустить, на деле у меня не получилось это сделать. Куча учетных программ требуют 5 или 6 ишака и переводить на новые платформы разработки производители не собираются. Куча интересных и полезных программ для домашнего использования не работают на новых версиях винды.


  1. Firsto
    13.08.2019 07:57

    кто-то попытался скомпилировать Wine в Cygwin и сломал реестр хост-системы.
    Напомнило старкон2, запущенный в DosBox, под иксами в Дебиане, который запущен в VMWare, которая в WinXP и вопрос о неработающем звуке.


    1. Lexxnech
      13.08.2019 10:09
      +1

      Меньше всего ожидал, что скрин по ссылке в цитате от 2006 года откроется.


      1. sumanai
        14.08.2019 00:51
        +1

        Кажется домен продлевают исключительно ради этого изображения.


  1. eStellar
    13.08.2019 08:58

    Помнится, была такая программа XP Mode официальная, от Микрософт. По факту VirtualPC, тогда ещё прообраз Hyper-V, только с нормальным пробросом USB. А внутри ХР которая была вполне лицензионна. Предполагалось это всё для запуска старых программ, которые на Win7 не работали по каким-то причинам.

    А Wine на винде: вполне нужная вещь для разработчиков самого Вайна, он же одинаков что под Линуксом что под Виндой, что на Маке, тестировать программы в среде.


  1. 13werwolf13
    13.08.2019 10:12

    Когда-то мне рассказали что если в вайнпрефикс скопипастить содержмое системного диска с реальной винды то и софта больше стартует и производительность лучше. Проверять не стал. Но читая данную статью вспомнил, ведь в данной ситуации нужные dll и прочие файлы можно симлинкнуть из реального диска в префикс вайна…
    Кто нибудь опробуйте а то мне лень винду ставить ради этого.


    1. DaemonGloom
      13.08.2019 10:42

      Проблема в том, что такой симлинк даст нам библиотеки той винды, которая стоит на компьютере — теряется смысл самого вайна.


      1. 13werwolf13
        13.08.2019 10:49

        Здесь скорее эксперимент проверить будет ли какая-то разница среди двух вариантов: softname в wine в wsl и softname в wine в wsl с подменой файлов. К причине создания топика действительно не имеет отношения


  1. avolver
    13.08.2019 10:36

    Я не какой-то сумасшедший гений, которые реализовал фантастический проект — просто я, кажется, первым публично объявил о данном факте.

    Я запускал wine в Windows XP ещё до появления Win7. Что я делаю не так?


  1. neochapay
    13.08.2019 10:39

    Я точно помню, что запускал виндовые приложения через wine под виндой, в то время, когда вышла WindowsXP и много специфичного софта, для старых NT/9x перестало на нём запускаться.


  1. marinatou
    13.08.2019 11:20

    Может я и не права, но запус приложений из одной ос в другой, всегда воспринимала как «маленькую измену» :-)


  1. Jeditobe
    13.08.2019 11:21
    +1

    Мне кажется, проще поставить виртуалку и в ней ReactOS :)


  1. pulsatrix
    13.08.2019 13:07

    Гнусавым голосом:
    Где-то в далекой далекой галлактике,
    В гипервекторном межгалактическом фидонете,
    В AF03CD году:
    — Это форум анимешников?
    — Да.
    — Как пропатчить Windows 10918 под BSD?
    — А вам засем?
    — Хочу Ubuntu поставить.