Недавно мы опубликовали пост про новый билд Windows 10 Insider Preview Build 14316, в котором говорилось про подсистему Ubuntu Linux в этой ОС. Нам написали многие пользователи, которые столкнулись с тем, что не смогли сразу обнаружить эту подсистему и запустить командный интерпретатор bash. Действительно, эта подсистема выключена по умолчанию, а ее драйверы LXss.sys и LXCore.sys не располагаются в системной директории (см. WinSxS). Для тех пользователей, которые не смогли разобраться с данной проблемой, мы укажем шаги по включению подсистемы и проверке ее активности.



Для включения подсистемы следует выполнить следующие шаги:

  1. Активировать режим разработчика (Developer Mode). Без него Windows 10 откажется устанавливать подсистему Ubuntu Linux.
  2. Включить компонент подсистемы в настройках Windows.
  3. Установить подсистему (выполняется автоматически.)



Рис. Настройка функций developer по умолчанию, нужно выбрать Developer mode (Start->Settings->Update and security).


Рис. Подтверждаем.


Рис. В том же окне, в поиске набираем «Windows features».


Рис. Ставим галочку напротив «Windows Subsystem for Linux (Beta)».


Рис. Запускаем командный интерпретатор Windows — cmd, набираем bash и дожидаемся установки Linux.


Рис. Появившиеся в системной директории драйверы Linux.


