Windows 11にWSL 2/Ubuntu 24.04をインストールする
代表取締役(CTO) 藤田「Windowsのアプリケーションを使わなくてはいけないのだけど、開発や研究はLinuxでやりたい!」 ということはないでしょうか?私はそのタイプです。
WSL2(Windows Subsystem for Linux 2)は、まさにそんな悩みを解決してくれるツールです。Windows上でネイティブに近いパフォーマンスでLinux環境を動作させることができ、WindowsとLinuxの良いとこ取りができます。
2010年代までMacを使っていた私ですが、今ではWindowsで快適に開発や研究ができています。
この記事では、Windows 11にWSL2と現時点での最新LTSであるUbuntu 24.04をインストールし、パフォーマンスを最適化する方法について解説します。
前提条件
- Windows 11 または Windows 10 version 2004以降(Build 19041以降)
公式要件 - Microsoft Learn - PowerShellの管理者権限
- WSL機能の有効化とインストールに必要です
- 仮想化機能が有効なCPU
- Intel VT-xまたはAMD-Vがサポートされている
- ハードウェア仮想化がBIOS/UEFIで有効化されている
Hyper-V要件 - Microsoft Learn
- 最低8GB以上のRAM(推奨16GB以上)
- Windows 11の最小要件は4GBですが、WSL 2は仮想マシンとして動作するためそれ以上のメモリが必要です
Windows 11要件
- Windows 11の最小要件は4GBですが、WSL 2は仮想マシンとして動作するためそれ以上のメモリが必要です
Step 1: WSL機能の有効化
PowerShellを管理者として実行
管理者権限でコマンドを実行する方法はいくつかあります。以下のいずれかの方法を選択してください。
方法1: スタートボタンから(推奨)
- 画面左下のWindowsロゴ(スタートボタン)を右クリック
- 表示されたメニューから「Windows Terminal(管理者)」または「PowerShell(管理者)」を選択
方法2: 検索から
- スタートボタンをクリックまたは
Win
キーを押す - 「terminal」または「powershell」と入力
- 検索結果の「Windows Terminal」または「PowerShell」を右クリック
- 「管理者として実行」を選択
青い画面(PowerShell)または黒い画面(コマンドプロンプト)が開けばOKです。
続いて、以下のコマンドを実行してWSLとVirtual Machine Platformを有効化します。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
有効化したらWindowsを再起動し、以下のコマンドを実行してWSL 2を既定バージョンに設定します。
wsl --set-default-version 2
Step 2: Ubuntu 24.04のインストール
Ubuntu 24.04のインストール
Ubuntu 24.04をインストールする方法は2つあります。どちらか1つを選択してください。(私はPowerShellでインストールしています)
方法1: Microsoft Storeからインストール
- Microsoft Storeを開く
- 「Ubuntu 24.04」を検索してインストール
方法2: PowerShellから直接インストール
wsl --install -d Ubuntu-24.04
初期設定
- Ubuntu 24.04を起動
- ユーザー名とパスワードを設定
- 初期アップデート:
sudo apt update && sudo apt upgrade -y
Step 3: Ubuntu 24.04をデフォルトディストリビューションに設定
まずは、現在のディストリビューションを確認します。
wsl --list --verbose
続いて、Ubuntu 24.04をデフォルトに設定します。
wsl --set-default Ubuntu-24.04
WSL 2の設定と最適化
WSL設定ファイル(.wslconfig)の最適化
Windowsのユーザーディレクトリに以下の内容で.wslconfig
ファイルを作成します。
# C:\Users\<username>\.wslconfig
[wsl2]
# メモリ制限(システムRAMの50-75%を推奨 / 下記はシステムRAMが16GBの例)
memory=8GB
# CPU使用可能数(システムCPUの75-100%を推奨 / 下記はシステムCPU数が16の例)
processors=12
# スワップファイルサイズ
swap=2GB
# ネストされた仮想化を有効化
nestedVirtualization=true
# WSL 2のローカルホストポートフォワーディング
localhostforwarding=true
# カーネルページキャッシュの圧縮を有効化
pageReporting=true
# GUI アプリケーションサポート
guiApplications=true
設定を反映するためにWSLを再起動します。
wsl --shutdown
ディスクパフォーマンスの問題と対策
問題:/mnt/c/以下へのアクセスが遅い
Windowsファイルシステム(/mnt/c/)へのアクセスは、Linuxネイティブファイルシステムよりもはるかに遅くなります。
対策: プロジェクトをLinuxファイルシステムに配置
# 推奨:Linuxホームディレクトリに作業フォルダ(下記例ではprojects)を作成
mkdir ~/projects
cd ~/projects
# 避けるべき:Windowsドライブでの作業
# cd /mnt/c/Users/username/projects # これは遅い
まとめ
WSL 2とUbuntu 24.04の組み合わせは、Windows上での開発環境として非常に強力です。重要なポイントは以下の4つです。
- プロジェクトはLinuxファイルシステム内で作業する(パフォーマンス向上)
- メモリとCPUリソースを適切に設定する
これらの設定により、WindowsアプリとネイティブLinuxに近いパフォーマンスでLinux開発環境を使えるのでかなり便利です。次回は構築したWSL環境をバックアップ、そしてアンインストールをする方法を記事にする予定です。