kledgeb UbuntuやLinuxの最新情報を紹介

WSL その167 - WindowsからLinuxのファイルにアクセスする仕組み(Windows 10 version 1903)

WindowsからLinuxのファイルにアクセスする仕組み

今後リリースされる「Windows 10 version 1903」では、「WSL」の改良と相互運用の改善が行われる予定です。


  • What’s new for WSL in Windows 10 version 1903?

その1つは「Windows(Windowsアプリ)」から「Linux」のファイルにアクセスする仕組みの追加です。

ファイルが壊れる

以前紹介したように「Windowsアプリ」から直接「Linux」のファイルにアクセスしてしまうと、そのファイルは「Linux」から正常にアクセスできなくなります。
(ファイルが壊れる)

  • Do not change Linux files using Windows apps and tools

「Linux」のパーミッションや所有者及びタイムスタンプなど「Linux」固有の情報は、各ファイルのメタデータに保存されています。
これらの情報は「Windowsアプリ」から認識されず「Windowsアプリ」から直接アクセスすると、これらのメタデータは削除されてしまいます。
また「Windowsアプリ」がファイルをロックしてしまい、メタデータの更新も行えなくなります。
つまり「Windowsアプリ」から「Linux」のファイルに直接アクセスすることは許されません。

WindowsとLinuxからアクセスされるファイルを利用するには

現在の仕組みでは「Windows」と「Linux」の双方からアクセスするファイルは、「DrvFs」上に配置します。
「Linux」から見るとネットワーク上に公開されている共有フォルダーや共有ボリュームにアクセスする感覚です。

なんとかして欲しい

「Windowsアプリ」から「Linux」のファイル群に直接的にアクセスしたいという要望が数多く挙げられました。

  • Make WSL filesystem accessible from Windows

「Windows 10 version 1903」ではこの状況が改善されます。
「Windowsアプリ」から「Linux」のファイル群にアクセスできるようになります。
(改善であって解決ではありません。)

ファイルエクスプローラーからアクセスしてみよう

「Linux」を起動し、「Linux」から以下のコマンドを実行します。

explorer.exe .

「Linux」のカレントディレクトリーをファイルエクスプローラーで開くコマンドです。
このコマンドを実行すると、ファイルエクスプローラーは「Linux」のカレントディレクトリーを表示します。
つまり「Windowsアプリ」から「Linux」のファイル群にアクセスしている状況です。


この状態では、「Windowsアプリ」から一連のファイル操作が可能になります。
ファイルのドラッグ&ドロップやコピー&ペースト、ファイルに関連付けられたアプリの起動など、「Windowsアプリ」で広く利用されているファイル操作が可能です。
もちろん「Linux」のファイルが壊れることもありません。


9Pプロトコルファイルサーバーによる仕組みの実現

今回新たに提供される仕組みは、9Pプロトコルファイルサーバーにより実現されています。
「Windowsアプリ」から見るとネットワーク上に公開されている共有フォルダーや共有ボリュームにアクセスする感覚です。
このサーバーが「Windowsアプリ」から要求される各種ファイル操作を処理します。

WSL init daemonの修正

「WSL init daemon」は9Pサーバーを含むように修正されました。
このサーバーはLinuxのパーミッションなどLinux固有のメタデータをサポートするプロトコルを含んでいます。

また「WSL」のインスタンス内部で動作している9Pサーバーにアクセスし、クライアントとして振る舞うWindowsサービス及びドライバーも提供しています。

「WSL」は以前から「AF_UNIX」をサポートしており、クライアントとサーバーの通信は「AF_UNIX」を利用して行います。(ソケットによる通信)

  • Windows/WSL Interop with AF_UNIX

Linuxファイルへのアクセスパス

「Windowsアプリ」からLinuxのファイルへアクセスするには、以下のパスにアクセスします。

\\wsl$\ディストリビューション名\

またパスが分かっているので、スクリプト等からLinuxのファイルへアクセスすることも可能です。


既知の課題と注意事項

既知の課題と注意事項です。

1.Linuxを起動する必要がある

「Windowsアプリ」からLinuxのファイルにアクセスするためには、「Linux」側で9Pサーバーを起動しておく必要があるため、事前にアクセスしたいディストリビューションを起動しておく必要があります。

