Microsoft Store を使わず WSL を導入する
背景
Microsoft Store を使えない環境で WSL を使いたかったので、手順をまとめました。
また、 Add-AppxPackage
コマンドでのインストールもできない環境だったので、半ばハック的にインストールしました。
手順
0. WSL を有効化
下記リンクの Step 5 までやる
https://learn.microsoft.com/en-us/windows/wsl/install-manual
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. ログインユーザー設定
-
レジストリ エディターを開く
regedit.exe
-
以下から Ubuntu-20.04 のレジストリを探す
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss
-
DefaultUid を 0x3e8 (1000) にする。UID が 1000 以外の場合はそれに合わせる。