Microsoft Store を使わず WSL を導入する


Microsoft Store を使わず WSL を導入する

背景

Microsoft Store を使えない環境で WSL を使いたかったので、手順をまとめました。
また、 Add-AppxPackage コマンドでのインストールもできない環境だったので、半ばハック的にインストールしました。

手順

0. WSL を有効化

下記リンクの Step 5 までやる
https://docs.microsoft.com/en-us/windows/wsl/install-win10

1. ディストリビューションをダウンロード

PowerShell
Invoke-WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile Ubuntu.appx -UseBasicParsing

上記は、 Ubuntu 20.04 の場合です。

2. 展開

PowerShell
move .\Ubuntu.appx .\Ubuntu.zip
Expand-Archive .\Ubuntu.zip

3. ディストリビューションをインポート

PowerShell
cd Ubuntu
wsl.exe --import Ubuntu-20.04 'C:\wsl\Ubuntu-20.04' .\install.tar.gz
# インポートできたか確認
wsl -l -v
  • Ubuntu-20.04: (任意)ディストリビューション名
  • 'C:\wsl\Ubuntu-20.04': (任意)インストール先

4. (optional) デフォルトディストリビューションの設定

PowerShell
wsl --set-default Ubuntu-20.04
  • 先に Docker Desktop をインストールしていた場合などで、既定のディストリビューションを変更したい場合

5. 作業ユーザー作成

このままだと root ユーザーを使用することになり、あまりよろしくありません。
作業用のユーザーを作成しましょう。

PowerShell
wsl --distribution Ubuntu-20.04
sudo adduser takelushi
usermod -aG sudo takelushi
  • takelushi: 任意のユーザー名。僕の場合は takelushi です。

6. ログインユーザー設定

  1. レジストリ エディターを開く
    • regedit.exe
  2. 以下から Ubuntu-20.04 のレジストリを探す

    HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss

  3. DefaultUid を 0x3e8 (1000) にする。UID が 1000 以外の場合はそれに合わせる。