Windows10: WSL のファイルシステムはどこにある?その1

Windows10上で Linuxコマンドを使うのに便利なのが Windows subsystem for Linux。
Windows10 デフォルトではインストールされません(64bit windows10のみで、32bit windows10では利用不可)が、私は64bit Windows10を使用する場合は、便利なのでインストールしています。

ちょっとした事情があって、Linuxで処理したファイルをWindows ファイルシステムにコピーしたい状況が発生しました。

以前(WSL 1.xの頃)調べた時は、

C:\Users\<ユーザー名>\AppData\Local\lxss\

にあったんですよ。

そこにあるだろうと思って、探してみたら、 lxss というフォルダーが存在しない!(ちなみに、lxss というのは、おそらく LinuX SubSystem の略だと思います。)
WSL側から、Windowsのファイルシステムにアクセスするには、/mnt/c がWindowsのトップフォルダーになりますので簡単。

逆方向のアクセス方法がわからず調べ回りました。

そしてようやくわかりました。

WSL 2.x からだと思いますが、WSLに使用できるLinux ディストリビューションを選択できるようになっています。私は Debian Linux が好みなので、Microsoft Store から Debianを入れていますが、好みでUbuntu や SUSE Linux なんかも選択できます。
これらを並列に走らせることが出来るのかどうかは知りませんが、ディストリビューションによってインストール場所が異なるように仕様変更されたようです。
で、Debian Linuxの場合はどこか?

Web検索して、その情報をもとに推測してみると、

C:\Users\<ユーザー名>\AppData\Local\

までは同じでしたが、その下が、

Packages\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState\rootfs

と、非常にわかりにくい場所。アンダーバー _ に続く文字列は、個人ごとに異なるのかもしれませんが。
私が選択したDebianの場合は、フォルダー名が TheDebianで始まるフォルダーだったのでわかりやすかったですが、他のディストリビューションの場合どういうフォルダー名なのかは推測不能。

C:\Users\<ユーザー名>\AppData\Local\<ディストリビューションっぽい名称>\LocalState\rootfs

がLinuxのルートであると判明。そこをWindowsからアクセスしたのが以下。

wsl debian linux インストール場所

ようやく目的ファイルの場所が見つかりました。

今まで、WSLってLinuxファイルシステムをRootから全部インストールしてあるのね。一台のPCへ、複数ディストリビューションをインストールする場合、ファイルシステムをガンガン消費してしまう仕様のようです。まあ、この方式の方が、小手先技を使用してファイル容量を節約するより、安心して使用できますけどね。

2022/12/08 追加

WSLのルートファイルシステム情報を更新しました。

コメントを残す