Windows版Linuxの「Windows Subsystem for Linux(WSL)」は、単なるLinux互換環境ではない。LinuxからWindowsのファイルやプログラムを利用する連携機能を持つ。Linux環境を活用しながら、テキストファイルをWindowsの「メモ帳」や「秀丸エディタ」などで編集する、といった使い分けが可能だ。

「Windows Subsystem for Linux(WSL)」内のLinux環境とWindows環境で同じテキストファイルを開いたところ。WSLはLinuxからWindowsのファイルシステムを扱う機能を用意している。
「Windows Subsystem for Linux(WSL)」内のLinux環境とWindows環境で同じテキストファイルを開いたところ。WSLはLinuxからWindowsのファイルシステムを扱う機能を用意している。
[画像のクリックで拡大表示]

 WSLは、64ビット版のWindows 10で利用できるLinux互換環境。ハードウエアを仮想化する仮想マシンではなく、WindowsとLinuxのカーネルの差異を吸収する軽量なプログラムで実装しているのが特徴だ。Linuxカーネルの一部であるファイルシステムもその一つ。WSL独自の拡張として、LinuxからWindowsのファイルシステムを扱う機能を用意している。2017年4月のCreators Updateでは、Windowsの実行ファイルも呼び出せるようになった。さらに同年秋のFall Creators Updateで、USBメモリーやネットワーク共有もLinux側から利用できるようになる。

WindowsファイルシステムをLinux側から扱う「DriveFs」

 WSL内からWindowsのファイルシステムを扱う機能は「DriveFs」と呼ぶ。標準では、Windowsのドライブは、WSLの「/mnt」以下に割り当て(マウント)される。Cドライブであれば「/mnt/c」ディレクトリー、Dドライブであれば「/mnt/d」ディレクトリーだ。/mnt/cディレクトリーは、Linuxにおけるアクセス権限(パーミッション)が読み/書き/実行のすべてを許可する設定になっている。

ファイル/ディレクトリー一覧を表示する「ls -la」コマンドで/mnt/cディレクトリーを表示。アクセス権は読み/書き/実行をすべて許可する設定(rwxrwxrwx)になっている。
ファイル/ディレクトリー一覧を表示する「ls -la」コマンドで/mnt/cディレクトリーを表示。アクセス権は読み/書き/実行をすべて許可する設定(rwxrwxrwx)になっている。
[画像のクリックで拡大表示]

 /mnt/cディレクトリーなどWindowsのフォルダーをマウントしたディレクトリー以外は、Linux互換の機能を持つ「VolFs」で管理される。DriveFsと異なり、VolFsでは読み/書き/実行の各権限を設定・保持できる。