Microsoftが米国時間2020年9月10日にリリースしたWindows 10 Insider Preview ビルド20211では、WSL2(Windows Subsystem for Linux 2)の機能として、Linuxのファイルシステムでフォーマットしたストレージをマウントする機能を追加している。公式ブログによれば、ext4をはじめとするWindows 10がサポートしていないファイルシステムへアクセス可能になるという。
筆者も動作を確認しようと、Windows 10 Insider Preview ビルド20211に更新してみたものの、wsl.exe実行時にRPC(Remote Procedure Call)エラーが発生し、Linuxディストリビューションを起動できなくなってしまった。そのため、別の公式ブログを参照しながら新機能を追いかけてみたい。
Windows 10をインストールしたPCに接続した物理ストレージ、および仮想ストレージの一覧を確認するコマンド「wmic diskdrive list brief」を実行すると、デバイスIDやパーティション、ストレージサイズなどを確認できる。確認後、「wsl --mount \.\PHYSICALDRIVE{デバイスID} --partition {パーティション}」でマウントすればよい。
たとえば、ext4でフォーマットした物理ストレージのデバイスIDが「4」、パーティションが「1」の場合、「wsl --mount \.\PHYSICALDRIVE4 --partition 1」と実行する。その結果、物理ストレージは「/mnt/wsl/PHYSICALDRIVE4p1」にマウントされ、Linuxディストリビューションに限らず、エクスプローラー経由でも参照可能になる仕組みだ。
公式ドキュメントを見ると、ファイルシステムを指定する「--type」オプションも用意しており、既定ではext4としてマウントを試みるとのこと。サポートするファイルシステムはLinuxディストリビューションに依存し、「cat /proc/filesystems」で確認できる。たとえばDebian GNU/LinuxならXFSやBtrfsなどが使用可能だ。また、マウントオプションもサポートしているが、ro(ReadOnly)などの汎用オプションは未サポートだという。
その昔、Windowsからext2/3/4でフォーマットしたストレージにアクセスするには、Ext2Fsdが必要だった。物理・仮想環境にLinuxディストリビューションをインストールし、サーバーなどの用途に用いていた時代は筆者もお世話になっていた。Windows 10のWSL2にLinuxファイルシステムをマウントする機能の発展具合では、Ext2Fsdを使う場面はなくなるかもしれない。
現在のWindows 10 Insider Previewは、エクスプローラーのナビゲーションウィンドウ経由でWSL2のファイルシステムへアクセス可能となり、GPUを用いた演算機能を実装している。今後はWindows用X Window SystemをインストールせずにLinux用GUIアプリの利用も可能になるという。今回のマウント機能実装に伴い、Windows 10とLinuxの融合がまた一歩進んだ。