はい、承知いたしました。WSL2のインストールから初期設定までを詳細に解説する記事を作成します。図解記事として、各ステップの状況を言葉で丁寧に説明し、約5000語のボリュームを目指します。
【図解】WSL2のインストールから初期設定まで – WindowsでLinuxを動かす
Windows上でLinux環境を手軽かつ強力に利用できるWSL (Windows Subsystem for Linux)。その最新バージョンであるWSL2は、本格的なLinuxカーネルを搭載し、高いパフォーマンスと互換性を提供します。この記事では、WSL2をWindowsマシンにインストールし、基本的な初期設定を行うまでの手順を、初心者の方でも理解できるように詳細に解説します。
はじめに:WSL2とは?なぜ使うのか?
Windowsを使っているけれど、Linuxのコマンドラインツールを使いたい、開発環境としてLinuxが必要だ、といったニーズは少なくありません。これまでは、仮想マシンソフトウェア(VirtualBoxやVMwareなど)を使ったり、デュアルブート構成にしたりといった方法が一般的でした。しかし、これらの方法は設定が複雑だったり、Windowsとの連携が不便だったりといった課題がありました。
そこで登場したのが、Windows Subsystem for Linux、略して WSL です。
WSLは、Windows上でLinuxの実行ファイルを実行できるようにする互換レイヤーとして開発されました。最初のバージョンである WSL1 は、LinuxシステムコールをWindowsシステムコールに変換することで実現されていました。これにより、Linuxの多くのコマンドやツールをWindows上で直接実行できるようになりました。しかし、Linuxカーネルそのものを実行しているわけではなかったため、一部のシステムコールが未実装だったり、ファイルアクセスのパフォーマンスに課題があったりしました。
そして登場したのが、この記事の主役である WSL2 です。
WSL2 は、軽量な仮想マシン内で 本物のLinuxカーネル を実行します。これにより、WSL1の互換性やパフォーマンスの課題が大きく改善されました。具体的には、以下のようなメリットがあります。
- 高い互換性: 本物のLinuxカーネルが動作するため、WSL1では実行できなかったアプリケーションやシステム機能もほぼそのまま利用できます。DockerなどもWSL2上でネイティブに近いパフォーマンスで動作させることができます。
- 優れたパフォーマンス: 特にファイルI/O性能が大幅に向上しました。Linuxファイルシステム内でのファイルの読み書きが高速です。
- Windowsとの高い連携: Windowsのファイルシステムへのアクセスや、WSL2からWindowsアプリケーションを実行したり、その逆を行ったりするのも容易です。ネットワークもWindowsと共有されます。
- GUIアプリケーションのサポート (WSLg): Windows 11では標準で、Windows 10でもアップデートにより、WSL2上でLinuxのGUIアプリケーションを動かすことができるようになりました。
これらのメリットから、WSL2はWeb開発、データサイエンス、システム管理など、様々な分野でWindowsユーザーがLinux環境を利用するための最も推奨される方法となっています。
この記事では、WSL2のインストールから、初めてのLinux環境の設定、さらにはVS Code連携やGUIアプリの実行といった基本的な使い方までを網羅します。詳細な手順を追って、あなたのWindowsマシンに強力なLinux環境を構築しましょう。
1. WSL2のシステム要件を確認する
WSL2をインストールする前に、お使いのWindowsマシンが以下のシステム要件を満たしているか確認しましょう。
-
Windowsのバージョン:
- Windows 11 (任意のバージョン)
- Windows 10, バージョン 1903 以降、ビルド 18362 以降
お使いのWindowsのバージョンとビルド番号を確認するには、「設定」を開き、「システム」→「バージョン情報」と進みます。「Windowsの仕様」セクションに記載されています。図で示すと、「Windowsの仕様」の下に「エディション」「バージョン」「OSビルド」などが表示されている箇所を確認します。
-
Windows Update:
WSL2を安定して利用するためには、Windowsが最新の状態にアップデートされていることが推奨されます。設定アプリからWindows Updateを実行し、保留中のアップデートをすべて適用しておきましょう。 -
仮想化機能の有効化:
WSL2は仮想化技術(Hyper-V)を利用するため、CPUの仮想化機能がBIOS/UEFI設定で有効になっている必要があります。ほとんどの最近のPCではデフォルトで有効になっていますが、念のため確認しておくと安心です。- BIOS/UEFI設定: PC起動時に特定のキー(F2, Del, F10, F12など、メーカーによって異なります)を押してBIOS/UEFI設定画面に入ります。設定項目の中に「Virtualization Technology」や「Intel VT-x」「AMD-V」といった名前の項目があれば、それを「Enabled」(有効)に設定します。図で示すと、通常は「Advanced」や「Configuration」といったメニューの中にあります。設定変更後は忘れずに保存して再起動してください。
- Windows機能の有効化: Windowsの機能としても、「仮想マシン プラットフォーム」が有効になっている必要があります。通常、WSL2のインストールプロセス中に自動で有効化されますが、手動で確認・有効化することも可能です。後述する手動でのインストール手順で詳しく説明します。
-
ハードウェア要件:
WSL2自体は比較的軽量ですが、実行するLinuxディストリビューションやアプリケーション、仮想マシンとしてのリソース(メモリ、ストレージ)が必要です。- メモリ: 4GB以上のメモリが推奨されます。より多くのメモリがあれば、複数のディストリビューションを起動したり、メモリを多く消費するアプリケーションを実行したりする際に快適になります。
- ストレージ: Linuxディストリビューションのインストールに数GB、さらに開発ツールやデータなどを保存するために追加の容量が必要です。SSDにインストールすると、パフォーマンスが向上します。
これらの要件を満たしていることを確認したら、いよいよWSL2のインストールに進みます。
2. WSL2のインストール:最も簡単な方法 (wsl --install
)
Windows 10 バージョン 2004 (ビルド 19041) 以降、および Windows 11 では、WSL2のインストールプロセスが非常に簡略化されました。管理者権限を持つコマンドプロンプトまたはPowerShellを開き、たった一つのコマンドを実行するだけで、WSL2の有効化、必要なコンポーネントのダウンロード、そしてデフォルトのLinuxディストリビューション(通常はUbuntu)のインストールまでが自動的に行われます。
この方法が最も簡単で推奨される手順です。
手順
-
管理者権限でコマンドプロンプトまたはPowerShellを開く
- Windowsのスタートボタンを右クリックします。
- 表示されるメニューの中から「Windows ターミナル (管理者)」「PowerShell (管理者)」または「コマンドプロンプト (管理者)」を選択します。(図で示すと、右クリックメニューで選択肢が表示されている箇所)
- ユーザーアカウント制御(UAC)のダイアログが表示されたら、「はい」をクリックして許可します。
-
インストールコマンドを実行する
開いた管理者権限のターミナルウィンドウで、以下のコマンドを入力し、Enterキーを押します。
bash
wsl --install図で示すと、コマンドを入力してEnterキーを押した後の、コマンドが実行されている様子のウィンドウが表示されます。
-
インストールの進行と完了を待つ
コマンドを実行すると、以下のような処理が自動的に行われます。
- WSLオプション機能の有効化(Windows機能の有効化)
- 仮想マシン プラットフォーム機能の有効化(Windows機能の有効化)
- WSL Linuxカーネルのダウンロードとインストール
- Ubuntuディストリビューションのダウンロードとインストール(デフォルトの場合)
これらの処理には数分から数十分かかる場合があります。ネットワーク環境やPCの性能によって時間は変動します。画面には、各ステップの進行状況を示すメッセージが表示されます。「Downloading…」「Installing…」といった表示が続きます。
全てのダウンロードとインストールが完了すると、コンピュータの 再起動 が求められます。画面に「The requested operation is successful. Changes will not be effective until the system is restarted.」のようなメッセージが表示される場合があります。
図で示すと、コマンド実行が完了し、再起動を促すメッセージが表示されている画面が表示されます。
-
コンピュータを再起動する
開いているアプリケーションをすべて保存・終了し、コンピュータを再起動します。
再起動後、WSL2が有効化され、選択した(またはデフォルトの)Linuxディストリビューションがインストールされた状態になっています。
-
Linuxディストリビューションの初回起動と初期設定
再起動後、自動的に、あるいは手動でインストールしたLinuxディストリビューション(例:Ubuntu)のウィンドウが開きます。このウィンドウが初回起動の設定画面です。
次のセクションで、この初回起動時の設定(ユーザー名とパスワードの設定)について詳しく説明します。
これで、最も簡単な方法でのWSL2のインストールは完了です。
3. WSL2のインストール:手動での詳細な方法
もし wsl --install
コマンドが利用できない場合(古いバージョンのWindowsなど)や、インストールプロセスをより詳細に理解したい場合は、以下の手動によるインストール手順を実行します。この手順は、wsl --install
が内部で行っていることとほぼ同じです。
手順
-
WSLを有効化する
- Windowsの検索バーに「Windows 機能の有効化または無効化」と入力し、表示されるプログラムを開きます。(図で示すと、検索バーに文字を入力し、検索結果が表示されている画面)
- 「Windows 機能の有効化または無効化」ウィンドウが表示されます。このリストの中から 「Linux 用 Windows サブシステム」 を見つけ、左側のチェックボックスをオンにします。(図で示すと、「Linux 用 Windows サブシステム」のチェックボックスがオンになっている箇所)
- 「OK」をクリックします。Windowsが必要なファイルを検索・適用します。
-
仮想マシン プラットフォームを有効化する
WSL2は軽量な仮想マシン上で動作するため、「仮想マシン プラットフォーム」というWindowsの機能が必要です。
- 「Windows 機能の有効化または無効化」ウィンドウを再度開きます(手順1と同じ方法)。
- リストの中から 「仮想マシン プラットフォーム」 を見つけ、左側のチェックボックスをオンにします。(図で示すと、「仮想マシン プラットフォーム」のチェックボックスがオンになっている箇所)
- 「OK」をクリックします。
これらの機能を有効化した後、 コンピュータの再起動 が求められる場合があります。画面の指示に従って再起動してください。
図で示すと、「Windows 機能の有効化または無効化」ウィンドウで2つの項目にチェックが入っている画面が表示されます。
-
WSL2 Linuxカーネル更新プログラムパッケージをダウンロードしてインストールする
WSL2を実行するには、専用のLinuxカーネルが必要です。このカーネルはWindows Updateとは別に提供されています。
- 以下のMicrosoftの公式ダウンロードページにアクセスします。
WSL2 Linux カーネル更新プログラム パッケージ - リンクをクリックして、
wsl_update_x64.msi
ファイルをダウンロードします。(図で示すと、ダウンロードが開始されている様子や、ダウンロード完了通知が表示されている画面) - ダウンロードした
wsl_update_x64.msi
ファイルを実行します。インストーラーが起動します。(図で示すと、インストーラーのウィンドウが表示されている画面) - 画面の指示に従ってインストールを進めます。特別な設定は不要です。「Next」をクリックし、インストールが完了するまで待ちます。「Finish」が表示されたら完了です。
重要: インストール中にユーザーアカウント制御(UAC)のダイアログが表示されたら、「はい」をクリックして許可してください。
- 以下のMicrosoftの公式ダウンロードページにアクセスします。
-
WSL2をデフォルトバージョンとして設定する
新しいLinuxディストリビューションをインストールする際に、デフォルトでWSL2として動作するように設定します。
- 管理者権限は不要です。通常のコマンドプロンプトまたはPowerShellを開きます。(図で示すと、通常のユーザー権限のターミナルウィンドウ)
- 以下のコマンドを入力し、Enterキーを押します。
bash
wsl --set-default-version 2- コマンドが成功すると、「WSL 2 との主な違いについては https://aka.ms/wsl2 を参照してください」のようなメッセージが表示されます。
- 「WSL 2 requires an update to its kernel component. Please run ‘wsl –update’」のようなメッセージが表示された場合は、前の手順のカーネル更新プログラムのインストールがうまくいっていない可能性があります。再度実行するか、
wsl --update
コマンドを試してみてください。(Windows 10 バージョン 2004 以降ではwsl --update
も利用可能です)
図で示すと、
wsl --set-default-version 2
コマンドの実行結果が表示されている画面。 -
Linuxディストリビューションをインストールする
WSLの基盤とWSL2カーネルの準備ができました。最後に、利用したいLinuxディストリビューションをインストールします。最も一般的な方法はMicrosoft Storeを利用することです。
-
Microsoft Storeからインストールする
- Windowsの検索バーに「Microsoft Store」と入力し、アプリを開きます。(図で示すと、検索バーに文字を入力し、検索結果からMicrosoft Storeを選択する様子)
- Microsoft Storeアプリが開いたら、検索バーに「WSL」またはディストリビューション名(例: Ubuntu, Debian, Kali Linux, openSUSE, Alpine Linuxなど)を入力して検索します。(図で示すと、Microsoft Storeの検索バーに「Ubuntu」と入力して検索している画面)
- 目的のLinuxディストリビューションを選択し、製品ページを開きます。
- 「入手」または「インストール」ボタンをクリックします。(図で示すと、ディストリビューションの製品ページで「入手」ボタンが表示されている箇所)
- ダウンロードとインストールが自動的に行われます。
-
手動でインストールする (.appx ファイル)
Microsoft Storeが利用できない環境などでは、手動でダウンロードしたファイルからインストールすることも可能です。これはやや高度な方法ですが、特定のバージョンを使いたい場合などに便利です。- 以下のリンクから、目的のディストリビューションの
.appx
ファイルをダウンロードします。- Ubuntu 20.04 LTS: https://aka.ms/wslubuntu2004
- Ubuntu 22.04 LTS: https://aka.ms/wslubuntu2204
- Debian: https://aka.ms/wsl-debian-gnulinux
- Kali Linux: https://aka.ms/wsl-kali-linux
- …その他、Microsoftの公式ドキュメントでダウンロードリンクが提供されています。
- ダウンロードした
.appx
ファイルのあるフォルダを開きます。 - ファイル名を
.zip
に変更します。(例:Ubuntu_2004.2020.424.0_x64.appx
をUbuntu_2004.2020.424.0_x64.zip
に) - 変更した
.zip
ファイルを右クリックし、「すべて展開…」を選択して、任意のフォルダ(例:C:\wsl_distros\Ubuntu2004
)に展開します。(図で示すと、展開先のフォルダを指定するウィンドウ) - 管理者権限でPowerShellを開きます。
- 展開したフォルダに移動します。
powershell
cd C:\wsl_distros\Ubuntu2004 -
以下のコマンドでディストリビューションを登録します。(
ubuntu2004.exe
は展開された実行ファイル名、C:\wsl_distros\Ubuntu2004
はインストール先フォルダ、--version 2
はWSL2として登録することを示します)
powershell
.\ubuntu2004.exe --import <ディストリビューション名> <インストール先パス> <tarファイルへのパス> --version 2
より簡単な方法としては、.appx
を実行してインストールし、その後wsl --set-version <ディストリビューション名> 2
コマンドでWSL2に変換する方法もあります。
単純に.appx
ファイルをダブルクリックして実行すると、デフォルトでインストールされることが多いです。インストール後、PowerShellやコマンドプロンプトで以下のコマンドを実行し、インストールされたディストリビューションをWSL2に変換します。bash
wsl --list --verbose
(インストールされているディストリビューションとそのバージョン(1か2)を確認できます。図で示すと、ディストリビューション名とSTATE、VERSIONが表示されているリスト)bash
wsl --set-version <ディストリビューション名> 2
(例:wsl --set-version Ubuntu-20.04 2
)変換には時間がかかる場合があります。変換が完了すると、「変換が完了しました。」のようなメッセージが表示されます。
- 以下のリンクから、目的のディストリビューションの
-
これで、手動でのWSL2のインストールは完了です。選択したディストリビューションが利用可能になります。
4. インストールされたLinuxディストリビューションの初回起動と初期設定
WSL2のインストールが完了し、Linuxディストリビューション(ここではUbuntuを例に進めます)が準備できたら、初回起動時の設定を行います。
-
Linuxディストリビューションを起動する
wsl --install
でインストールした場合、再起動後に自動的にディストリビューションのウィンドウが開きます。- 手動でインストールした場合や、後から起動したい場合は、Windowsのスタートメニューからインストールしたディストリビューション名(例: Ubuntu)を探してクリックします。(図で示すと、スタートメニューのアプリ一覧に「Ubuntu」が表示されている箇所)
- または、コマンドプロンプトやPowerShellでディストリビューション名を直接入力してEnterキーを押すことでも起動できます(例:
ubuntu
)。
-
初回セットアップ:ユーザー名とパスワードの設定
初めてディストリビューションを起動すると、初期設定が始まります。
- 最初に、必要なファイルが展開されます。「Installing, this may take a few minutes…」のようなメッセージが表示されます。
- 次に、UNIX username の入力を求められます。(図で示すと、「Enter new UNIX username:」というプロンプトが表示されている画面)
- ここで設定するユーザー名は、Windowsのユーザー名とは独立した、WSL内のLinux環境で使用するユーザー名です。好きな名前を設定できます(半角英数字推奨)。入力したらEnterキーを押します。
- 続いて、New password の入力を求められます。(図で示すと、「New password:」というプロンプトが表示されている画面)
- このパスワードは、先ほど設定したユーザーのパスワードです。今後、Linux環境で
sudo
コマンドなど権限が必要な操作を行う際に使用します。セキュリティのため、推測されにくいパスワードを設定しましょう。入力しても画面には文字が表示されませんが、入力されています。入力したらEnterキーを押します。
- このパスワードは、先ほど設定したユーザーのパスワードです。今後、Linux環境で
- 確認のため、Retype new password の入力を再度求められます。同じパスワードをもう一度入力し、Enterキーを押します。
パスワードの設定に成功すると、「passwd: password updated successfully」のようなメッセージが表示され、設定したユーザーとしてLinuxのコマンドプロンプト(シェル)が表示されます。(図で示すと、ユーザー名@コンピュータ名:~$ のようなプロンプトが表示され、コマンド入力待ちの状態になっている画面)
これで、WSL2内のLinux環境の基本的なセットアップは完了です!コマンドを入力してLinux環境を操作できるようになりました。
-
基本的なコマンド操作とパッケージ更新
コマンドプロンプトが表示されたら、いくつか基本的な操作をしてみましょう。
-
現在のユーザー名を確認:
bash
whoami
(設定したユーザー名が表示されるはずです) -
現在のディレクトリを確認:
bash
pwd
(ホームディレクトリ/home/<ユーザー名>
が表示されるはずです) -
ディレクトリ内のファイルを確認:
bash
ls -l
Linux環境を使い始める上で、最も重要な最初のステップは、インストールされているパッケージ情報を最新の状態に更新することです。これには
apt
というパッケージマネージャー(UbuntuやDebianの場合)を使用します。-
パッケージリストの更新:
インターネットに接続し、利用可能なパッケージのリストを最新の状態に更新します。これには管理者権限が必要なため、sudo
コマンドを頭に付けて実行します。
bash
sudo apt update
コマンド実行後、パスワードの入力を求められます。先ほど設定したユーザーのパスワードを入力し、Enterキーを押します。(入力しても文字は表示されません)
図で示すと、パスワード入力プロンプトが表示されている画面、またはコマンド実行後にパッケージ情報のダウンロードが進行している画面。 -
インストール済みパッケージのアップグレード:
apt update
で取得した最新情報に基づいて、インストール済みのパッケージを新しいバージョンにアップグレードします。
bash
sudo apt upgrade
アップグレードされるパッケージのリストと、必要なディスク容量が表示されます。続行するか尋ねられたら(Do you want to continue? [Y/n]
)、y
を入力してEnterキーを押します。(図で示すと、アップグレードされるパッケージリストが表示され、[Y/n]で入力を待っている画面)
アップグレードには時間がかかる場合があります。完了すると、再びコマンドプロンプトが表示されます。
sudo apt update
とsudo apt upgrade
は、Linux環境を使い始める際の「おまじない」のようなものです。定期的に実行することで、システムを最新の状態に保ち、セキュリティの向上や新機能の利用が可能になります。 -
5. WSL2の基本的な使い方と設定
WSL2環境のインストールと初期設定が完了しました。次に、Windowsとの連携や便利な使い方をいくつか紹介します。
5.1. Windowsファイルシステムへのアクセス
WSL2のLinux環境から、Windows側のファイルに簡単にアクセスできます。Windowsの各ドライブは、WSL内の /mnt
ディレクトリ以下にマウントされています。
- Cドライブ:
/mnt/c
- Dドライブ:
/mnt/d
(もしあれば)
例: Windowsのデスクトップフォルダ (C:\Users\YourUserName\Desktop
) にアクセスするには、WSLターミナルで以下のように移動します。
bash
cd /mnt/c/Users/YourUserName/Desktop
(YourUserName
は実際のWindowsのユーザー名に置き換えてください)
図で示すと、cd /mnt/c/...
コマンドを実行して、Windowsのディレクトリに移動し、ls
コマンドでファイルリストが表示されている画面。
5.2. WSLファイルシステムへのアクセス
逆に、Windows側からWSL内のファイルにアクセスすることも可能です。Windowsのエクスプローラーを開き、アドレスバーに \\wsl$
と入力してEnterキーを押します。
\\wsl$
これにより、インストールされているWSLディストリビューション(例: Ubuntu-22.04)がネットワークドライブのように表示されます。ダブルクリックして開き、WSL内のルートファイルシステムやホームディレクトリ (\\wsl$\Ubuntu-22.04\home\YourLinuxUserName
) にアクセスできます。
図で示すと、Windowsエクスプローラーのアドレスバーに \\wsl$
と入力し、インストールされているディストリビューションのフォルダが表示されている画面。フォルダを開くと、Linuxのファイルツリーが見える様子。
5.3. WSLコマンドの利用
WindowsのコマンドプロンプトやPowerShellから、wsl
コマンドを使ってWSLの管理や操作ができます。
-
インストールされているディストリビューションのリスト表示:
bash
wsl --list --verbose
# または wsl -l -v (略記)
(インストールされているディストリビューション名、状態(Running/Stopped)、バージョン(1/2)が表示されます。図で示すと、wsl -l -v
コマンドの実行結果リストが表示されている画面) -
WSLを完全に終了する:
全てのディストリビューションを停止します。メモリ使用量を解放したい場合などに使います。
bash
wsl --shutdown -
特定のディストリビューションを終了する:
bash
wsl --terminate <ディストリビューション名>
# 例: wsl --terminate Ubuntu-22.04 -
WSL1とWSL2の間でバージョンを変換する:
bash
wsl --set-version <ディストリビューション名> <1または2>
# 例: wsl --set-version Ubuntu-20.04 2 -
デフォルトのディストリビューションを設定する:
wsl
コマンドだけでWSLを起動した際に開くディストリビューションを指定します。
bash
wsl --set-default <ディストリビューション名>
# 例: wsl --set-default Debian
これらのコマンドは、WSL環境を効率的に管理するために非常に役立ちます。
5.4. VS Codeとの連携 (Remote – WSL)
開発者の多くが利用するVisual Studio Code (VS Code) は、WSLとの強力な連携機能を持っています。Remote – WSL拡張機能を使うことで、WSL環境内でコードを実行・デバッグしながら、Windows側のVS Codeの快適なUIを利用できます。
-
VS Codeをインストールする:
まだインストールしていない場合は、VS Code公式サイト からダウンロードしてインストールします。 -
Remote – WSL拡張機能をインストールする:
VS Codeを開き、拡張機能ビュー(左側のアクティビティバーの四角いアイコン)を開きます。検索バーに「Remote – WSL」と入力し、表示される拡張機能をインストールします。(図で示すと、VS Codeの拡張機能ビューでRemote – WSLを検索し、「Install」ボタンが表示されている箇所) -
WSL環境でVS Codeを開く:
WSLターミナルを開き、プロジェクトフォルダなど、VS Codeで開きたいディレクトリに移動します。
bash
cd ~/my-project
そのディレクトリで以下のコマンドを実行します。
bash
code .
(図で示すと、WSLターミナルでcode .
コマンドを実行している画面)初めてこのコマンドを実行した場合、VS CodeのサーバーコンポーネントがWSL環境にインストールされます。これには少し時間がかかります。インストールが完了すると、Windows側にVS Codeウィンドウが開き、WSL内のそのディレクトリが開かれた状態になります。
図で示すと、Windows上に開いたVS Codeウィンドウで、左下隅に「WSL: Ubuntu-22.04」のように、WSL環境に接続されていることを示すステータスが表示されている画面。
これで、WSL環境をバックエンドとして、WindowsのVS Codeでシームレスに開発できるようになります。ターミナルはWSLのシェルに接続され、デバッガーなどもWSL側で実行されます。
5.5. GUIアプリケーションの実行 (WSLg)
Windows 11では標準で、Windows 10でも特定のバージョンからは、WSL2上でLinuxのGUIアプリケーションを実行できる WSLg という機能が利用できます。これにより、Linuxのデスクトップアプリ(ブラウザ、IDE、GUIエディタなど)を、あたかもWindowsアプリのように起動して利用できます。
WSLgは、WSL2のインストール時に自動的に有効化されることがほとんどです。特別な設定は不要な場合が多いです。
GUIアプリケーションのインストールと実行例:
例として、簡単なテキストエディタである gedit
をインストールして起動してみましょう。
-
WSLターミナルを開く
-
gedit
をインストールする:
bash
sudo apt update
sudo apt install gedit -y
(図で示すと、sudo apt install gedit -y
コマンドを実行し、インストールが進行している画面) -
gedit
を起動する:
bash
gedit
(図で示すと、WSLターミナルでgedit
コマンドを実行し、Windows上にgedit
のウィンドウが表示されている様子)
gedit
のウィンドウがWindowsデスクトップ上に表示され、通常通りGUIアプリケーションとして操作できます。他のGUIアプリケーション(例: Firefox, LibreOffice, GIMPなど)も同様にインストールして実行可能です。
注意点: GUIアプリケーションの実行には、WSL2のバージョンやWindowsのバージョンが特定のビルド以降である必要があります。また、初回起動には少し時間がかかる場合があります。
6. トラブルシューティング:よくある問題とその対処法
WSL2のインストールや利用中に遭遇する可能性のある、いくつかの一般的な問題とその解決策を紹介します。
6.1. wsl --install
が失敗する場合
- 管理者権限で実行していない: コマンドプロンプトやPowerShellを必ず「管理者として実行」してください。
- Windowsのバージョンが古い: WSL2に対応していないバージョン(Windows 10 バージョン 1903未満など)では実行できません。Windows Updateで最新の状態にしてください。
- インターネット接続がない: インストールプロセスではコンポーネントやディストリビューションをダウンロードするため、インターネット接続が必要です。
- 手動での手順を試す:
wsl --install
がうまくいかない場合は、セクション3で説明した手動でのインストール手順(Windows機能の有効化、カーネル更新プログラムのインストール、WSL2バージョンの設定、ディストリビューションのインストール)を個別に実行してみてください。各ステップでどこに問題があるか特定しやすくなります。
6.2. 仮想化機能が有効にならない場合
- BIOS/UEFI設定: PCのBIOS/UEFI設定で仮想化機能(Intel VT-x / AMD-V)が「Enabled」になっているか確認してください。無効になっている場合は有効にして保存・再起動します。
- Hyper-Vまたは仮想マシン プラットフォームの有効化: Windows機能の有効化で「Hyper-V」(Pro/Enterprise版の場合)または「仮想マシン プラットフォーム」にチェックが入っているか確認してください。入っていない場合はチェックを入れて再起動します。
- 他の仮想化ソフトウェアとの競合: VMwareやVirtualBoxなど、他の仮想化ソフトウェアがインストールされている場合、設定によっては競合する可能性があります。可能であれば一時的に無効にしたり、設定を見直したりしてください。
- 「Hypervisor launch failed」エラー: Hyper-Vや仮想マシン プラットフォームが有効でもこのエラーが出る場合、セキュアブートの設定や他の要因が考えられます。コマンドプロンプト(管理者として)で
bcdedit /set hypervisorlaunchtype auto
を実行して再起動を試みてください。
6.3. ネットワーク接続の問題
WSL2はWindowsとネットワーク設定を共有しますが、稀に問題が発生することがあります。
- WSLを再起動する: コマンドプロンプトで
wsl --shutdown
を実行し、再度WSLを起動してみてください。 - Windowsネットワークアダプターの設定確認: Windowsのネットワークアダプター設定で、WSLが使用する仮想ネットワークアダプター(通常「vEthernet (WSL)」のような名前)が有効になっているか確認してください。
- ファイアウォールの確認: WindowsファイアウォールやセキュリティソフトがWSLの通信をブロックしていないか確認してください。
- DNS設定: WSL内の
/etc/resolv.conf
ファイルに記載されているDNSサーバーの設定が正しいか確認してください。このファイルは通常Windowsの設定に基づいて自動生成されますが、手動で変更されたり、正しく生成されなかったりする場合があります。
6.4. WSL2が起動しない/遅い場合
- WSLを再起動する:
wsl --shutdown
を実行し、再起動します。 - リソースの確認: タスクマネージャーで、WSL関連プロセス(
vmmem
など)が過剰なCPUやメモリを使用していないか確認します。必要であれば、後述する.wslconfig
ファイルでリソース制限を設定します。 - ディスク容量: WSLの仮想ハードディスクファイル(デフォルトでは
%LOCALAPPDATA%\Packages\<ディストリビューション名>\LocalState\ext4.vhdx
)の容量が不足していないか確認します。 - Linuxファイルシステムの断片化: WSL2の仮想ハードディスクは時間とともに断片化する可能性があります。PowerShell(管理者として)で
optimize-vhd -Path "C:\Users\YourUserName\AppData\Local\Packages\<ディストリビューション名>\LocalState\ext4.vhdx" -Mode Full
のようなコマンドで最適化を試みることができます(パスは適宜修正してください)。
6.5. ユーザー名/パスワードを忘れた場合
- パスワードリセット: ディストリビューションのウィンドウを開き、「I forgot my password.」のようなメッセージが表示されたら指示に従うか、あるいは管理者権限でWSLターミナルを開き、特定のディストリビューションをルートユーザーで起動してパスワードをリセットします。
bash
wsl -d <ディストリビューション名> -u root
ルートユーザーとして起動したら、以下のコマンドで任意のユーザーのパスワードを変更できます。
bash
passwd <ユーザー名>
新しいパスワードを2回入力すれば完了です。
6.6. ディスク容量の問題
WSL2の仮想ハードディスクファイル(.vhdx)はデフォルトで最大サイズが決まっていますが、使用量に応じて動的に拡張します。しかし、一度拡張された容量は、ファイルが削除されてもすぐには縮小しません。ディスク容量がひっ迫してきた場合は、以下の手順で仮想ハードディスクファイルを最適化し、未使用領域を解放できます。
-
WSLを完全にシャットダウンする:
bash
wsl --shutdown -
仮想ハードディスクファイルの場所を確認する:
デフォルトの場所は%LOCALAPPDATA%\Packages\<ディストリビューション名>\LocalState\ext4.vhdx
です。<ディストリビューション名>
はwsl -l
で確認できる名前です(例:Ubuntu-22.04
)。 -
仮想ハードディスクファイルを最適化する:
PowerShellを管理者として開きます。以下のコマンドを実行します。(<パス>
は実際の.vhdx
ファイルのフルパスに置き換えてください)
powershell
Optimize-VHD -Path "<パス>\ext4.vhdx" -Mode Full
# 例: Optimize-VHD -Path "C:\Users\YourUserName\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04_79rhkq1wyadp\LocalState\ext4.vhdx" -Mode Full
最適化には時間がかかる場合があります。完了すると、物理的なファイルサイズが小さくなっているはずです。
7. WSL2の詳細設定 (.wslconfig)
WSL2の動作に関する詳細な設定は、Windowsのユーザーホームディレクトリに作成する .wslconfig
というファイルで行うことができます。このファイルを使って、WSL2が使用するメモリやCPUの制限、ネットワーク設定などをカスタマイズできます。
-
.wslconfig
ファイルを作成または編集する:
Windowsのエクスプローラーを開き、ユーザーホームディレクトリ(通常C:\Users\YourUserName
)に移動します。
このディレクトリに.wslconfig
という名前のファイルを作成します。既に存在する場合は、そのファイルをテキストエディタ(メモ帳、VS Codeなど)で開きます。 -
設定を記述する:
.wslconfig
ファイルはINIファイル形式で記述します。主要な設定項目は[wsl2]
セクションの中に記述します。例: メモリ使用量を4GB、使用するCPUコア数を2つに制限する設定
ini
[wsl2]
memory=4GB # WSL2 VMに割り当てるメモリの最大量
processors=2 # WSL2 VMに割り当てる仮想プロセッサ数その他の主な設定項目:
swap
: スワップファイルに使用するディスク容量 (例:swap=2GB
)swapfile
: スワップファイルのパス (例:swapfile=C:\\temp\\wsl-swap.vhdx
)localhostForwarding
: Windows上のポートへの転送を有効/無効 (デフォルト:true
) (例:localhostForwarding=false
)kernel
: 使用するカスタムカーネルのパスguiApplications
: GUIアプリケーションのサポートを有効/無効 (Windows 10で無効化したい場合など) (例:guiApplications=false
)
より詳細な設定項目については、Microsoftの公式ドキュメントを参照してください。
-
設定を適用する:
.wslconfig
ファイルを保存したら、設定を反映させるために WSLを完全にシャットダウン する必要があります。
bash
wsl --shutdown
次回WSLを起動した際に、新しい設定が適用されます。
.wslconfig
ファイルを使うことで、WSL2がWindowsのリソースを過剰に消費するのを防いだり、特定の環境に合わせてパフォーマンスを調整したりできます。
8. WSL2のアンインストール
WSLまたは特定のLinuxディストリビューションが不要になった場合は、アンインストールすることも可能です。
-
特定のLinuxディストリビューションをアンインストールする:
インストールしたディストリビューションは、通常のWindowsアプリケーションと同様に「設定」アプリからアンインストールできます。- Windowsの「設定」を開きます。
- 「アプリ」→「アプリと機能」と進みます。(図で示すと、「アプリと機能」の一覧が表示されている画面)
- インストールされているアプリの一覧から、アンインストールしたいLinuxディストリビューション(例: Ubuntu 22.04 LTS)を探します。
- それをクリックし、「アンインストール」ボタンをクリックします。確認のダイアログが表示されたら、再度「アンインストール」をクリックします。
これにより、そのディストリビューションの全てのファイルとデータが削除されます。
-
WSL(Windows Subsystem for Linux)自体をアンインストールする:
WSLの基盤機能が不要になった場合は、「Windows 機能の有効化または無効化」から無効化します。- Windowsの検索バーに「Windows 機能の有効化または無効化」と入力し、開きます。
- リストの中から「Linux 用 Windows サブシステム」を見つけ、左側のチェックボックスをオフにします。
- 「OK」をクリックし、必要な場合はコンピュータを再起動します。
また、WSL2の基盤である「仮想マシン プラットフォーム」も不要であれば同様に無効化できます。
9. まとめ
この記事では、Windows上で強力なLinux環境を実現するWSL2について、そのインストールから基本的な初期設定、さらにはWindowsとの連携方法までを詳細に解説しました。
- WSL2のメリット: 本物のLinuxカーネルによる高い互換性とパフォーマンス、Windowsとの優れた連携。
- インストール方法: 簡単な
wsl --install
コマンド、または手動でのステップバイステップの手順。 - 初期設定: 初回起動時のユーザー名・パスワード設定、パッケージリストの更新とアップグレード。
- 基本的な使い方: Windows/WSL間のファイルアクセス、便利な
wsl
コマンド、VS Code連携、GUIアプリケーションの実行。 - トラブルシューティング: よくある問題とその対処法。
- 詳細設定:
.wslconfig
ファイルによるリソース制限など。
WSL2を導入することで、Windowsの使い慣れた環境を維持したまま、Linuxの豊富なコマンドラインツール、開発環境、さらにはGUIアプリケーションまでをシームレスに利用できるようになります。Web開発、プログラミング学習、サーバー管理、データ分析など、様々な用途でその真価を発揮するでしょう。
この記事の手順を参考に、あなたのWindowsマシンに最適なWSL2環境を構築し、Linuxの世界を自由に探索してください。もし途中で問題が発生しても、トラブルシューティングのセクションやMicrosoftの公式ドキュメントが助けになるはずです。
WSL2を使いこなして、あなたの開発や学習の効率を飛躍的に向上させましょう!