ミルクせんせーのブログ

WSLメモ

登録日:
Windows WSL

目次

基本情報

WSL2のインストールと有効化

Windows 10 v2004以降、またはWindows 11 の場合は、手順 5から実施でOK。

1. Linux用 Windowsサブシステムを有効にする

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

2. 仮想マシンの機能を有効にする

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

3. Linuxカーネル更新プログラムパッケージをインストールする

4. WSL2を既定のバージョンとして設定する

wsl --set-default-version 2

5. インストール可能な一覧

wsl --list --online

※ 2024年 3月現在

NAME FRENDLY 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
OracleLinux_7_9 OracleLinux 7.9
OracleLinux_8_7 OracleLinux 8.7
OracleLinux_9_1 OracleLinux 9.1
openSUSE-Leap-15.5 openSUSE Leap 15.5
SUSE-Linux-Enterprise-Server-15-SP4 SUSE Linux Enterprise Server 15 SP4
SUSE-Linux-Enterprise-15-SP5 SUSE Linux Enterprise 15 SP5
openSUSE-Tumbleweed openSUSE Tumbleweed

6. Linuxのインストール(Debianの場合)

1~4までの手順を飛ばした場合は、こちらのコマンドから実行する

wsl --install

ディストリビュージョンのインストール

wsl --install -d Debian

7. WSLの仮想環境設定

MicroSoft Docs - WSLでの詳細設定の構成

WSL2 で実行されているインストール済みディストリビューション全体で設定をグローバルに構成する場合は、.wslconfig ファイルを %USERPROFILE% に作成し、各パラメータを記述する。

ファイルパス:%USERPROFILE%.wslconfig

wslconfigパラメータ説明

設定 規定値 説明
memory Windowsの物理メモリの50%or8GBで少ない方 WSL2に割り当てるメモリ量。MB,GBで指定。
processors WindowsのCPU数 WSL2に割り当てるCPU数
kernel   Linuxカーネルへの絶対パス(Windows上)。
kernelCommandLine 空白 カーネルコマンドライン。
swap Windowsの物理メモリの25% WSL2のスワップ領域。
swapfile %USERPROFILE%\AppData\Local\Temp\swap.vhdx スワップファイルの生成ディレクトリ。
pageReporting true WSL2に割り当てられた未使用メモリの再利用可否。
localhostforwarding true WSL2でlocalhostにバインドされたポートに、localhost:port経由でホストから接続できるかどうかを指定。
nestedVirtualization true Windows11のみ。入れ子になった仮想化で他の入れ子になったWSL2の実行可否。
debugConsole false Windows11のみ。WSL2のインスタンスの開始時にdmesgの内容を表示する出力コンソールウィンドウの有無。
vmIdleTimeout 60000 Windows11のみ。WSL2ががアイドル状態になってからシャットダウンされるまでのミリ秒数。

wslconfigパラメータ内容

[wsl2]
# memory=4GB
# processors=4
# kernel=
# kernelCommandLine =
# swap=2GB
# swapfile=%USERPROFILE%\\AppData\\Local\\Temp\\swap.vhdx
# pageReporting=true
# localhostforwarding=true
# nestedVirtualization=false
# Disables nested virtualization
# nestedVirtualization=false
# debugConsole=false
# vmIdleTimeout=60000

WSLコマンド

WSL2のアンインストールと無効化

正常にインストールできない場合は次の手順を踏んでアンインストールする。

WSL2でsystemctlを有効化する

wsl.confの内容は以下の通りにする

[boot]
systemd=ture

変更が終わったら、WSL2を再起動する