Совершенно очевидно, что файловая система «хоста» Windows 10 смонтирована в /mnt/c/
с точки зрения «Linux». Но можно ли получить доступ к файловой системе «Linux» из Windows? Если да, то где это?
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.
В настоящее время вы можете установить несколько дистрибутивов 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$
Извините за опоздание на вечеринку!
Более поздняя версия подсистемы linux устанавливает файловую систему под packages
поэтому полный путь будет примерно таким:
C:UsersmyUserNameAppDataLocalPackagesUbuntuLinux.someUIDLocalStaterootfsroot
или же:
C:UsersmyUserNameAppDataLocalPackagesUbuntuLinux.someUIDLocalStaterootfshomemyLinuxUserName
… в зависимости, конечно, от точки монтирования. Выполнение поиска в каталоге для .bashrc
откроет эти пути …
В качестве альтернативы используйте readlink .
в оболочке Linux, чтобы опубликовать текущий путь Linux как путь DOS в буфер обмена Windows. Вставьте где-нибудь разумное, чтобы прочитать фактический физический путь.
Это было спрятано 🙂
— 2000 год
15 мая ’16 в 13:03
Я не могу добавить его в Быстрый доступ проводника Windows в качестве закладки, чтобы было легко.
— Джон
16 мая ’16 и 16:07
Нейтральная к пользователю версия с возможностью копирования и вставки:
%USERPROFILE%AppDataLocalLxssrootfs
— Сильвери
03 авг.
Предупреждение: Согласно Microsoft, вам не следует изменять файловую систему Linux с помощью приложений Windows. blogs.msdn.microsoft.com/commandline/2016/11/17/…
— Кори
30 ноя ’17 в 20:12
Вы можете значительно упростить первую часть этого пути, используя
%LOCALAPPDATA%
вместо%USERPROFILE%AppDataLocal
— Герохтар
18 окт.
Показать 3 больше комментариев