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上のファイルシステムに配置するのが妥当となります。
それらを踏まえた適切な構成は?
パフォーマンスは低下するとはいえ、前述の通り参照そのものは可能です。 なので、それを踏まえていればLinuxとWindowsの両方からファイルを参照する構成も可能です。 例えばGitのGUIツールはWindowsで動かして、参照先はLinux上のファイル、のような構成も構築できます。 Gitの操作程度では多少ファイルアクセスのパフォーマンスが落ちても大きな影響はないので問題ありません。
またVisualStudioCodeなどのエディタには、WSL2用の拡張機能があります。 それを使えばLinux側のディレクトリやコンソールを開けるので、非常に便利です。
これらのパフォーマンスに関する特性や、別環境のファイルアクセス方法を把握しておくと、WSL2での開発がより良く進められると思います。