WSL2(Windows Subsystem for Linux 2)は、Windows 10 および Windows 11上で Linux ディストリビューションを実行するための互換レイヤーです。今や、Windowsにもとても簡単に「完全な」Linux環境を構築できるようになりました。以下にWSL2の概要、インストール方法、使い方を説明します。
WSL2の概要
-
仮想化技術の利用
WSL2は、Windows上でLinuxカーネルをネイティブに実行するために、軽量の仮想マシン(VM)技術を使用します。これにより、ファイルシステムのパフォーマンスが向上し、完全なLinuxカーネルが提供されます。
-
完全なLinuxカーネル
WSL2はMicrosoftが独自にメンテナンスするLinuxカーネルを使用しています。これにより、システムコールの完全な互換性が提供され、Dockerなどの高度なLinuxアプリケーションがネイティブに動作します。
-
高速なファイルシステムパフォーマンス
WSL2ではファイルシステムのパフォーマンスが大幅に改善されており、特にLinux内のファイルアクセスが高速化されています。
-
簡単なインストールとセットアップ
Windows 10の2004以降のバージョン、およびWindows 11で簡単にセットアップが可能です。Microsoft Storeから好きなLinuxディストリビューション(Ubuntu、Debianなど)をインストールできます。
WSL2のインストールとセットアップ
WSLの有効化
管理者権限のPowerShellまたはコマンドプロンプトを開き、以下のコマンドを実行してWSLを有効化します。
wsl --install
Windows11の場合、このコマンドだけで、以下4つの操作が実行されます。
- WSLと「仮想マシン プラットフォーム」を有効化する
- WSL2用Linuxカーネルをダウンロード・インストールする
- WSL2を既定のバージョンとする
- Ubuntuディストリビューションをダウンロード・インストールする
WSL2をデフォルトに設定
WSL2をデフォルトのバージョンとして設定するには、以下のコマンドを実行します。
wsl --set-default-version 2
Linuxディストリビューションのインストール
上記ステップ1で既にubuntuがインストールされていますが、追加で他にもMicrosoft Storeから好きなLinuxディストリビューションをインストールできます。例えば、Microsoft Storeを開いて、「Ubuntu」と検索すると、異なるバージョンのUbuntuもインストールできます。
DNS不具合の解決
WSL2 でインストールした ubuntu linux の DNS は 、WSL2起動時に自動的に仮想ネットワークの 172.25.112.1 等のアドレスになっている事があり、これによりDNSアドレス解決に失敗することがあります。そうなると、apt update
などでも Temporary failure resolving …
といったエラーが出てしまいます。
これを解決しましょう。
まず /etc/wsl.conf
に下記を追記して、/etc/resolv.conf
ファイルが自動更新されないようにします。
# /etc/wsl.conf
# 以下を追記
[network]
generateResolvConf=false
続いて、一旦コマンドプロンプトかPowerShellからWSLを再起動します。
# --shutdown で終了後自動的に再起動する
wsl --shutdown
DNSサーバーを指定するために /etc/resolv.conf
に nameserver のアドレスを設定します。
# /etc/resolv.conf
# ipconfig.exe /all 等で dnsサーバーのアドレスを調べて、それを指定
nameserver 192.168.xxx.xxx
# あるいは、googleのdns 8.8.8.8 を指定
# nameserver 8.8.8.8
WSL2の利用方法
Linuxシェルの起動
インストールしたディストリビューションのアイコンをクリックするか、PowerShellまたはコマンドプロンプトから以下のコマンドを実行してLinuxシェルを起動します。
wsl
ファイルシステムのアクセス
Windowsファイルシステムにアクセスするには、/mnt
ディレクトリを使用します。例えば、Cドライブは /mnt/c
にマウントされています。
逆に、WSLシステムのフォルダに Windows エクスプローラーからアクセスするには、エクスプローラーのアドレス欄に \\wsl$
と入力します。
まとめ
WSL2は、Windows上でLinux環境を提供するための強力なツールであり、開発者やLinuxユーザーにとって非常に便利です。仮想マシンの技術を利用しているため、パフォーマンスが向上し、より多くのLinuxアプリケーションがネイティブに動作します。設定やインストールも簡単で、Microsoft Storeから必要なディストリビューションを選択するだけで使用を開始できます。