9
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

WSL2 をすべてコマンドでインストールしたときのメモ

Last updated at Posted at 2020-09-09

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 を起動して、以下のコマンドを入力してください。

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 を起動して、以下のコマンドを入力してください。

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 をインストールしてあると管理者権限に昇格が簡単にできるのでらくちんですよ)

PowerShell
# 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 を起動して、以下のコマンドを入力してください。

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 を利用したい場合は以下のような感じです。

PowerShell
# 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/

PowerShell
wsl --install
wsl --update

Windows で sudo の簡単な導入

Scoop をインストールしてください。
下記の記事がわかりやすいのでお勧めです。

Scoop をインストールしたら、下記コマンドで sudo をインストールできます。

PowerShell
scoop install sudo

※悲しいお知らせ

併用してみましたが、VirtualBox と WSL 2 はまだ相性悪いです。
特に、VirtualBox ゲストに検証テスト用の Windows 10 を入れていたのですが、使い物にならないくらい不安定になりました。
結局、システム復元から復旧する羽目になったので、両方を使おうと思っている方はまだ様子見でよいと思います。
WSLじゃなくてgowでいいや。DockerはVagrantでいいや。

せっかくコマンドだけでインストールする方法を確立したので、ほかの方のお役に立てればと思いメモを残しました。

9
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?