Windows 10上で動作させることができるストアからインストールしたUbuntuはWSL(Windows Subsystem for Linux)という技術が使われています。WSLはHyper-V等のマシン仮想化技術を応用した仕組みで、その上のUbuntu等のLinuxは仮想マシンのようなもの(むしろコンテナと言われるものにに近い)です。
WindowsとLinuxはファイルシステムの仕組みに多くの違いがあります。WindowsのファイルシステムをLinuxでそのまま使用する方法もあることはありますが、その違いによって大きな弊害が発生しやすく、Linuxのシステムをそのまま動作させることはできません。そのため、WSLでは専用のあるフォルダー以下をルートとしてインストールされます。例えばUbuntuでは次のフォルダーです。
%LOCALAPPDATA%\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs
このフォルダーをルートとして展開されるため、/home
以下もこのフォルダー以下にあります。しかし、**このフォルダーをWindows上から直接操作してはいけません。**このフォルダーはWSLで特殊な管理がされており、WSLを通してアクセスしないと、その特殊な管理外となって、作成したファイルが見えないなどの現象が発生します。また、WSL上ではこのフォルダーがルート(/
)ですので、その上のフォルダーに遡ることはできません。
このままで不便ですので、WindowsとLinux相互にアクセスする方法を別途用意されています。
- LinuxからWindowsのファイルシステムにアクセスする場合
/mnt/c
でアクセスするとWindows上のC:\
にアクセスできます。Dドライブ等も同様です。
2. WindowsからLinuxのファイルシステムにアクセスする場合
\wsl$\ディストリビューション名
でLinuxの/
にアクセスできます。ディストビューション名はストアでのアプリ名と一緒で、wslconfig /l /all
で現在インストールしているものを確認できます。Ubuntuであれば\wsl$\Ubuntu
です。
Windows 10のバージョンが古いとCドライブ以外見えない、\wsl$
でアクセスできないという場合があります。Windows 10を最新(現在のバージョンはWindows 10 1909)にしてください。また、2.の方法はWslFs(さっき言っていたLinuxのファイルシステム)を最新にしないと不安定になる場合があります。wslconfig /upgrade Ubuntu
等でWslFSをアップグレードしておいてください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。