UbuntuサブシステムをWindows 10にインストールしました(設定で機能を有効にした後)が、Ubuntuファイルシステムのルートディレクトリはドライブのどこにありますか?
wsl.exe
、たとえば、Windowsファイルシステムを介してこれらのフォルダーにファイルをコピーwsl chmod 600 ~/.ssh/id*
しないでください。
UbuntuサブシステムをWindows 10にインストールしました(設定で機能を有効にした後)が、Ubuntuファイルシステムのルートディレクトリはドライブのどこにありますか?
wsl.exe
、たとえば、Windowsファイルシステムを介してこれらのフォルダーにファイルをコピーwsl chmod 600 ~/.ssh/id*
しないでください。
回答:
WindowsストアからインストールされたUbuntuの場合:
ストアを介してインストールする各ディストリビューションは、そのアプリケーションのappdataディレクトリにインストールされます。例:
C:\Users\<username>\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState
-ベンヒリス
Linux用のWindowsサブシステムの以前の反復では、Ubuntuのファイルシステムはにあった%localappdata%\Lxss
(例えば、C:\Users\Username\AppData\Local\Lxss
-置き換えユーザー名を Windows上のユーザーネームと)。ファイルシステムサポートに関するWSLブログ投稿を参照してください。
WSLが使用する主なファイルシステムはVolFです。Linuxホームファイルの内容と同様に、Linuxシステムファイルを保存するために使用されます。そのため、VolFは、Linux権限、シンボリックリンク、FIFO、ソケット、デバイスファイルなど、Linux VFSが提供するほとんどの機能をサポートしています。
VolFsは
%LocalAppData%\lxss\rootfs
、バッキングストレージとして使用して、VFSルートディレクトリをマウントするために使用され ます。加えて、いくつかの追加にvolfsが最も顕著に、点が存在マウント/root
及び/home
これを使用して実装されている%LocalAppData%\lxss\root
と%LocalAppData%\lxss\home
、それぞれ。これらの個別のマウントの理由は、WSLをアンインストールしても、ホームディレクトリはデフォルトでは削除されないため、そこに保存されている個人ファイルは保持されるためです。
Windowsアプリとツールを使用してLinuxサブシステム内のファイルを作成/変更すると、Ubuntuサブシステムでデータの破損とデータ損失が発生する可能性があります!(これらの注意事項を提案してくれたRich Turnerに感謝します!)これは絶対にサポートされていません。同じブログ投稿から:
Windowsとの相互運用性
VolFsファイルは、上記のディレクトリのWindowsの通常のファイルに保存されますが、Windowsとの相互運用性はサポートされていません。Windowsからこれらのディレクトリの1つに新しいファイルが追加された場合、VolFが必要とするEAが不足しているため、VolFはファイルの処理方法を認識せず、単に無視します。多くのエディターは、既存のファイルを保存するときにEAを削除し、再びファイルをWSLで使用できなくします。
Windowsファイルシステムは/mnt/c
、Bashシェル環境にあります。
attrib -s -h lxss
て再表示することもできます。これにより、システムディレクトリとしてもマークが解除されます。
/mnt/<drive>/
が、WindowsからLinuxファイルシステムにアクセスするのは(まだ)安全ではありません。
これは、Bashが最初に導入されてから変更されたようであり、Windowsストアからの配布には適用されません。または、ホームディレクトリが別の場所にあるため、すべてのシステムで一貫性がありません。
%localappdata%\lxss\home\{username}
または:
C:\Users\{user}\AppData\Local\lxss\{username}
{user}
Windowsユーザー名はどこにあり、{username}
インストール中に設定されたUNIXユーザー名はどこにあります。
したがって、ルートディレクトリは次のようになります。
%localappdata%\lxss
ルートディレクトリは、%localappdata%
ディレクトリからWindowsエクスプローラに表示されない場合があることに注意してください。エクスプローラーの「アドレスバー」に入力することで、とにかくアクセスできるはずです。
MS MarketからLinuxをインストールする場合:
彼らはディストリビューションを以下に配置しました:
$ cat /proc/registry/HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Lxss/\{861c29b4-ebe2-49a5-8a22-7e53a27934a0\}/BasePath
C:\Users\user\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState
以下によって定義されるデフォルトのディストリビューション:
bash# cat /proc/registry/HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Lxss/DefaultDistribution
{861c29b4-ebe2-49a5-8a22-7e53a27934a0}
Linuxのルートはより深いです:
c:/Users/user/AppData/Local/Packages/46932SUSE.openSUSELeap42.2_022rs5jcyhyac/LocalState/rootfs
PS。私はCygwinを使用してレジストリキーを調べました。
同じ目標にPowerShellを使用する場合、コマンドは次のようになります。
# obtain the value of the ID of the default Linux distribution (and store it in a variable to avoid escaping characters issues):
$DEFAULT_LXSS_ID = (Get-ItemPropertyValue -Path REGISTRY::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\ -name DefaultDistribution)
# which will have a value like:
echo $DEFAULT_LXSS_ID
{bde539d6-0c87-4e12-9599-1dcd623fbf07}
# display the directory containing the rootfs Windows directory (mapped to the / Linux directory)
Get-ItemPropertyValue -Path REGISTRY::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\$DEFAULT_LXSS_ID -name BasePath | Format-List -property "BasePath"
%LocalAppData%\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState
私のために働いた唯一のものだった%localappdata%\lxss\home\{username}
場合は、{username}
お使いのBASHのユーザー名でインストール時にそれを与えました。何らかの理由で、隠しフォルダーのlxssを表示した後、に表示されず、WindowsとBASHのユーザー名でフルパスを指定するC:\Users\WINDOWS-USER\AppData\Local\
こともできC:\
ません。
そして、機能するもののデスクトップショートカットを作成してください。
bash
ロケーションバーに入力することで、開いているフォルダーのファイルエクスプローラーウィンドウからBashをすばやく開くことができます。
それは十分だ。
また、コンテキストメニュー項目を追加できます。コンテキストメニューにショートカットを追加するとより多くのRAMが使用されるため、必要でない場合は個人的にはお勧めしません。
https://www.howtogeek.com/270810/how-to-quickly-launch-a-bash-shell-from-windows-10s-file-explorer/
ls -a
、追加したファイルが表示されませんでした。Bashは、Windowsファイルエクスプローラーでドロップしたファイルを認識しませんでした。これは、Windowsにbashをインストールする目的を完全に打ち負かしました。