Где находится файловая система подсистемы Linux в Windows 10?

Совершенно очевидно, что файловая система «хоста» Windows 10 смонтирована в /mnt/c/ с точки зрения «Linux». Но можно ли получить доступ к файловой системе «Linux» из Windows? Если да, то где это?

6 ответов
6

Единая корневая файловая система находилась здесь до обновления Windows 10 Fall Creators (выпущенного в октябре 2017 г.):

%LOCALAPPDATA%Lxssrootfs

Например, C:UsersVigoAppDataLocalLxssrootfs

Остальные точки монтирования расположены на один уровень выше в lxss каталог. Например, ваш собственный home каталог в Linux будет в %LOCALAPPDATA%Lxsshome.

Начиная с обновления Fall Creators можно установить более одного экземпляра Linux и запускать их параллельно. Существующий экземпляр (он же устаревший) останется в своем каталоге, но новые созданные экземпляры будут находиться в:

%LOCALAPPDATA%Packages<distribution_specific_name>_<random_string>LocalStaterootfs

Например, моя установка Ubuntu 18.04 находится под

CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc

каталог.

Предупреждение: Остерегайтесь Создайте, модифицировать или же Удалить файлы, расположенные под lxss или дерево дистрибутива из Windows.

Изучение и чтение файлов — единственная безопасная операция. Видеть это Страница блога Microsoft для подробностей.

Обратите внимание, что, начиная со сборки 1903, существует альтернативный способ доступа к файлам работающего дистрибутива, который не обнаруживает ранее упомянутых проблем.

Просто используйте путь \wsl$<distribution_specific_name> и вы сможете создавать и изменять файлы. AppData все еще нет поддерживаемый способ доступа к файлам в сборке 1903.

  • Это было спрятано 🙂

    — 2000 год
    15 мая ’16 в 13:03

  • Я не могу добавить его в Быстрый доступ проводника Windows в качестве закладки, чтобы было легко.

    — Джон
    16 мая ’16 и 16:07

  • 4

    Нейтральная к пользователю версия с возможностью копирования и вставки: %USERPROFILE%AppDataLocalLxssrootfs

    — Сильвери
    03 авг.

  • 3

    Предупреждение: Согласно Microsoft, вам не следует изменять файловую систему Linux с помощью приложений Windows. blogs.msdn.microsoft.com/commandline/2016/11/17/…

    — Кори
    30 ноя ’17 в 20:12

  • 1

    Вы можете значительно упростить первую часть этого пути, используя %LOCALAPPDATA% вместо %USERPROFILE%AppDataLocal

    — Герохтар
    18 окт.

В настоящее время вы можете установить несколько дистрибутивов Linux. Следовательно, у каждого дистрибутива будет своя собственная файловая система, расположенная в отдельной папке.

  • Если вы устанавливаете некоторые дистрибутивы Linux из Магазина Windows, файловые системы находятся в %USERPROFILE%AppDataLocalPackages...LocalStaterootfs
  • Если вы установили, переместили или продублировали дистрибутив Linux, используя LxRunOffline или любая версия WSLDistroLauncher, файловая система может располагаться в любой папке вашего компьютера.

Получение информации из реестра

Расположение каждой файловой системы можно получить из реестра Windows. Данные расположены под

HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionLxss

Вы можете запустить окно PowerShell и выполнить следующую команду, чтобы получить расположение файловых систем.

PS> (Get-ChildItem HKCU:SoftwareMicrosoftWindowsCurrentVersionLxss | ForEach-Object {Get-ItemProperty $_.PSPath}) | select DistributionName, @{n="Path";e={$_.BasePath + "rootfs"}}

Вы получите таблицу со следующей информацией

DistributionName Path
---------------- ----
Ubuntu           C:UsersJaimeAppDataLocalPackagesCanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgscLocalStaterootfs
Ubuntu-18.04     C:UsersJaimeAppDataLocalPackagesCanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgscLocalStaterootfs
mydistro         C:wslmydistrorootfs

Использование lxRunOffline

LxRunOffline это инструмент для управления дистрибутивами Linux, установленными на WSL. Вы можете использовать LxRunOffline, чтобы получить каталог, используемый установленным дистрибутивом

# lxrunoffline get-dir -n <name of the distro>

C:> lxrunoffline get-dir -n backup
c:wslinstalledbackup

C:> lxrunoffline get-dir -n Ubuntu
C:UsersJaimeAppDataLocalPackagesCanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgscLocalState

    Для WSL2 вы можете получить доступ к домашнему каталогу из проводника Windows следующим образом:

    \wsl$
    

    Извините за опоздание на вечеринку!

    • 3

      Это должно быть обновлено, чтобы быть правильным ответом

      — рад
      15 янв.

    Более поздняя версия подсистемы linux устанавливает файловую систему под packages поэтому полный путь будет примерно таким:

    C:UsersmyUserNameAppDataLocalPackagesUbuntuLinux.someUIDLocalStaterootfsroot
    

    или же:

    C:UsersmyUserNameAppDataLocalPackagesUbuntuLinux.someUIDLocalStaterootfshomemyLinuxUserName
    

    … в зависимости, конечно, от точки монтирования. Выполнение поиска в каталоге для .bashrc откроет эти пути …

    В качестве альтернативы используйте readlink . в оболочке Linux, чтобы опубликовать текущий путь Linux как путь DOS в буфер обмена Windows. Вставьте где-нибудь разумное, чтобы прочитать фактический физический путь.

      Добавить комментарий

      Ваш адрес email не будет опубликован. Обязательные поля помечены *