ニュース

WindowsからLinuxファイルへのアクセスが可能に ~「Windows 10 19H1」におけるWSLの改善

「エクスプローラー」でWSL/Linux環境へアクセスし、自由にファイルを操作できる

WindowsからLinuxへのファイルアクセスが可能に

 米Microsoftは2月15日(現地時間)、「Windows 10 バージョン 1903」(19H1)の“Windows Subsystem for Linux(WSL)”に導入される予定の機能を発表した。WindowsからLinuxへのファイルアクセスなどが新たにサポートされている。

 従来の“WSL”では、Windows環境からWSL/Linuxのファイルシステムへアクセスする行為(ファイルの作成・変更)は推奨されておらず、最悪の場合、ファイルの消失やデータの破損を招く恐れがあった。しかし、「Windows 10 19H1」ではこの制限が取り払われ、より自由にファイルを扱えるようになっている。

 たとえば、WSL/Linux環境で以下のコマンドを利用すると、カレントディレクトリを「エクスプローラー」で開けるようになるという。

explorer.exe .

 「Windows 10 19H1」Build 18334では動作を確認できなかったが、「Windows 10 20H1」Build 18836では利用できたので、いずれバックポートされるものと思われる。

 ファイルのコピー&ペーストや移動はもちろん、右クリックメニューでフォルダーを「Visual Studio Code」で開くといった操作も問題なく行える。

 WSL/Linux環境のファイルシステムは、“¥¥wsl$¥(ディストリビューションの名前)¥”というUNCパスで表現される。たとえば、「Debian」を利用している場合は“¥¥wsl$¥Debian¥”となる。ネットワークリソースへのアクセスと同じように扱われるため、「コマンド プロンプト」を利用する場合、“cd ¥¥wsl$¥Ubuntu¥home”といったコマンドは機能しない点には注意したい。

“¥¥wsl$¥Debian¥”といったUNCパスでWSL/Linux環境のファイルシステムへアクセス

 この機能は「WSL」を初期化する際に「9P」プロトコルのファイルサーバーを起動し、それを介してファイルを扱うことで実現されている。そのため、Windowsからアクセスできるのは現在のところ、動作中のWSL/Linuxディストリビューションのみとなる。将来バージョンでの改善を期待しよう。

 また、ファイルを扱う際はかならずUNCパスを介して操作する必要があるので注意。“AppData”フォルダー以下にあるWSL/Linux環境のファイルを直接操作する行為は依然として禁止されており、最悪の場合、ディストリビューションが破損する恐れがある。

 そのほかにも「wsl.exe」コマンドが拡充され、インポートやエクスポートがサポートされた。「wslconfig.exe」のコマンドを「wsl.exe」コマンドへ移植する計画も順調に進んでおり、将来的には「wsl.exe」コマンドだけでWSL/Linux環境を管理できるようになる予定だ。