Jul*_*uly 513 windows-subsystem-for-linux
我已经在 Windows 10 上安装了 Ubuntu 子系统(在设置中启用功能后),但是 Ubuntu 文件系统根目录位于驱动器中的哪个位置?
sou*_* c. 579
对于从 Windows 商店安装的 Ubuntu:
您通过商店安装的每个发行版都安装到该应用程序的 appdata 目录中。例如:
C:\Users\<username>\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState- benhillis
对于 WSL2,您可以像这样从 Windows(Windows 10 版本 18342)访问主目录:
\\wsl$
Run Code Online (Sandbox Code Playgroud)
在适用于 Linux 的 Windows 子系统的早期迭代中,Ubuntu 文件系统位于%localappdata%\Lxss(例如,在 Windows 上将用户名C:\Users\Username\AppData\Local\Lxss替换为您的用户名)。请参阅有关文件系统支持的 WSL 博客文章:
WSL 使用的主要文件系统是 VolFs。它用于存储 Linux 系统文件以及 Linux 主目录的内容。因此,VolFs 支持 Linux VFS 提供的大多数功能,包括 Linux 权限、符号链接、FIFO、套接字和设备文件。
VolFs 用于挂载 VFS 根目录,
%LocalAppData%\lxss\rootfs用作后备存储。另外,一些附加的volfs的安装点存在,最显着/root和/home其使用安装%LocalAppData%\lxss\root和%LocalAppData%\lxss\home分别。这些单独挂载的原因是当您卸载 WSL 时,默认情况下不会删除主目录,因此将保留存储在那里的任何个人文件。
使用 Windows 应用程序和工具在 Linux 子系统中创建/修改任何文件可能会导致 Ubuntu 子系统中的数据损坏和数据丢失!(感谢Rich Turner提出这些警告!)这是绝对不支持的。来自同一篇博文:
与 Windows 的互操作性
虽然 VolFs 文件存储在 Windows 上上述目录中的常规文件中,但不支持与 Windows 的互操作性。如果将新文件从 Windows 添加到这些目录之一,则它缺少 VolFs 所需的 EA,因此 VolFs 不知道如何处理该文件而只是忽略它。许多编辑器在保存现有文件时也会剥离 EA,再次使该文件在 WSL 中无法使用。
您的 Windows 文件系统位于/mnt/cBash shell 环境中。
来源:Dustin Kirkland 的博客,howtogeek
Nic*_*n16 54
自从 Bash 最初被引入以来,这似乎已经发生了变化,并且不适用于来自 Windows 应用商店的发行版,或者它可能对所有系统都不一致,因为我的主目录位于另一个位置:
%localappdata%\lxss\home\{username}
Run Code Online (Sandbox Code Playgroud)
或者:
C:\Users\{user}\AppData\Local\lxss\{username}
Run Code Online (Sandbox Code Playgroud)
{user}您的 Windows 用户名和{username}安装期间设置的 UNIX 用户名在哪里。
所以根目录将是:
%localappdata%\lxss
Run Code Online (Sandbox Code Playgroud)
请注意,根目录在 Windows 资源管理器中可能不可见%localappdata%。您应该可以通过在资源管理器的“地址栏”中输入它来访问它。
gav*_*koa 14
如果您从 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
Run Code Online (Sandbox Code Playgroud)
默认发行版定义为:
bash# cat /proc/registry/HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Lxss/DefaultDistribution
{861c29b4-ebe2-49a5-8a22-7e53a27934a0}
Run Code Online (Sandbox Code Playgroud)
Linux root 更深:
c:/Users/user/AppData/Local/Packages/46932SUSE.openSUSELeap42.2_022rs5jcyhyac/LocalState/rootfs
Run Code Online (Sandbox Code Playgroud)
附注。我使用 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
Run Code Online (Sandbox Code Playgroud)
您可以通过bash在位置栏中键入,从打开的文件夹的文件资源管理器窗口快速打开 Bash 。
够了。
您也可以添加上下文菜单项。如果不需要,我个人不推荐它,因为向上下文菜单添加快捷方式会占用更多 RAM。
https://www.howtogeek.com/270810/how-to-quickly-launch-a-bash-shell-from-windows-10s-file-explorer/
唯一对我有用的是%localappdata%\lxss\home\{username},其中{username}是您在安装过程中提供的 BASH 用户名。出于某种原因,显示隐藏文件夹的lxss后拒绝出现C:\Users\WINDOWS-USER\AppData\Local\,也给予充分C:\的窗户和BASH的用户名路径也不起作用。
并请为有效的方法创建一个桌面快捷方式。
| 归档时间: |
|
| 查看次数: |
826599 次 |
| 最近记录: |