Рис. Активный сервис подсистемы Linux.

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


  1. koceg
    12.04.2016 08:38
    +5

    Для тех, кто как и я безуспешно пытался подобрать перевод «Windows features», чтобы вбить в поиск:
    Панель управления -> Программы и компоненты -> Включение или отключение компонентов Windows


    1. koceg
      12.04.2016 08:45

      Ну и с кириллицей оно, видимо, не дружит:
      image

      При вводе «y» (да и вообще любого символа), консоль просто закрывается. Видимо, не может переварить имя пользователя.


      1. kruftik
        12.04.2016 09:06

        В дополнение, если указать больше 1 символа, «выскакивает» некий хелп с описанием ключей /install /y и прочих для установки-удаления-обновления юзерспейса. Только вот непонятно, какой ехе-ник вызывать с этими ключами, т.к. для bash.exe они не подходят…


        1. ga2mer
          12.04.2016 10:38
          +2

          lxrun /install /y


      1. wOvAN
        12.04.2016 09:06
        +1

        Поставьте Английски языковой пак. Под кириллицей пока не работает.


        1. koceg
          12.04.2016 09:44

          То есть проблема исключительно в языке системы? С кириллицей в имени пользователя проблем нет? Или они тоже решатся установкой языка?


      1. staticlab
        12.04.2016 10:38
        +1

        Это запрос подтверждения на установку убунты. В англоязычной версии там написано 'Type «Y» to continue', если ввести что-либо другое, то консоль закрывается. В русскоязычной версии, видимо, имеется баг с кодировкой, из-за чего ни Y, ни Д не работают.

        Русскоязычное имя пользователя на работу линукса повлиять не должно, так как консоль всё равно запускается от рута (whoami: root, pwd: /root), но всегда можно сделать sudo -u. Такие дела :)


    1. agorshkov23
      12.04.2016 09:04
      +2

      Win+R, optionalfeatures


  1. vadimyer
    12.04.2016 09:07

    Не могли бы вы пояснить, в каком отношении активация Developer mode подвергнет мое устройство и «личную информацию» рискам?


    1. bonv
      12.04.2016 12:07
      +2

      В этом режиме появляется возможность устанавливать приложения не только из Windows Store.
      Тем самым MS снимает с себя ответственность.


      1. MacIn
        12.04.2016 17:58

        А с Sideload apps?


        1. bonv
          12.04.2016 18:10
          +1

          Sideload apps в этом плане работает также.

          Developer mode дополнительно дает определенные возможности для разработчика приложений: отладка, деплой на устройство.
          https://msdn.microsoft.com/en-us/windows/uwp/get-started/enable-your-device-for-development


  1. malinichev
    12.04.2016 09:07

    Windows Features not found! Что-то я не могу включить


    1. nikizan
      12.04.2016 10:38

      … а прочитать первый коммент к статье слабо))


      1. malinichev
        12.04.2016 11:35

        Пока коммент был на модерации — меня опередили)


      1. malinichev
        13.04.2016 21:42
        -2

        У меня по прежнему ничего нет( Я один такой?
        http://take.ms/tYIsV


        1. staticlab
          15.04.2016 09:42

          Сборка 14316? Developer mode включили?


          1. malinichev
            15.04.2016 11:59

            Всё включено) Скорей всего дело именно в сборке. Я её скачивал ещё в октябре… Надо-бы обновить флешечку


  1. AlexJJ
    12.04.2016 10:38
    +3

    Не используйте в настройках консоли «Use legacy console». После включения данной настройки консоль в bash крашится.
    Error: 0x80070057

    take.ms/ycYfX


  1. paranoik2
    12.04.2016 11:11

    У кого-нибудь работает сеть в Bash консоли?


    1. xRay
      12.04.2016 11:51
      +2

      В /etc/resolv.conf пропишите nameserver 8.8.8.8
      ping не заработает, а apt-get, wget заработают

      Тут можно почерпнуть часть решенных проблем https://github.com/Microsoft/BashOnWindows/issues


      1. ValdikSS
        12.04.2016 14:15

        В баге говорят, что даже UDP не поддерживается. Так ли это?


        1. staticlab
          12.04.2016 14:36

          У меня тоже пинг не работает.


          1. ValdikSS
            12.04.2016 14:38

            То, что не работает ICMP, в целом, ожидаемо, т.к. ему нужны RAW-сокеты, но вот то, что не работает UDP (если это действительно так) — странно.
            Правда, это же бета, добавят еще поддержку, наверняка.


            1. staticlab
              12.04.2016 14:44
              +2

              root@localhost:~# nc -vz -u 8.8.8.8 53
              Connection to 8.8.8.8 53 port [udp/domain] succeeded!
              root@localhost:~# nc -vz -u 8.8.8.8 54
              Connection to 8.8.8.8 54 port [udp/*] succeeded!
              root@localhost:~# nc -vz -u 8.8.8.8 59
              Connection to 8.8.8.8 59 port [udp/*] succeeded!


              1. ValdikSS
                12.04.2016 14:45

                И соединения принимаются?


                1. staticlab
                  12.04.2016 14:45

                  Как протестировать?


                  1. ValdikSS
                    12.04.2016 14:47

                    В первом терминале:
                    nc -u -l -p 4545
                    Во втором терминале:
                    echo test | nc -u IP 4545


                    1. staticlab
                      12.04.2016 14:52

                      Неа, не работает в отличие от tcp :(


                    1. ComradeAndrew
                      12.04.2016 15:02

                      На второй команде выводит:


                      nc: getaddrinfo: Name or service not known


                      1. ValdikSS
                        12.04.2016 15:25

                        Вы IP на IP-адрес заменили?


                        1. ComradeAndrew
                          12.04.2016 17:48

                          Ой, нет. Не заменил. С локалхостом можно проверять на одном пк или лучше через локальную сеть с разных машин?
                          P.S. На локальной машине просто впадает в ступор и чего-то ждет.


                          1. ValdikSS
                            12.04.2016 17:49

                            Я не знаю, как сеть там организована, поэтому не могу подсказать.


                          1. staticlab
                            13.04.2016 08:19

                            На первом терминале должна появиться строка test после выполнения команды на втором. Если убрать ключи -u (UDP-режим), то данные передаются.


        1. xRay
          12.04.2016 15:25

          ICMP не поддерживается и RAW-сокеты тоже пока не поддерживается.
          Я так понимаю эмуляцию системных вызовов для этих вещей еще не выкатили.

          Это пока даже не бета-версия интеграции, а скорее пре-альфа.


      1. paranoik2
        13.04.2016 11:13

        Спасибо! apt-get заработал.

        Может знаете как переустановить Ubuntu не переустанавливая сам Windows, пробовал отключение и включение Windows System for Linux, не помогло. Проблема в том что после команд apt-get update && apt-get upgrade появилась куча ошибок, которые я не в силах победить.


        1. staticlab
          13.04.2016 11:35

          Какие ошибки?


        1. ga2mer
          13.04.2016 11:47
          +1

          lxrun /uninstall /full /y
          lxrun /install /y


        1. xRay
          13.04.2016 11:54

          У меня тоже была какая-то не устранимая ошибка после попытки подправить указанный файл из Far.
          Выполнил
          lxrun /uninstall /full /y
          и убедился что папки C:\Users\user\AppData\Local\lxss\ не стало
          После этого выполнил
          lxrun /install /y


  1. DjOnline
    12.04.2016 12:07
    -1

    Что там ещё есть? apt-get, yum?
    Какие-нибудь HHVM, Tarantool компилятся?
    Сколько памяти это ест?
    В чём отличие от SUA (Subsystem for UNIX-based Applications), которая давны давно есть на Windows от MS?


    1. staticlab
      12.04.2016 13:13
      +1

      apt-get есть (и даже aptitude, только он криво отображается), это же Ubuntu. Подключены стандартные репозитории trusty из archive.ubuntu.com и security.ubuntu.com.


      1. DjOnline
        12.04.2016 16:34
        +1

        Спасибо за ответ. Рад когда отвечают на вопросы по делу, а не как толпа почему-то набежавших минусаторов с нежной натурой. Это как спросить у прохожего как пройти туда-то, а ответ получить в морду.


        1. sayber
          12.04.2016 19:11

          Минусы ставят вероятно из-за того, что на хабре каждый в курсе, что есть в этом обновлении.
          С начала Апреля это довольно громкая новость которая шумит ежедневно.
          Ну и вероятно последняя строчка.


          1. DjOnline
            13.04.2016 00:11
            +1

            Тем не менее ответов кроме apt-get я ни от кого не услышал и не увидел.
            У нас же любят затыкать рот вместо того чтобы ответить. На каком-нибудь opennet и то люди дружелюбнее :)


            1. staticlab
              13.04.2016 12:39

              Попробовал собрать HHVM. Действовал по стандартному мануалу для 14.04 (https://docs.hhvm.com/hhvm/installation/building-from-source#ubuntu-14.04-trusty). Компилировалось 3,5 часа (виртуалка), затем при линковке результирующего бинарника сломалось с ошибкой /usr/bin/ld.gold: fatal error: hhvm: Invalid argument. Надо сказать, что эта проблема не единичная: https://github.com/Microsoft/BashOnWindows/issues?q=is%3Aissue+is%3Aopen+ld.gold — по крайней мере node.js и ethereum тоже не линкуются. Придётся ждать решения проблемы.


              1. DjOnline
                13.04.2016 19:41
                -2

                Спасибо.
                Скорее всего разработчиком пакетов придётся добавлять отдельную проверку именно на эту подсистему и её особенности, как они сейчас это делают с cygwin? То есть вот так сразу большинство таких специфичных пакетов не заработают.
                Полноценный Lamp уже кто-то пробовал собирать?


              1. MainNika
                16.04.2016 16:42

                Invalid argument это текстовый вариант ошибки EINVAL, Lxcore.sys кидает эту ошибку на все системные вызовы, которые не умеет. Поэтому эту ошибку можно заметить много где.


  1. volt_amper
    12.04.2016 12:14
    +22

    — Здравствуйте! Это тема про Windows?
    — Да.
    — Как мне включить Linux?

    По мотивам цитаты с баша bash.im/quote/42


  1. Dreyk
    12.04.2016 12:30
    +1

    А как получить сам билд? В Settings -> Updates -> Advanced включил Insiders builds и переключил ползунок на Fast Ring, но апдейта нет. В инете пишут, что «надо подождать до 4-х суток» да и рядом с ползунком тоже написано, что может не сразу билд прийти. Кто знает, ждать надо с включенной машиной?


    1. koceg
      12.04.2016 13:22

      Я переключился на Fast Ring и сразу же получил обновление.


    1. ComradeAndrew
      12.04.2016 14:48
      +1

      У меня тоже не приходил апдейт и я обновился с *.iso образа.
      Можно скачать отсюда
      Потом запустить интсаллер из образа и тем самым обновиться или же установить чистую сборку с загрузочной флешки.


    1. panaceya
      12.04.2016 15:07
      +1

      Ждал около двух суток, потом прилетел апдейт. Ждите)


      1. Dreyk
        13.04.2016 11:18

        теперь и у меня пришло, тоже двое суток


  1. ZonD80
    12.04.2016 12:31
    -7

    cygwin гораздо лучше…


    1. scronheim
      12.04.2016 15:07
      +3

      Может потому что нативный Bash только что вышел и находится в бете?


      1. ZonD80
        12.04.2016 18:07
        -2

        То есть скомпилированный под винду bash вы не считаете нативным?


  1. IvanPanfilov
    12.04.2016 13:07
    -9

    > Чтобы получать сборки Insider Preview вам необходимо подключить к своему устройству учетную запись Майкрософт

    совсем охренели


    1. Dreyk
      12.04.2016 13:24
      +8

      не нравится — не ешьте, в чем проблема


      1. Sergey6661313
        12.04.2016 14:00
        +4

        У родителей на ноутбуке стояла учётка microsoft с паролем. Сейчас они временно не пользуются интернетом. И пароль от учётки им не нужен и их жутко бесит. Но его нельзя убрать у этой учётки потому что для этого требуется выход в интернет.
        Это лишь один подводный камень, но не известно сколько ещё может выплыть.

        Одно дело когда кто-то реализовывает фичу. И вам решать пользоваться ей или нет, и совсем другое когда для нетривиальных действий производитель фичи специально создаёт усложнения навязывая свои другие «фичи».

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

        Я конечно понимаю что windows это их детище и они могут творить с ним что вздумают. Но я думаю что выражая слово «охренели» IvanPanfilov выражал не то что они «обязаны» делать, а то какие чувства вызывают их действия.


        1. l0cal
          12.04.2016 14:05

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


        1. 23rd
          12.04.2016 14:25

          Ставите пин-код вместо пароля и интернет при входе не нужен будет.


          1. Alex_ME
            12.04.2016 17:07

            Тогда нужно вводить пин. Не пользуюсь учеткой MS по этой же причине.


        1. Dreyk
          12.04.2016 14:35
          +2

          негодование в вашем случае как раз абсолютно понятно: учетка микрософта затрудняет работу, однако требование учетки для участия в инсайдер-программе вообще не вызывает у меня отторжения: это опциональная фича, результаты которой со временем получат все


    1. JustRoo
      12.04.2016 13:34
      +29

      Вот он, страшный сон линуксоида — создавать учётную запись в Майкрософт, чтобы установить Убунту.


      1. hdfan2
        13.04.2016 13:14

        И качать Ubuntu с Windows store.


    1. 23rd
      12.04.2016 14:24
      +1

      Можете и скачать iso без учётной записи и в сети.


      1. ComradeAndrew
        12.04.2016 14:53

        Да, кстати. Ссылку я приложил #comment_8850075


  1. tolia-x
    12.04.2016 17:07
    -2

    Error: 0x800c0005 — кто с таким стыкался??? в чем проблема??? как решить??


  1. sasha1024
    12.04.2016 17:07
    -7

    О_о, это всё серьёзно? Читая Вашу прошлую статью, я был уверен, что это первоапрельский юмор. (Да, я видел дату «31 марта в 11:18», но думал, что это тоже часть шутки — что шуточные первоапрельские статьи отображаются с рандомными датами.)


  1. kalmarius
    12.04.2016 19:37
    +1

    Можно запустить х-сервер и гуевые приложения линукс прямо в винде… Что происходит, черт возьми? о_О

    источник: https://www.reddit.com/r/Windows10/comments/4ea4w4/fyi_you_can_run_gui_linux_apps_from_bash/
    на русском: http://windowstips.ru/notes/23552

    *ушел качать образ


    1. ComradeAndrew
      12.04.2016 23:35

      У меня приложение сразу крашит
      Fatal IO error: client killed
      Пробовал запускать несколько приложений, но без особого успеха. Где-то в гугле прочел, что проблема может возникать из-за большних иконок (o_O), но протестировать пока не могу.


      1. kalmarius
        13.04.2016 00:07

        Тоже немного побаловался — Пиджин работает отлично, в аське логинися. А Файрфокс вылетает постоянно, но главную страницу Хабра вроде загружает:

        Скрытый текст


        1. ComradeAndrew
          13.04.2016 00:10

          Так у вас работает? А можете поэтапно описать как вам удалось? У меня любое приложение крашит сразу же в ту самую ошибку IO
          Какой у вас X сервер? Как запускаете?


          1. kalmarius
            13.04.2016 08:35

            Отсюда скачал «Xming X Server for Windows», установил его тупо как windows-программу «далее-далее-далее-готово», затем запустил с ярлыка рабочего стола (снова «далее-далее-готово» ), затем из оболочки bash программы запускаются так: «DISPLAY=:0 firefox».


            1. ComradeAndrew
              13.04.2016 21:45

              Странно. У меня все тоже так же сделано, однако у меня крашит почти каждое приложение. Ну ладно. Подождем, может сами MS чего допилят для этого.


  1. a553
    12.04.2016 19:49

    Интересно, как работает fork? Cygwin/mingw имеют огромное количество проблем именно из-за эмуляции форка, есть ли здесь проблемы?


    1. MacIn
      12.04.2016 19:56

      Из любопытства — какого рода проблемы?


      1. a553
        12.04.2016 19:58

        Лекарство с описанием основных проблем


        1. MacIn
          12.04.2016 20:15
          +1

          is due to fork() failing when it is unable to load DLLs in the child at the same address as in the parent.

          Угу, понятно, спасибо.


    1. grechnik
      12.04.2016 20:55
      +3

      В ядре NT с самого начала была возможность честного форка процесса — с клонированием таблиц страниц и copy-on-write. Она недокументирована и до неё нельзя достучаться через Win32 API, но для отдельной подсистемы это не проблема. Cygwin/MinGW работают через Win32 API, поэтому у них, да, проблемы.


      1. MacIn
        12.04.2016 21:10

        Что за функция?


        1. grechnik
          12.04.2016 21:31
          +3

          NtCreateProcess/NtCreateProcessEx с ненулевым четвёртым аргументом и нулевым шестым.


          1. MacIn
            12.04.2016 22:05

            А, да. Это есть у Небета.


    1. MainNika
      16.04.2016 16:54

      Работает. Скомпилированный пример процесса демона работает и висит в списке процессов без родителя, вот так:

      image


  1. MacIn
    12.04.2016 22:05

    del


  1. 19as
    12.04.2016 22:22

    В русскоязычном Windows компонента Linux нет.


    1. niq
      12.04.2016 22:53

      Только что поставил на русскую винду, работает. Надо просто дождаться, когда прилетит обновление с Insider версией (у меня оно появилось через пары дней, после подключения к программе Insider Preview) и установить режим разработчика, как в статье написано.


      1. 23rd
        12.04.2016 23:12

        А с русской кодировкой вы как справились?


        1. kalmarius
          12.04.2016 23:29

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


        1. niq
          13.04.2016 07:02

          Воспользовался советом в комментариях выше. Установку можно запустить командой:
          lxrun /install /y
          Она запускается установку молча, без подтверждения.
          Потом уже bash запускается. Правда в нем тоже с кодировками не особо работает, но вроде там уже не критично, играться и так можно.
          Пока правда первое впечатление, что это все таки сильная бета, работает далеко не все


      1. oboyshikov
        13.04.2016 07:55

        А как вы подключались? На сайте микрософта мне предлагают полностью переустановить ось ( сейчас 10-ка ). То есть он не просто тащит всякие предварительные фичи, а ставит «специальную» версию системы?


        1. Dreyk
          13.04.2016 11:22
          +1

          выше мой комментарий


          1. oboyshikov
            13.04.2016 13:00

            Спасибо.


  1. achekalin
    13.04.2016 12:00

    Кто еще из «копирайтеров» не отписался на эту тему? Вроде простенькое howto, да еще и растиражированное уже везде…


  1. Sergey6661313
    13.04.2016 18:46

    народ у меня в Settings -> Updates -> Advanced кнопка Insiders builds не активна. Что делать?


    1. Mear
      13.04.2016 19:04

      А у вас MS учетка? Может из-за этого?


      1. Sergey6661313
        13.04.2016 20:23
        -1

        сам загуглил… короче это из-за antispy.
        частично помог возврат настроек по умолчанию с помощью проги O&O ShutUp10
        но теперь другая ппроблема — вылетает такое окно:
        http://i11.pixs.ru/storage/2/7/4/Bezimyanni_3885740_21532274.png
        затем оно говорит типо всё исправлено и предлагает перезапуститься. После перезагрузки ничего не меняется.


        1. 23rd
          14.04.2016 06:48

          Ну зато телеметрию отключили.


          1. Sergey6661313
            14.04.2016 09:21

            учётка от МС + браузер от МС + включённая телеметрия = мои пароли у microsoft. + потеря производительности + более назойливая реклама.
            Я не параноик но если уж собирать данные то делать их общественным достоянием. Иначе можете считать меня жадиной, но это мои данные и я не хочу чтобы они куда либо улетали.

            Интересно что к каждому пользователю прилетает именно «своя ос». у кого-то 3 дня, у кого-то почти сразу. Как будто они действительно создают сборку винды специально под конкретно ваш компьютер. (естественно со своими идентификаторами вшитыми прямо в ОС).


            1. 23rd
              14.04.2016 10:22

              Вы хотите быть Windows Insider, но не хотите иметь с MS ничего общего. Мне это немного непонятно.
              У Windows Insiders чёткие требования, вы изворачиваетесь и удивляетесь, почему же не работает?

              Интересно что к каждому пользователю прилетает именно «своя ос».

              Это удивительно, но русским приходит «своя ос» с русским языком, у американцам – с английским, кому-то x64, кому x32 и т.п.
              Как будто они действительно создают сборку винды специально под конкретно ваш компьютер. (естественно со своими идентификаторами вшитыми прямо в ОС).

              Это легко проверяется на разных независимых машинах снифом трафика и сравнением хэш-сум esd файлов, полученных по временным ссылкам.


              1. grossws
                14.04.2016 11:30

                Это легко проверяется на разных независимых машинах снифом трафика и сравнением хэш-сум esd файлов, полученных по временным ссылкам.

                А TLS у них не в моде?