\r\n\r\n
ショップからインストールしたLinux環境(UbuntuやopenSUSEなど)は、隠しフォルダにファイルを保存しています。このフォルダーにアクセスして、ファイルのバックアップや閲覧ができます。また、bashshellからWindowsのファイルにアクセスすることもできます。
更新:Windows 10 May 2019 Updateから、WindowsアプリケーションからLinuxファイルにアクセスするための公式の安全な方法が追加されました。
マイクロソフトは、Windowsのソフトウェアを使用してLinuxのファイルを追加または変更しないように強く警告しています。このため、メタデータの問題やファイルの破損が発生し、それを解決するためにLinuxディストリビューションのアンインストールと再インストールを余儀なくされることがあります。ただし、Windowsのソフトウェアを使ってLinuxのファイルを閲覧したり、バックアップを取ったりすることは可能であり、問題は生じません。
つまり、LinuxのフォルダーをWindowsの読み取り専用フォルダーとして扱うのです。Windowsのツール(グラフィカルアプリケーションやコマンドラインツールを含む)を使って修正しないでください。また、Windowsのツールでこれらのフォルダーに新しいファイルを作成しないでください。
LinuxとWindowsの両方の環境でファイルを使用したい場合は、Windowsのファイルシステムで作成する必要があります。例えば、WindowsでC:⇄projectにフォルダがある場合、Linux環境では/mnt/C/projectにもアクセスできるようになります。Windowsのファイルシステム上に保存され、/mnt/c以下にアクセスできるため、WindowsやLinuxのツールを使用してファイルを変更しても安全です。
Linuxのファイルシステムが隠しフォルダに保存されているのには理由があり、マイクロソフトはあなたがそれを改ざんすることを望んでいないからです。しかし、特定のファイルを表示したり、バックアップしたりする必要がある場合は、隠しフォルダに保存されていることがわかります。アクセスするには、ファイルエクスプローラを開き、アドレスバーに次のアドレス**を入れてください。
%userprofile%\AppData\Local\Packages(This will take you to C:\UsersNAME﹑AppData﹑LocalPackages.) If you wish, also you can show hidden folder in File Explorer and navigate there manual of the hidden folder in File Explorer.
このフォルダーの中で、ファイルを表示したいLinuxディストリビューションのフォルダーをダブルクリックします:。
これらのフォルダの名前は将来的に若干変更される可能性がありますが、Linuxディストリビューションにちなんだ名前のフォルダを探せばよいでしょう。
Linuxディストリビューションのフォルダで、「LocalState」フォルダをダブルクリックし、「rootfs」フォルダをダブルクリックしてファイルを表示させます。
つまり、ファイルが保存されている。
C:\Users\NAME\AppData\Local\Packages\DISTRO_FOLDER\LocalState\rootfs注意: 旧バージョンのWindows 10では、これらのファイルはC:³³³³に保存されていました。Fall Creators Updateからは、状況が一変しました。
メインフォルダーに保存されているファイルを表示するには、「Main」フォルダーをダブルクリックし、UNIXユーザー名をダブルクリックします。
ファイルエクスプローラからこれらのファイルを変更したり、これらのフォルダーにファイルを追加したりしないでください。
LinuxのWindowsサブシステムでは、Windowsのシステムドライブがフルに使えるので、どちらの環境でも同じファイルを使うことができます。しかし、Bash環境はC:⇄ドライブにダンプするだけではありません。その代わり、Linux環境ファイルシステム内のUNIXアカウントのホームディレクトリに配置されます。
Windowsのシステムドライブと他の接続されたドライブは/mnt/ディレクトリに公開され、他のドライブは通常Linuxのディレクトリ構造で利用可能です。具体的には、Bash環境のC:ドライブは、以下の場所にあります。
/mnt/ccdコマンドでこのディレクトリを変更するには、単に次のように入力します。
cd /mnt/cD:ドライブがあれば、/mnt/Dにある、というように。
例えば、C:↵file.txt に格納されているファイルにアクセスするには、Bash 環境で /mnt/c/Users/Chris/Downloads/File.txt というパスを使用することになります。はい、大文字と小文字を区別しますので、"downloads "ではなく、"download "としてください。
関連:LinuxのWindowsサブシステムにリムーバブルドライブとネットワークロケーションをインストールする方法
また、外付けドライブやネットワーク上の場所をマウントすることで、Linux環境からより多くのファイルにアクセスすることができます。
Windowsのシステムファイルにアクセスする場合、bashshell環境は起動時に使用されるのと同じパーミッションであることに注意してください。ショートカットから普通に起動すると、Windowsのユーザーアカウントと同じファイルアクセス権限になります。
例えば、ユーザーアカウントがアクセスできないシステムフォルダにアクセスするには、bashshellのショートカットを右クリックし、「管理者として実行」を選択して、Windowsの管理者権限でbashshellを起動します。
コマンドプロンプトと同じように動作します。管理者専用ファイルへの書き込み権限やシステムファイルへの書き込み権限が必要な場合は、管理者として起動する必要があります。Bash環境でのみsudoを使用することはできません。