有没有办法在不使用商店的情况下在 Win10 (v1709) 上安装 Ubuntu(适用于 Linux 的 Windows 子系统)?

Gab*_*air 74 ubuntu windows-subsystem-for-linux windows-10-v1709

Microsoft Store 应用程序已被我所在大学的组策略禁用。我在我的计算机上拥有管理员权限,我想知道是否有直接安装 Windows Subsystem for Linux (WSL) 的方法?或者也许通过 Chocolatey 或其他一些命令行方法?我想在不使用 Microsoft 商店的情况下在 Windows 上下载和安装 Ubuntu。

请注意,从版本 1709(Fall Creator 的升级)开始,仅启用开发人员模式已不再足够。

flo*_*ilo 94

信息:我在带有 Win10 Pro(v1709 和 1803)的虚拟机上尝试了这个,并带有股票组策略(即全新安装的原样)。

也就是说:关闭商店gpedit.msc并没有什么不同......


根据微软的“Windows Server 安装指南”

请注意,此答案仅显示了 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
      • SL: https://aka.ms/wsl-sles-12
      • 卡莉: 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>
    • 通过文件资源管理器的 GUI
    • 或者通过任何压缩工具,例如 7-Zip。
  4. 运行Debian.exe,它位于解压后的文件夹中。
    • 对于其他发行版,您只需要寻找正确的 EXE。
    • 这现在将“安装”您的发行版。
  5. 设置您的用户名和密码。
    • 如果出现错误0x80070005,您需要以管理员身份运行 EXE。谢谢,@March 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运行时运行。

  • 如果您收到错误“0x80070005”,则需要以管理员身份运行 exe 文件。 (3认同)
  • 顶部说明。谢谢。仅供参考:如果你像我一样,第一次将发行版解压缩到一个愚蠢的位置......你会发现 `wslconfig /list` 和 `wslconfig /unregister` 是你的朋友...... (3认同)
  • 如果其他人在尝试安装 Debian 时遇到此问题,请注意 Debian 的商店版本已更新为 Debian 10,但 aka.ms 链接仍然是 Debian 9。在此处为它打开了一个问题:https://github .com/MicrosoftDocs/WSL/issues/563 (2认同)

Bis*_*iyo 18

这是一个简短的过程,适用于 Windows 10 Fall Creators 更新及更高版本。

  1. OptionalFeatures.exePC启用“Windows Subsystem For Linux”功能并重新启动 PC。来自Windows Server 安装指南
  2. 下载以下任一文件(使用任何浏览器或任何下载管理器):

  3. 使用7ZIP打开 Appx 包。仅提取可执行文件(例如 Ubuntu.exe)并在任何驱动器或任何文件夹中install.tar.gz。双击该可执行文件,它将被安装。

注意:您现在可以使用分发站点或 docker 映像中提供的压缩 RootFS tarball(仅 .tar.gz)安装任何 GNU/Linux 发行版


Jai*_*ime 5

您可以 (1) 从 Windows 应用商店下载安装程序或 (2) 下载分发文件并使用lxRunOfflineWSL Distrolauncher等工具进行安装。

  • 您可以使用第二个选项安装 Ubuntu 18 或许多其他发行版。

从 Windows 应用商店下载安装程序

您可以使用 Powershell 从 Windows 应用商店下载安装程序。例如,您可以使用以下命令下载 Ubuntu 16 版本

PS> Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 -OutFile Ubuntu.appx -UseBasicParsing
Run Code Online (Sandbox Code Playgroud)

在上面的命令中,输出文件是Ubuntu.appx. 它必须以这种方式命名。您可以运行该应用程序来安装 Ubuntu。

PS> Ubuntu.appx
Run Code Online (Sandbox Code Playgroud)

使用 LxRunOffline

首先,您必须下载一些分发文件。lxRunOffline wiki 中有许多分发文件。

例如,要从 Microsoft Windows Store 安装相同的 Ubuntu 16,您可以在以下位置下载该文件

https://lxrunoffline.apphb.com/download/UbuntuFromMS/16
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用 lxRunOffline 安装 linux 发行版

# 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
Run Code Online (Sandbox Code Playgroud)

要运行发行版,您可以使用相同的 lxRunOffline

C:\wsl> lxrunoffline run -n copy -w
Run Code Online (Sandbox Code Playgroud)

使用 DistroLauncher

您可以使用一些 DistroLauncher。有许多版本基于Microsoft 示例来为 WSL 创建自定义 linux 发行版。例如,您可以使用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
Run Code Online (Sandbox Code Playgroud)

第一次运行启动器时,它会安装并运行发行版。下一次,它运行 linux 发行版。


安装后,您可以使用wslconfiglxrunoffline命令管理发行版。

注意:除了上面提到的发行版文件,您还可以基于其他 linux 发行版创建一个新文件。您可以尝试WSLInstall 项目中包含的说明。安装后您可能需要额外的步骤才能正确启动新的 linux。