.wslconfigについての説明として正しいものはどれですか?
解説
.wslconfigは、Windows側のユーザープロファイルフォルダ(C:\Users\<ユーザー名>)に配置する設定ファイルで、WSL 2が起動する軽量仮想マシン(Lightweight Utility VM)全体に対してメモリ上限・CPU数・スワップサイズなどを指定します。選択肢Aが説明しているのは/etc/wsl.confという別のファイルです。選択肢Cは誤りで、.wslconfigはWSL 2専用であり、WSL 1には効果がありません。選択肢DのようなVS Code拡張との関連もありません。なぜ設定ファイルがWindows側にあるのかWSL 2はHyper-Vベースの仮想マシン上でLinuxカーネルを動かす仕組みです。メモリやCPUといったリソースはVM起動時にWindows側のハイパーバイザーが割り当てるため、Linux内部から制御することはできません。だからこそ設定ファイルはWindows側に置く必要があり、反映にもwsl --shutdownによるVM再起動が必要になります。.wslconfigの基本的な書き方ファイルが存在しない場合は手動で作成します。形式はINI形式で、[wsl2]セクションの下に設定を記述します。[wsl2] memory=4GB processors=2 swap=2GB localhostForwarding=trueよくある落とし穴として、ファイル名をwslconfig.txtにしてしまうケースがあります。エクスプローラーで拡張子の表示がオフだと、実際には.wslconfig.txtという名前になっていて設定が反映されません。コマンドプロンプトやPowerShellでnotepad %USERPROFILE%\.wslconfigと実行して作成・編集するのが確実です。.wslconfigとwsl.confの使い分けWSLの設定を変更したいとき、どちらのファイルを編集すべきか迷うことがあります。判断基準はシンプルです。.wslconfig(Windows側): VMのハードウェアリソースに関わるもの。メモリ、CPU、スワップ、カーネルパス、ネストされた仮想化の許可などwsl.conf(Linux側の/etc/wsl.conf): ディストリビューション固有のOS動作。ホスト名の設定、Windowsドライブの自動マウント、デフォルトログインユーザー、systemdの有効化など「ハードウェア寄りの設定はWindows側、OS寄りの設定はLinux側」と整理すると覚えやすくなります。