WSL2入門 - WindowsでLinuxを使う方法

WSL2入門 - WindowsでLinuxを使う方法

この記事でできるようになること

  • WSL2 を使って Windows 上に Linux 環境を用意できる
  • WSL2 と仮想マシンの違いを理解して使い分けられる

前提知識(先に読むと理解しやすい記事)

WSL2とは何か?

WSL2(Windows Subsystem for Linux 2)は、Windows上でLinuxを動かすための仕組みだ。仮想マシン(PCの中に別のPCを作るソフト)を自分で用意する必要はない。Windows 10(バージョン2004以降)と Windows 11 には、はじめから入っている。

WSL1と比べたWSL2の違いは、完全なLinuxカーネルOS の中核となるプログラム。ハードウェアとソフトウェアの橋渡しをする。(OSのいちばん中心にある部分)を積んでいる点だ。そのためDockerやsystemdも動作する。ふだんの開発に使える水準になっており、Windows PCでLinuxを学ぶならいちばん有力な選択肢になる。

WSL2でできること

  • Ubuntu / Debian / Fedora 等のLinuxコマンドをWindowsで実行
  • Dockerコンテナの実行
  • PythonやNode.jsなどの開発環境構築
  • シェルスクリプトの作成・実行
  • VS CodeでLinuxファイルを直接編集

WSL2のシステム要件は?

WSL2を使うには、Windows 10 バージョン2004(ビルド19041)以降、またはWindows 11が必要だ。加えて、BIOS/UEFI(PCを立ち上げたときに開ける設定画面。UEFIは新しい世代のBIOS)で、仮想化機能(VT-x / AMD-V)をオンにしておく必要がある。

項目 最低要件
OS Windows 10 バージョン2004(ビルド 19041)以降 / Windows 11
アーキテクチャ x64 または ARM64
仮想化 BIOS/UEFI で有効化済み

Windowsのバージョンは winver コマンドで確認できる。

winver

仮想化が有効かどうかは、タスクマネージャーで確認できる。Ctrl+Shift+Esc を押し、「パフォーマンス」→「CPU」と進み、「仮想化」欄を見る。

WSL2のインストール方法

Windows 11 と Windows 10(2021年10月アップデート以降)なら、コマンド1行で済む。WSL2とUbuntuをまとめてインストールできる。

1. 管理者権限でPowerShell(またはコマンドプロンプト)を開く

スタートメニューで「PowerShell」を右クリック →「管理者として実行」を選択する。

2. インストールコマンドを実行する

wsl --install
インストール中: 仮想マシン プラットフォーム
仮想マシン プラットフォーム はインストールされました。
インストール中: Linux 用 Windows サブシステム
Linux 用 Windows サブシステム はインストールされました。
インストール中: Ubuntu
Ubuntu はインストールされました。
操作を正常に完了しました。

3. PCを再起動する

再起動後、自動的にUbuntuのセットアップが始まる。ここでユーザー名とパスワードを設定する。設定が終われば、Linux環境が使えるようになる。

ここで設定するパスワードは、あとでsudo(管理者としてコマンドを動かす仕組み)を使うときに必要になる。忘れずに記録しておくこと。

特定のディストリビューションをインストールしたい場合

ディストリビューション(Linux本体と付属ソフトをまとめたセット。「ディストロ」とも呼ぶ)は自分で選べる。まず一覧を出し、名前を指定してインストールする。

wsl --list --online
NAME                            FRIENDLY NAME
Ubuntu                          Ubuntu
Debian                          Debian GNU/Linux
kali-linux                      Kali Linux Rolling
Ubuntu-18.04                    Ubuntu 18.04 LTS
Ubuntu-20.04                    Ubuntu 20.04 LTS
Ubuntu-22.04                    Ubuntu 22.04 LTS
Ubuntu-24.04                    Ubuntu 24.04 LTS
...
wsl --install -d Ubuntu-24.04

インストール済みのディストリビューションを確認する

wsl -l -v
  NAME            STATE           VERSION
* Ubuntu          Running         2
  Ubuntu-24.04    Stopped         2

「VERSION」が「2」ならWSL2として動作している。

Linuxディストリビューションを選ぶには?

