Есть ли способ установить Подсистему Windows для Linux на Win10 (v1709) без использования Магазина?

50

Приложение Microsoft Store отключено групповой политикой моего университета. У меня есть права администратора на моем компьютере, и мне было интересно, есть ли способ установить Windows Subsystem для Linux (WSL) напрямую? Или, может быть, через Шоколад или другой метод командной строки?

Обратите внимание, что начиная с версии 1709 (Обновление Fall Creator), только включение режима разработчика более не достаточно.

Габриэль Ярмарка
источник

Ответы:

63

Информация: Я пробовал это на виртуальной машине с Win10 Pro (v1709 и 1803) со стандартной групповой политикой (то есть, как есть с новой установкой).

То есть: отключение Магазина в gpedit.mscне имело никакого значения ...


Согласно «Руководству по установке Windows Server» от Microsoft :

Обратите внимание, что этот ответ показывает шаги только для Debian. Тем не менее, для Ubuntu, SLES, openSUSE и Kali все одинаково - единственная разница будет в названии EXE (и используемом вами URL).

  1. Активировать Windows Subsystem for Linux.

    • Через Windows Featuresграфический интерфейс: например, Win+ I->OptionalFeatures.exe
    • С помощью PowerShell (как администратор): Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux.
  2. Скачайте Linux-пакет.

    • Выбери свой дистрибутив. Просто используйте один из этих URL:
      • Debian: https://aka.ms/wsl-debian-gnulinux
      • Ubuntu 18.04: https://aka.ms/wsl-ubuntu-1804
      • Ubuntu 16.04: https://aka.ms/wsl-ubuntu-1604
      • OpenSUSE: https://aka.ms/wsl-opensuse-42
      • SLES: https://aka.ms/wsl-sles-12
      • Kali: https://aka.ms/wsl-kali-linux
    • Через PowerShell запустите Invoke-WebRequest -Uri https://aka.ms/wsl-debian-gnulinux -OutFile ~/Debian.zip -UseBasicParsing.
      • Если вам не нужен индикатор выполнения, добавьте $ProgressPreference = 'SilentlyContinue';в начале команды.
      • Обратите внимание, что ~/Debian.zipможно изменить на любой путь и имя, которое вы хотите.
    • Вы также можете скачать его «за меню» - введите URL в свой браузер (или менеджер загрузок), и вы можете получить его также.
  3. Разархивируйте загруженный архив и поместите его в путь назначения.
    • Обратите внимание, что вы можете использовать любой путь - будь то ~\IHateUbuntu\SLES_WSL, будь то C:\Ubuntu, и т.д.pp. Однако он должен находиться на диске вашей системы (обычно C:\). Спасибо, @Matt Wenham !
    • Через PowerShell: Expand-Archive <ARCHIVE> <ITS_NEW_PATH>
    • Через графический интерфейс проводника
    • Или с помощью любого инструмента, например, 7-Zip.
  4. Запустите Debian.exe, который находится внутри разархивированной папки.
    • Для других дистрибутивов вам просто нужно найти правильный EXE.
    • Это теперь "установит" ваш дистрибутив.
  5. Установите ваше имя пользователя и пароль.
    • Если ошибка 0x80070005появляется, вам нужно запустить EXE как администратор. Спасибо, @Mar Ho !
  6. Он рекомендовал , чтобы обновить все программное обеспечение при первом запуске.
    • В Debian & Ubuntu это выполняется путем запуска sudo apt update && sudo apt upgrade.
  7. (Необязательно) Поместите свой EXE в меню «Пуск».
    • Просто вставьте жесткую ссылку Debian.exeв C:\ProgramData\Microsoft\Windows\Start Menu\Programs.
  8. (Необязательно) Повторите для всех дистрибутивов, сколько хотите.

Тебе хорошо идти сейчас. Запускать Debian.exeвсякий раз, когда вы хотите запустить WSL.

