WindowsでLinuxサブシステムのファイルをいじってはいけない

Linux
この記事は約2分で読めます。
スポンサーリンク

今年 Windows 10 の一周年記念アップデート (Windows Anniversary Update) が行われ、プレビュー扱いながらも Windows 10 のカーネルに新機能として Windows Subsystem for Linux (以下WSL)が実装された。別途 Linux OS インストールや仮想マシンを用意せずとも Windows 上から Linux ネイティブな環境が手に入りとっても便利。

この WSL 、使用するにあたってマイクロソフトの開発者の一人がブログで注意を呼びかけている。 Windows のアプリ、ツール、スクリプトやコンソールでも Linux ファイルシステム上でファイルを作成、または変更を加えないよう警告している。データの破損や Linux 環境がおかしくなる可能性があるという。

Microsoft Developer – Do not change Linux files using Windows apps and tools

Windows では Linux 関連のファイルは (ユーザ名%AppData%localappdata%\lxss) 下に収められている。

元々隠しフォルダに指定されているため、MS もこのフォルダをいじってほしくないということが考えなくともわかる。

Linux のファイルメタデータ(権限、所有者やタイムスタンプなどのデータ)はWindows のそれと全く違うため、 WSL が編集したファイルを見失い読み込めなくなるそうだ。

更に Windows のアプリは通常、ファイルを更新や改変するとき元のファイルを削除してから新しく作成、もしくは複製してからオリジナルファイルを削除する。

なので Linux ファイルのメタデータが修正されていなければ WSL は迷子になって正しくファイルを開いたり書き込んだりできなくなる。

スポンサーリンク

解決方法

Windows と Linux 、両方の環境でファイルを使うためには、 Windows ファイルシステム上でファイルを作成すれば良い。 WSLのファイルシステム上で作成したファイルはたとえコンソールであっても Windows 側でいじらないこと

WSL は NT ファイルシステム上のファイルを正しく扱うようプログラムされているので Windows ファイルシステム上のファイルならば両方のOS環境で改変しても大丈夫。

いい加減 Windows も Linux のファイルシステムに対応してくれると有り難いんだけどね。

KODLIX GK45ミニPC Gemini Lake Celeron J4105 LPDDR4 4GB RAM 64GB eMMCミニコンピューター DIY SSD/HDD 4K@60Hz HDMI/ミニDP/USB-C 3画面同時出力可 2xLANポートWindows 10 搭載 Chromium&Linux OSサポート 小型デスクトップ
KODLIX
⭐【Intel J4105プロセッサ+Windows 10搭載】: GK45ミニPCは、Gemini Lake J4105プロセッサとWindows 10を搭載し(Officeなし)、UHDグラフィックス600に対応してます。ネット検索、文章作成、Officeアプリ運用、動画再生など優れたパフォーマンスを提供します。

コメント

タイトルとURLをコピーしました