【问题标题】:How to get path to Linux installation from within WSL in Fall Creators Update如何在 Fall Creators Update 中从 WSL 中获取 Linux 安装路径
【发布时间】:2017-10-22 17:45:33
【问题描述】:

在最近的更新之前,WSL 根文件系统始终位于 C:\Users\%username%\AppData\Local\lxss,但现在从 App Store 安装 Linux 时,每次安装可能会有所不同。例如对于我机器上的 Ubuntu,它是 C:\Users\%username%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs

有没有办法从当前 WSL 会话中检测到此路径?

【问题讨论】:

    标签: windows windows-10 windows-subsystem-for-linux


    【解决方案1】:

    在 PowerShell 中:

    > echo ($env:LOCALAPPDATA + '\Packages\' + ($(get-appxpackage).PackageFamilyName|findstr UbuntuonWindows))
    C:\Users\Reker\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc
    

    您可以通过与 windows cmd.exe 或 powershell.exe 互操作,在 Windows 14393 或更高版本的 bash.exe 中运行上述命令

    【讨论】:

    • 如果安装了多个 Linux 发行版怎么办。如何检测当前的?
    • 获取当前发行版名称,然后读取 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\ 中的密钥
    【解决方案2】:

    正如其他用户所指出的,现在您可以安装多个 Linux 发行版,并且每个发行版都有自己的文件系统,位于不同的文件夹中。每个文件系统的位置可以从 Windows 注册表中获得。

    您可以运行regedit 并查找信息。数据位于

    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss
    

    此外,您还可以启动一个 PowerShell 窗口并执行以下命令来确定所有已安装的 Linux 发行版的信息。

    (Get-ChildItem "HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss" -Recurse)
    

    要获取文件系统的位置,您可以运行

    (Get-ChildItem HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss | ForEach-Object {Get-ItemProperty $_.PSPath}) | select DistributionName,BasePath
    

    【讨论】:

      猜你喜欢
      • 2018-04-15
      • 1970-01-01
      • 1970-01-01
      • 2018-04-22
      • 1970-01-01
      • 1970-01-01
      • 2022-01-02
      • 2023-02-09
      • 2011-01-30
      相关资源
      最近更新 更多