Is there a way of installing Ubuntu (Windows Subsystem for Linux) on Win10 (v1709) without using the Store?

53

46

The Microsoft Store app is disabled by Group Policy by my university. I have administrator rights on my computer and I was wondering if there was a way of installing Windows Subsystem for Linux (WSL) directly? Or maybe via Chocolatey or some other command line method? I would like to download and install the Ubuntu on windows without using the Microsoft store.

Note that since version 1709 (Fall Creator's Upgrade), only enabling Developer Mode is no longer sufficient.

Gabriel Fair

Posted 2017-11-25T18:48:04.693

Reputation: 2 070

Answers

65

Info: I tried this on a VM with Win10 Pro (v1709 & 1803) with stock Group Policy (i.e. as-is with a fresh installation).

That is: turning the Store off in gpedit.msc did not make a difference...


According to Microsoft's "Windows Server Installation Guide":

Note that this answer shows the steps for Debian only. However, everything is the same for Ubuntu, SLES, openSUSE, and Kali - the only difference will be in the name of the EXE (and the URL you use).

  1. Activate Windows Subsystem for Linux.

    • Via the Windows Features GUI: e.g. Win + I --> OptionalFeatures.exe
    • With PowerShell (as administrator): Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux.
  2. Download the Linux-package.

    • Choose your distro. Simply use one of these URLs:
      • 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
    • Via PowerShell, run Invoke-WebRequest -Uri https://aka.ms/wsl-debian-gnulinux -OutFile ~/Debian.zip -UseBasicParsing.
      • If you do not need the progress-bar, add $ProgressPreference = 'SilentlyContinue'; in the front of the command.
      • Note that ~/Debian.zip can be changed to whatever path and name you want.
    • You can also download it "per manus" - feed the URL into your browser (or download manager) and you can get it this way, too.
  3. Unzip the downloaded archive and place it into its destination path.
    • Note that you can use any path - be it ~\IHateUbuntu\SLES_WSL, be it C:\Ubuntu, etc.p.p.. It must, however, be on your system's drive (usually C:\) Thanks, @Matt Wenham!
    • Via PowerShell: Expand-Archive <ARCHIVE> <ITS_NEW_PATH>
    • Via the File Explorer's GUI
    • Or via any zipping tool, such as 7-Zip.
  4. Run Debian.exe, which is inside the unzipped folder.
    • For the other distros, you just have to look for the correct EXE.
    • This will now "install" your distro.
  5. Set your username and password.
    • If error 0x80070005 shows up, you need to run the EXE as administrator. Thanks, @March Ho!
  6. It is recommended to update all software at the first start.
    • In Debian & Ubuntu, this is done by running sudo apt update && sudo apt upgrade.
  7. (Optional) Put your EXE into the Start Menu.
    • Simply put a hard link of Debian.exe into C:\ProgramData\Microsoft\Windows\Start Menu\Programs.
  8. (Optional) Repeat for as many distributions as you like to have.

You are good to go now. Run Debian.exe whenever you want WSL to run.

flolilo

Posted 2017-11-25T18:48:04.693

Reputation: 1 976

3If you're getting the error 0x80070005, you need to run the exe file as administrator. – March Ho – 2018-11-12T20:25:10.030

Do you happen to know if it is possible to install these for all users at once? – Andrew Savinykh – 2018-12-06T08:21:43.773

@AndrewSavinykh Since it is installed into whatever Path you like (e.g. C:), providing access (and links) for all users should not be a problem. However, I do not know how to create links for multiple users. Something along New-Item -ItemType SymbolicLink -Path "<USER_DIR>" -Name "<DISTRO>" -Value "<DISTRO_EXE_PATH>" should work. – flolilo – 2018-12-06T10:31:56.170

2Top instructions. Thanks. FYI: If you are like me, and unzipped the distro in a silly location the first time... You will find wslconfig /list and wslconfig /unregister are your friends... – spechter – 2019-02-07T05:11:26.447

1

I believe that the distribution should be extracted onto your system drive, as mentioned here: https://docs.microsoft.com/en-us/windows/wsl/install-win10#troubleshooting

– Matt Wenham – 2019-04-23T10:19:41.513

1

Note: the 0x80070005 errors pops for a lot of reasons. If you want to look for workarounds, look here: https://github.com/microsoft/WSL/issues/3020

– Bewc – 2019-10-29T17:50:37.177

15

This is a short procedure, applies for Windows 10 Fall Creators update and above.

  1. Enable "Windows Subsystem For Linux" feature from OptionalFeatures.exe and restart PC. From Windows Server Installation Guide.
  2. Download any one of the following file (with any browser or any download manager):

  3. Open Appx packages with 7ZIP. Extract only the executable file (e.g. Ubuntu.exe) and install.tar.gz in any drive or any folder. Double click on that executable file and it will be installed.

Notes:: You can now install any GNU/Linux distribution using compressed RootFS tarballs (only .tar.gz) provided in distribution sites or from docker images.

Biswapriyo

Posted 2017-11-25T18:48:04.693

Reputation: 6 640

3

You can (1) download the installers from the Windows Store or (2) download a distribution file and install it using tools such as lxRunOffline or WSL Distrolauncher.

  • You can install Ubuntu 18 or many other distributions using the second option.

Downloading the installer from the Windows Store

You can download the installers from the Windows Store using Powershell. For instance, you can download the Ubuntu 16 version using the following command

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

In the above command, the output file is Ubuntu.appx. It must be named in that way. You can run that application to install the Ubuntu.

PS> Ubuntu.appx

Using LxRunOffline

First, you must download some distribution file. There are many distribution files available in the lxRunOffline wiki.

For instance, to install the same Ubuntu 16 from the Microsoft Windows Store, you can download the file at

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

Then, you can install the linux distribution using 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

To run the distribution, you may use the same lxRunOffline

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

Using a DistroLauncher

You can use some DistroLauncher. There are many versions based on the Microsoft example to create custom linux distributions for WSL. For instance, you can use the Yuk7 version.

You must download a distribution file and the launcher.exe. To use the same distribution file mentioned above, you must rename the distribution file to rootfs.tar.gz and the launcher to the distribution name you want. Later you must run the launcher as an Administrator (I got errors running it as a normal user)

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

The first time you run the launcher, it installs and run the distribution. The next time, it runs the linux distribution.


After installing, you can manage the distributions using the wslconfig or the lxrunoffline commands.

NOTE: In addition to the distribution files mentioned above, you can create a new file based on other linux distributions. You may try the instructions included in the WSLInstall project. You may need additional steps after the installation to start the new linux correctly.

Jaime

Posted 2017-11-25T18:48:04.693

Reputation: 1 187

0

  1. Enable WSL on PowerShell as Administrator:

    Enable-WindowsOptionalFeature -Online -FeatureName "Microsoft-Windows-Subsystem-Linux"
    
  2. Install the distribution of your choice using Chocolatey. e.g. for Ubuntu 18.04.1 LTS:

    choco install wsl-ubuntu-1804
    

Marco Lackovic

Posted 2017-11-25T18:48:04.693

Reputation: 506