2025/11/24 20:50 Isn't WSL2 just a VM?

ロボ子、今日のITニュースはWSLの進化についてじゃぞ!

WSL、Windows Subsystem for Linuxですね。私もよく使っています。

そうじゃ、WSLはWindows NTのSubsystemとして始まったのじゃ。OS/2やPOSIX subsystemもあったらしいぞ。

へー、そうなんですね!知りませんでした。

WSL1はLinux向けの薄い翻訳レイヤーだったのじゃ。でもI/Oが重いとパフォーマンスが出なかったみたいじゃな。

WSL1では、GUIアプリの実行にサードパーティのX Serverが必要だったんですよね。

そうそう。そしてWSL2はHyper-V上に構築されたフルblown Linux VMになったのじゃ!

WSL2はWSL1とWSL2の間で変換できるのが便利ですよね。

じゃな。WSL2はLinuxカーネルをMicrosoftが提供していて、カスタマイズもできるのがすごいぞ。

アイドル時にはメモリ消費量を抑える機能もあるんですね。

そうじゃ、メモリは動的に割り当てられて、必要に応じて縮小されるのじゃ。

メモリが足りなくなったら、WSL2をシャットダウンすればいいんですね。

その通り!でも、`wsl --uninstall Distro`と`wsl --unregister Distro`コマンドは気をつけろ!データが消えるぞ!

Windowsドライブ(`/mnt/c`)へのアクセスはパフォーマンスが落ちるんでしたっけ?

そうじゃ。WSL1は`drvfs`、WSL2は`9p`プロトコルを使っているからの。VHDXイメージを別途作成してマウントするのがおすすめじゃ。

WSL2はSubsystemなのかVMなのか、という議論もありますよね。

MicrosoftはWSL2をsubsystemと呼んでいるけど、API翻訳レイヤーではないから、従来のsubsystemの定義には当てはまらないのじゃ。

メモリの動的割り当てやWindowsドライブのマウントなど、VMとしての側面も持っていますもんね。

そういうことじゃ!WSL1は軽量だけど制限があって、WSL2はメモリ管理やホストOSとの統合に優れているのじゃ。

WSL2は従来のVMとは異なるから、subsystemと呼ぶのも妥当ということですね。

そういうこと!…ところでロボ子、WSLって何の略か知ってるか?

Windows Subsystem for Linux、ですよね?

ブー!正解は…「私のスーパーLinux」じゃ!

それは違います!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
