WSL1と2を区別する方法
複数のディストリビューションでWSL1とWSL2を同時に使っているときなど、両者を区別したくなることがある。後述するようにWin32側では、wsl.exeコマンドでディストリビューションとWSLのバージョンを表示させることができるが、WSL内で区別できないと、たとえば、コンソールウィンドウのタイトルバーなどに表示ができない。
調べたところ、WSL2では「WSL_INTEROP」という環境変数が定義されているが、WSL1には定義されていないことがわかった。なので、この環境変数の定義を有無を調べることで、WSL1かWSL2を判別できる。とりあえず、.bashrcでコンソールウィンドウタイトルに表示するようにしてみた。
.bashrcの「case "$TERM" in」の前にWSL_VERにWSL1かWSL2を代入し、「case "$TERM" in」に続くPS1(プロンプトの設定)にWSL_VERを追加している。
ファイルシステムのext4と仮想HDDのVHDX
WSL2のLinuxでは、ファイルシステムにext4を使うが、これは、win32側では、VHDX(仮想HDDファイル)として実現されている。これは、Hyper-Vの機能の1つで、仮想環境側ではストレージデバイスのようにみえるが、ホストパーティション側ではNTFSのファイルになっている。
なお、調べたところ、ext4に対応するVHDXファイルは、「%LOCALAPPDATA%\Packages\<PackageFamilyName>\LocalState\<disk>.vhdx」にある。たとえば、Ubuntu-18.04では、ユーザーフォルダの下の
%LOCALAPPDATA%\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\ext4.vhdx
になる。
Ubuntu-18.04の場合、パッケージ名は「CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc」とハイフンが入らないという点に注意する必要がある。調べたところ、このプレビュー版では、ファイルサイズとしては1GB弱だが、最大256GBの容量を持つVHDXファイルだった。
なお、これが万一不足した場合には、DiskpartのExpandサブコマンドで拡大することができる。
wsl.exeコマンドも改良されている
WSL2の実装に伴い、wsl.exeコマンドも改良され、オプションが追加されている。主な改良点は、WSL1とWSL2の切り替えに関するものだが、WSLの実行をすべて停止する--shutdownオプションや、--Listオプションの拡張などもある。
まず、既存のWSL1ディストリビューションをWSL2に切り替えるには、--set-versionオプションを使い、
wsl.exe --set-version <ディストリビューション名> <バージョン番号>
とする。<ディストリビューション名>は、wsl.exe --listで表示でき、<バージョン番号>には「1」または「2」を指定する。なお、変換を行う際にはWSLを終了させるような場合には、「wsl.exe --shutdown」コマンドが利用できる。
また、新規にインストールするWSLディストリビューションをWSL2用とする場合には、以下のコマンドで、デフォルトのWSLバージョンを指定しておく。
wsl.exe --set-default-version <バージョン番号>
wsl.exe --listコマンドでは、-vオプションを付けると、それぞれのディストリビューションのWSLバージョンを表示できる。

この連載の記事
-
第508回
PC
Scalable Vector Graphics(SVG)そもそも何なのか? -
第507回
PC
Windows 11の「開発者モード」とは何か? -
第506回
PC
Windows 11は早くも来秋登場の26H2プレビューの準備が始まる -
第505回
PC
結構変化しているWindows 11のエクスプローラーの基本設定を見直す -
第504回
PC
新しいOutlookとOutlook Classic、そろそろ古いOutlookとExchangeの組み合わせは引退の頃合いか -
第503回
PC
機能が増えたこともあり、寄せ集めから統合化に進むWindowsの便利ツール「PowerToys」 -
第502回
PC
Windows 11でBluetoothのオーディオ新規格「Bluetooth LE Audio」を試す -
第501回
PC
Windows 11 Ver.25H2での変更点、新機能を整理する -
第500回
PC
Windows 11 Ver.25H2が完成した -
第499回
PC
Windowsでの致命的だが回復可能なエラーに備える手段を2つ紹介 -
第498回
PC
Windows Terminalの安定版V1.23が公開 設定UIが改良される - この連載の一覧へ











