- Chris Hoffman
@chrisbhoffman
- 更新日 2019/06/26, 02.08:8071>
Store からインストールした Linux 環境 (Ubuntu や openSUSE など) は、隠しフォルダーにファイルを保存しています。 このフォルダーにアクセスすると、ファイルをバックアップしたり、表示したりすることができます。 また、Bash シェルから Windows ファイルにアクセスすることもできます。
Update: Windows 10 の May 2019 Update から、Windows アプリケーションから Linux ファイルにアクセスする公式で安全な方法が登場しました。
WindowsツールでLinuxファイルを修正しない
Microsoft は、WindowsソフトウェアでLinuxファイルを追加または修正することについて強く警告しています。 これは、メタデータの問題やファイルの破損を引き起こす可能性があり、それを修正するために Linux ディストリビューションをアンインストールして再インストールすることを余儀なくされるかもしれません。 しかし、Windowsソフトウェアを使ってLinuxファイルを表示したりバックアップしたりすることは可能であり、問題は発生しません。
言い換えれば、Windows内部からLinuxフォルダを読み取り専用であるかのように扱います。 グラフィカルなアプリやコマンドラインツールなど、Windows のツールを使って修正しないでください。 Windows ツールを使用して、これらのフォルダー内に新しいファイルを作成しないでください。
LinuxとWindowsの両方の環境からファイルを操作したい場合、Windows ファイル システムにファイルを作成する必要があります。 たとえば、Windows の C:\project にフォルダーがある場合、Linux 環境では /mnt/c/project にアクセスすることができます。 Windows ファイル システムに格納され、/mnt/c でアクセスされるため、Windows または Linux のツールでファイルを変更しても安全です。
Where Windows Stores the Linux Files
Linuxファイル システムは、Microsoftが改ざんを望まないため、隠しフォルダに格納されています。 しかし、いくつかのファイルを表示したりバックアップしたりする必要がある場合、隠しフォルダに保存されているのを見つけることができます。 アクセスするには、ファイルエクスプローラを開き、アドレスバーに次のアドレスを差し込みます:
%userprofile%\AppData\Local\Packages
(これはC:\Users\NAME\AppData\Local\Packages
にあなたを取ります。
このフォルダーで、ファイルを表示したい Linux ディストリビューションのフォルダーをダブルクリックします:
- Ubuntu.NET、Ubuntu.NET、Ubuntu.NET、Ubuntu.NET、Ubuntu.NET、Ubuntu.NET、Ubuntu.NET、Ubuntu.NET、Ubuntu.NET。 CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc
- openSUSE Leap 42: 46932SUSE.openSUSELeap42.2_022rs5jcyhyac
- SUSE Linux Enterprise Server 12: 46932SUSE.OpenSUSE.OpenSUSE.OpenSUSE.OpenSUSE.OpenSUSE.Open SUSE.OpenUbuntu
これらのフォルダの名前は、将来的に若干変更される可能性があります。 Linux ディストリビューションにちなんだ名前のフォルダーを探すだけです。
Linux ディストリビューションのフォルダーで、「LocalState」フォルダーをダブルクリックし、そのファイルを見るために「rootfs」フォルダーをダブルクリックします。
つまり、以下の場所にファイルが格納されています。
C:\Users\NAME\AppData\Local\Packages\DISTRO_FOLDER\LocalState\rootfs
注意: Windows 10 の古いバージョンでは、これらのファイルは C:\UsersName³³AppData³³Local³³ss に格納されていました。 これは、Fall Creators Updateから変更されました。
ホームフォルダーに保存されたファイルを表示するには、「ホーム」フォルダーをダブルクリックし、UNIXユーザー名をダブルクリックしてください。
忘れないでください、File Explorer からこれらのファイルを変更したり、これらのフォルダーにファイルを追加しないでください!
Where Your Windows System Drive Appears in Linux
The Windows Subsystem for Linux では Windows システム ドライブ全体を使用可能にするので、両方の環境で同じファイルを使って作業を行うことができます。 しかし、Bash 環境では、C:³³ ドライブにダンプされるだけではありません。 その代わりに、Linux 環境のファイル システム内の UNIX アカウントのホーム ディレクトリに配置されます。
Windows システム ドライブと他の接続されたドライブは、Linux ディレクトリ構造で他のドライブが伝統的に利用可能である、そこの /mnt/ ディレクトリで公開されます。 具体的には、Bash 環境では C: ドライブは次の場所にあります:
/mnt/c
このディレクトリに cd
コマンドで変更するには、次のように入力します:
cd /mnt/c
D: ドライブがあれば、それは /mnt/d にあります、といった具合にです。
例えば、C: \UsersChrisDownloadsFile.txt に保存されているファイルにアクセスするには、Bash 環境で /mnt/c/Users/Chris/Downloads/File.txt というパスを使用することになります。 また、大文字と小文字が区別されるため、「Downloads」ではなく「Downloads」が必要です。
RELATED: Linux 用 Windows サブシステムでリムーバブル ドライブとネットワークの場所をマウントする方法
また、外部ドライブとネットワークの場所をマウントして、Linux 環境内からより多くのファイルにアクセスできます。
なお、Windows システム ファイルにアクセスするとき、Bash シェル環境には起動時のパーミッションが設定されています。 たとえば、ユーザー アカウントにアクセス権がないシステム フォルダーにアクセスしたい場合、Bash シェルのショートカットを右クリックして [管理者として実行] を選択し、Windows 管理者特権で Bash シェルを起動する必要があります。
これは、管理者専用ファイルへの書き込みアクセス、またはシステム ファイルへの書き込みアクセスが必要な場合に、管理者として起動する必要があるコマンド プロンプトと同じように機能します。
Chris Hoffman は How-To Geek の編集長です。 彼は 10 年以上にわたってテクノロジーについて書き、PCWorld のコラムニストとして 2 年間活躍しました。 また、ニューヨークタイムズ紙への寄稿や、マイアミのNBC 6などのテレビ局でテクノロジー専門家としてインタビューを受けたり、BBCなどのニュースメディアにも取り上げられたりしています。 2011年以来、クリスは2,000以上の記事を書き、約10億回読まれています—これはここHow-To Geekだけです。