初めてWSL2を使う場合はUbuntuが最も適している。理由は2つある。公式ドキュメントが豊富なこと、そしてapt(ソフトの出し入れをまとめて行うパッケージマネージャーソフトウェアのインストールや更新をまとめて行う仕組み。)でほとんどのツールをすぐ入れられることだ。

ディストリビューション 特徴 推奨対象
Ubuntu ドキュメント豊富・apt管理 初心者・一般開発者
Debian 軽量・安定重視 サーバー運用経験者
Kali Linux セキュリティツール特化 セキュリティ学習者
openSUSE エンタープライズ向け 企業環境での学習者

迷ったらUbuntuのLTS版(Long Term Support = 長期サポート版)を選ぶのが無難。サポート期間が5年と長く、日本語の情報も多い。

基本的なLinux操作を始めるには?

WSL2を起動する方法は2つある。スタートメニューで「Ubuntu」(またはインストールしたディストリビューション名)を検索して開く方法と、PowerShellでwslと入力する方法だ。

wsl

起動するとLinuxのシェル入力したコマンドを解釈してコンピュータに実行させる対話プログラム。が使えるようになる。基本的なコマンドを確認しよう。

# 現在のディレクトリを表示
pwd
/home/username
# ファイル一覧を表示
ls -la
# パッケージリストを更新する(初回セットアップ後に必ず実行)
sudo apt update && sudo apt upgrade -y

WSL2のシャットダウン

# 特定のディストリビューションを終了
wsl --terminate Ubuntu

# すべてのWSLインスタンスを終了
wsl --shutdown

WindowsとLinuxのファイルを共有するには?

WSL2からWindowsのファイルへは /mnt/c/ 以下でアクセスできる。逆にWindowsからLinuxのファイルへは、エクスプローラーで「\wsl$\Ubuntu」を開けばアクセスできる。

WSL2からWindowsファイルへアクセスする

# Cドライブのホームディレクトリを見る
ls /mnt/c/Users/

# WindowsのDocumentsにファイルをコピーする
cp myfile.txt /mnt/c/Users/username/Documents/

LinuxファイルをWindowsのエクスプローラーで開く

カレントディレクトリ(今いるディレクトリファイルをまとめて整理する入れ物。Windows や macOS の「フォルダ」と同じもの。)をWindowsエクスプローラーで開きたい場合は、次のコマンドを実行する。

explorer.exe .

エクスプローラーのアドレスバーに \\wsl$\Ubuntu\home\username と入力してもLinuxファイルシステムにアクセスできる。

Linux上で作業するファイルは、Windowsの /mnt/c/ ではなくLinuxのホームディレクトリ(/home/username/)に置くことを推奨する。OSの境をまたぐ読み書き(I/O)は遅くなるためだ。

VS CodeでLinuxのファイルを編集する

VS Codeに「Remote - WSL」拡張(あとから機能を足す部品)を入れよう。これでLinuxのファイルをWindows側から直接編集できる。

# WSL2のシェルからVS Codeを開く(Remote WSL拡張が必要)
code .

よくあるエラーと対処法

「仮想化が有効になっていない」エラー

原因:BIOSで仮想化(VT-x / AMD-V)がオフになっている。

対処:PCを再起動してBIOS/UEFI設定画面を開く(通常はF2またはDELキー)。そこで仮想化オプションをオンにする。

wsl --install が失敗する(古いWindowsの場合)

Windows 10 バージョン1903〜2004では、手動での有効化が必要な場合がある。

# PowerShell(管理者)で実行
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

再起動したら、WSL2 Linuxカーネル更新プログラムのパッケージをMicrosoftの公式サイトからインストールする。

# WSL2をデフォルトバージョンに設定
wsl --set-default-version 2

「WslRegisterDistribution failed with error: 0x80370102」

原因:Hyper-Vまたは仮想マシンプラットフォームがオフになっている。

対処:

# PowerShell(管理者)で実行
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

再起動後に再試行する。

パスワードを忘れた場合

# PowerShell(管理者)で rootユーザーとして起動
ubuntu config --default-user root

# WSL2内でパスワードを変更
passwd username

# デフォルトユーザーを元に戻す
ubuntu config --default-user username

上記コマンドの ubuntu の部分は、使用しているディストリビューション名に合わせること(例:ubuntu2404)。

次に読む

この記事を共有

次の一手