flolilo
источник
3
Если вы получаете сообщение об ошибке 0x80070005, вам нужно запустить исполняемый файл от имени администратора.
Март Хо,
Вы случайно не знаете, возможно ли установить их сразу для всех пользователей ?
Андрей Савиных
2
Лучшие инструкции. Спасибо. К вашему сведению: если вы похожи на меня и разархивировали дистрибутив в глупом месте в первый раз ... вы найдете wslconfig /listи wslconfig /unregisterбудете вашими друзьями ...
spechter
1
Я считаю, что дистрибутив должен быть распакован на системный диск, как указано здесь: docs.microsoft.com/en-us/windows/wsl/…
Мэтт Уэнам
1
Примечание: 0x80070005ошибки появляются по многим причинам. Если вы хотите найти обходные пути, посмотрите здесь: github.com/microsoft/WSL/issues/3020
Bewc
15

Это короткая процедура, применима для обновления Windows 10 Fall Creators и выше.

  1. Включите функцию «Подсистема Windows для Linux» OptionalFeatures.exeи перезагрузите компьютер. Из Windows Server Руководство по установке .
  2. Загрузите любой из следующих файлов (с помощью любого браузера или любого менеджера загрузок):

  3. Открытые пакеты Appx с 7ZIP . Извлеките только исполняемый файл (например, Ubuntu.exe) и install.tar.gz на любой диск или в любую папку. Дважды щелкните этот исполняемый файл, и он будет установлен.

Примечания :: Теперь вы можете установить любой дистрибутив GNU / Linux, используя сжатые архивы RootFS (только .tar.gz), предоставленные на сайтах дистрибутивов или из образов докеров.

Biswapriyo
источник
3

Вы можете (1) загрузить установщики из Магазина Windows или (2) скачать дистрибутивный файл и установить его с помощью таких инструментов, как lxRunOffline или WSL Distrolauncher .

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

Загрузка установщика из Магазина Windows

Вы можете загрузить установщики из Магазина Windows с помощью Powershell . Например, вы можете скачать версию Ubuntu 16, используя следующую команду

PS> Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 -OutFile Ubuntu.appx -UseBasicParsing

В приведенной выше команде выходной файл Ubuntu.appx. Это должно быть названо таким образом. Вы можете запустить это приложение для установки Ubuntu.

PS> Ubuntu.appx

Использование LxRunOffline

Сначала вы должны скачать какой-нибудь дистрибутив. В вики lxRunOffline доступно много дистрибутивных файлов .

Например, чтобы установить ту же Ubuntu 16 из Магазина Microsoft Windows, вы можете скачать файл по адресу

https://lxrunoffline.apphb.com/download/UbuntuFromMS/16

Затем вы можете установить дистрибутив linux, используя lxRunOffline

# lxrunoffline install -n <name> -d <folder> -f <distribution file>

C:\wsl> lxrunoffline install -n copy -d c:\wsl\copy -f 16.04.2-server-cloudimg-amd64-root.tar.gz

Для запуска дистрибутива вы можете использовать тот же lxRunOffline

C:\wsl> lxrunoffline run -n copy -w

Использование DistroLauncher

Вы можете использовать некоторые DistroLauncher. Существует много версий, основанных на примере Microsoft, для создания пользовательских дистрибутивов Linux для WSL. Например, вы можете использовать версию Yuk7 .

Вы должны скачать дистрибутив и файл launcher.exe. Чтобы использовать тот же самый файл дистрибутива, который упоминался выше, вы должны переименовать файл дистрибутива, rootfs.tar.gzа средство запуска - в нужное имя дистрибутива. Позже вы должны запустить лаунчер от имени администратора (я получил ошибки при запуске его как обычный пользователь)

PS> ren launcher.exe mydistro.exe
PS> ren .\16.04.2-server-cloudimg-amd64-root.tar.gz rootfs.tar.gz
PS> .\mydistro

При первом запуске программы запуска она устанавливает и запускает дистрибутив. В следующий раз он запустит дистрибутив Linux.


После установки вы можете управлять дистрибутивами с wslconfigпомощью lxrunofflineкоманд или .

ПРИМЕЧАНИЕ. В дополнение к упомянутым выше дистрибутивным файлам вы можете создать новый файл на основе других дистрибутивов Linux. Вы можете попробовать инструкции, включенные в проект WSLInstall . После установки вам могут потребоваться дополнительные шаги, чтобы правильно запустить новый linux.

Jaime
источник