WSL2で使うファイルの配置場所について

WSL2を使ってWindows上にLinux環境を作ることができ非常に便利ですが、注意しなければいけない仕様が色々あったりします。 今回はWSL2で使うファイルの配置場所について触れてみたいと思います。

WSL2のLinux環境とホストのWindows環境の相互ファイル参照について

WSL2では構築したLinux環境のファイルと、ホストのWindowsのファイルを相互に参照することが可能になっています。

WindowsからはLinuxのストレージがネットワークドライブとして参照できるようになっています。 ファイルエクスプローラ\\wsl$を表示すると、WLS2で構築済みの各Linux環境のストレージを見ることができます。 Linuxからは/mntの下にWindowsのCドライブなどがマウントされているので、そこから参照することができます。

異なる環境のファイルにアクセスした場合はパフォーマンスが低下する

上記のように相互に参照可能なので、Windows上とLinux上のどちらにファイルを置いても一応利用できます。 ただし、WSL2の仕組み上、異なる環境のファイルをアクセスする場合、本来の環境のファイルにアクセスするのに比べてパフォーマンスが低下するという仕様があります。 なのでLinux環境で頻繁にWindows上のファイルを参照するようにしていると、処理が重くなったりするので注意が必要です。 Linuxで使うファイルは、原則としてLinux上のファイルシステムに配置するのが妥当となります。

それらを踏まえた適切な構成は?

パフォーマンスは低下するとはいえ、前述の通り参照そのものは可能です。 なので、それを踏まえていればLinuxWindowsの両方からファイルを参照する構成も可能です。 例えばGitのGUIツールはWindowsで動かして、参照先はLinux上のファイル、のような構成も構築できます。 Gitの操作程度では多少ファイルアクセスのパフォーマンスが落ちても大きな影響はないので問題ありません。

またVisualStudioCodeなどのエディタには、WSL2用の拡張機能があります。 それを使えばLinux側のディレクトリやコンソールを開けるので、非常に便利です。

これらのパフォーマンスに関する特性や、別環境のファイルアクセス方法を把握しておくと、WSL2での開発がより良く進められると思います。