これは現時点での制約であり、将来的に起動していないディストリビューションのファイルへのアクセスもサポートする計画があります。

2.ネットワークリソースと同じ扱い

Linuxのファイルへのアクセスは、ネットワークリソースへのアクセスと同じ扱いになります。
そのためネットワークリソースへのアクセスと同じルールが課されます。

例えばコマンドプロンプト(CMD)は「UNC」パスをカレントディレクトリーとして扱えないため、「cd \\wsl$\Ubuntu\home」コマンドは動作しません。
一方で「\\wsl$\Ubuntu\home\somefile.txt C:\dev\」といったファイルのコピーなどは動作します。

3.直接アクセスは引き続き不可

「Windowsアプリ」から9Pサーバーを経由せず、直接「Linux」のファイルにアクセスしてしまうと、そのファイルは「Linux」から正常にアクセスできなくなります。
この制約は従来と同じです。

つまり「AppData」内の各ディストリビューションのファイルに「Windowsアプリ」から直接アクセスしないでください。

WSL
スポンサー
コメント
コメントポリシー
コメントをする前に UbuntuのCode of Conduct(CoC/行動規範) を確認し、CoCに沿ったコメントをお願いします。
コメントの使い方は、コメントの使い方を参照してください。
同一カテゴリーの記事
SNS
人気の記事
  • Ubuntu CPUfreq その1 - CPUfreqについて・ CPUfreqドライバーについて・ CPUfreqガバナーについて
    CPUfreq   CPUfreqは、CPUのクロック数を動的に変更する機能です。   CPUfreqを利用することで、OSの負荷に応じて動的にCPUのクロック数を調整することができます。  これにより、省電力効果を得ることができます。   CPUfreqを利用する場合...
  • Ubuntu 26.04 その42 - Ubuntu 26.04.1 LTS のリリーススケジュール
    Ubuntu 26.04.1 LTSのリリーススケジュール Ubuntu 26.04.1 LTS のリリーススケジュールを紹介します。
  • Ubuntu 24.04 その93 - Linux kernel 7.0 が利用可能に・Linux kernel 7.0 にアップグレードするには
    Linux kernel 7.0 が利用可能に 現在 Ubuntu 24.04 LTS を利用しているユーザーは、Linux kernel 7.0 へアップグレードできるようになりました。
  • Ubuntu 22.04 その79 - 画面ロックの有効・無効を設定するには・画面ロック時の設定をカスタマイズするには
    画面ロックの有効・無効を設定するには 一定時間ユーザーによる操作がない時に、自動的に画面をロックしパスワードで保護したり、画面をブランク状態にできます。
  • Ubuntu 26.04 その59 - amdgpu ドライバーでパフォーマンス低下のお知らせ
    amdgpu ドライバーでパフォーマンス低下のお知らせ 次期 Linux kernel のアップデートで、amdgpu ドライバーのパフォーマンスが低下するお知らせが出ています。
  • Linux Mint その120 - Linux Mint 19.2のTipsとトラブルシューティング
    Linux Mint 19.2のTipsとトラブルシューティング リリースノートから「Linux Mint 19.2」のTipsとトラブルシューティングを紹介します。
  • Ubuntu 26.04 その56 - amdgpu ドライバーでシステムがフリーズする現象
    amdgpu ドライバーでシステムがフリーズする現象 amdgpu ドライバーでシステムがフリーズする現象が報告されています。
  • Linux その402 - KDE Plasma で実装予定の新機能や改善・録音オプションの追加や VRAM の使用量表示など
    KDE Plasma で実装予定の新機能や改善 2026年7月11日、KDE Plasma で実装予定の新機能や改善が以下で紹介されました。
  • Linux Mint その291 - 次期バージョンで Wayland セッションの提供・Cinnamon の改良など
    Linux Mint 月刊ニュース Linux Mint 開発チームは Linux Mint 月刊ニュースにて、Linux Mint の開発状況や取り組みを紹介しています。
  • Linux その407 - COSMIC DE 開発7ヶ月の歩み・COSMIC DE に搭載された新機能のまとめ
    COSMIC DE 開発7ヶ月の歩み COSMIC デスクトップ環境の開発者が、ここ7ヶ月の開発の歩みと、今までに COSMIC デスクトップ環境に搭載された新機能を紹介しています。
記事のピックアップ
オプション