VirtualBox 側が Hyper-V に対応したこと、Windows 10 2004 で WSL が Home へ対応したことで、メインPCにも WSL 2 を入れてみました。
WSL 2 と Docker Desktop が Windows 10 Home でも使えるようになります。
どうせならチームメンバーの導入の負荷軽減のためということで、コマンドラインのみで導入する方法を確立してみました。
前提
- Windows 10 バージョン 2004
- Home / Pro どちらでも可(検証は Home でしました)
- BIOS で Intel VT-x / AMD-V の仮想化ハードウェア拡張を有効にしてある
- 新規で WSL 2 を導入するケース
- Windows で sudo を使えるようにしておくと、より導入が楽(必須でない)
通常のコマンド一覧
管理者権限で PowerShell を起動して、以下のコマンドを入力してください。
# Linux 用 Windows サブシステム
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# 仮想マシン プラットフォーム
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
コンピュータの再起動。
改めて通常の権限で PowerShell を起動して、以下のコマンドを入力してください。
# WSL 2 Kernel Update
Invoke-WebRequest -Uri https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi -OutFile wsl_update_x64.msi -UseBasicParsing
msiexec /i wsl_update_x64.msi /passive /norestart
rm wsl_update_x64.msi
# WSL 2 を標準にする
wsl --set-default-version 2
# Ubuntu 2004 をインストール
Invoke-WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile linux.appx -UseBasicParsing
Add-AppxPackage -Path linux.appx
rm linux.appx
コンピュータの再起動をお忘れなく。
sudo を導入している環境でのコマンド一覧
通常の権限で PowerShell を起動して、以下のコマンドを入力してください。
( sudo をインストールしてあると管理者権限に昇格が簡単にできるのでらくちんですよ)
# Linux 用 Windows サブシステム
sudo dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# 仮想マシン プラットフォーム
sudo dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
コンピュータの再起動。
改めて通常の権限で PowerShell を起動して、以下のコマンドを入力してください。
# WSL 2 Kernel Update
Invoke-WebRequest -Uri https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi -OutFile wsl_update_x64.msi -UseBasicParsing
msiexec /i wsl_update_x64.msi /passive /norestart
rm wsl_update_x64.msi
# WSL 2 を標準にする
wsl --set-default-version 2
# Ubuntu 2004 をインストール
Invoke-WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile linux.appx -UseBasicParsing
Add-AppxPackage -Path linux.appx
rm linux.appx
コンピュータの再起動をお忘れなく。
補足
ほかのディストリビュート
上記は Ubuntu 2004 を導入していますが、ほかのディストリビュートもコマンドでインストールできます。
引数 -Uri
に渡す URI を変更してください。
URI は https://docs.microsoft.com/en-us/windows/wsl/install-manual#downloading-distros のリンクを確認してください。
例えば、Debian GNU/Linux を利用したい場合は以下のような感じです。
# Debian GNU/Linux
Invoke-WebRequest -Uri https://aka.ms/wsl-debian-gnulinux -OutFile linux.appx -UseBasicParsing
Add-AppxPackage -Path linux.appx
rm linux.appx
次期バージョンのコマンド
将来的には WSL コマンドでインストールとアップデートが可能になるそうです。
https://devblogs.microsoft.com/commandline/gpu-compute-wsl-install-and-wsl-update-arrive-in-the-windows-insiders-fast-ring-for-the-windows-subsystem-for-linux/
wsl --install
wsl --update
Windows で sudo の簡単な導入
Scoop をインストールしてください。
下記の記事がわかりやすいのでお勧めです。
Scoop をインストールしたら、下記コマンドで sudo をインストールできます。
scoop install sudo
※悲しいお知らせ
併用してみましたが、VirtualBox と WSL 2 はまだ相性悪いです。
特に、VirtualBox ゲストに検証テスト用の Windows 10 を入れていたのですが、使い物にならないくらい不安定になりました。
結局、システム復元から復旧する羽目になったので、両方を使おうと思っている方はまだ様子見でよいと思います。
WSLじゃなくてgowでいいや。DockerはVagrantでいいや。
せっかくコマンドだけでインストールする方法を確立したので、ほかの方のお役に立てればと思いメモを残しました。