Где находится корневой каталог файловой системы Ubuntu в подсистеме Windows для Linux и наоборот?

Я установил подсистему Ubuntu в Windows 10 (после включения функции в настройках), но где находится корневой каталог файловой системы Ubuntu на диске?

513
задан 3 August 2018 в 18:28

6 ответов

Для Ubuntu, установленного из магазина Windows:

Каждый дистрибутив, который вы устанавливаете через магазин, устанавливается на этот каталог appdata приложения. Например: C: \ Users \ \ AppData \ Local \ Packages \ CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc \ LocalState - benhillis

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

\\wsl$

В более ранних версиях подсистемы Windows для Linux файловая система Ubuntu располагалась по адресу % localappdata% \ Lxss (например, C: \ Users \ Username \ AppData \ Local \ Lxss - замените Имя пользователя своим именем пользователя в Windows). См. сообщение в блоге WSL о поддержке файловой системы :

Основная файловая система, используемая WSL, - это VolFs. Он используется для хранения Системные файлы Linux, а также содержимое вашего дома Linux каталог. Таким образом, VolFs поддерживает большинство функций Linux VFS. предоставляет, в том числе разрешения Linux, символические ссылки, FIFO, сокеты, и файлы устройств.

VolFs используется для монтирования корневого каталога VFS, используя % LocalAppData% \ lxss \ rootfs в качестве резервного хранилища. Кроме того, существует несколько дополнительных точек монтирования VolF, в первую очередь / root и / home , которые монтируются с использованием % LocalAppData% \ lxss \ root и % LocalAppData% \ lxss \ home соответственно. Причина этих отдельных mounts заключается в том, что при удалении WSL домашние каталоги не удаляется по умолчанию, поэтому все личные файлы, хранящиеся там, будут

ВНИМАНИЕ

Создание / изменение любых файлов в подсистеме Linux с помощью приложений и инструментов Windows может привести к повреждению и потере данных в подсистеме Ubuntu! (Спасибо Ричу Тернеру за эти слова предостережения!) Это абсолютно не поддерживается. Из того же сообщения в блоге:

Взаимодействие с Windows

Хотя файлы VolFs хранятся в обычных файлах в Windows в упомянутые выше каталоги, совместимость с Windows не поддерживается.Если новый файл добавлен в один из этих каталогов из Windows, в нем отсутствуют советники, необходимые для VolFs, поэтому VolFs не знает, что делать с файлом и просто игнорирует его. Многие редакторы также удаляйте советники при сохранении существующего файла, снова делая файл невозможно использовать в WSL.


Ваша файловая система Windows находится по адресу / mnt / c в среде оболочки Bash.

enter image description here

Источник: Блог Дастина Киркланда , howtogeek

530
ответ дан 4 August 2018 в 04:28
  • 1
    Мог проверить Ваш собственный ответ как принятый, таким образом, другие пользователи могут найти его легко. – user.dz 17 September 2017 в 21:57

Кажется, изменились с тех пор, как был впервые представлен Bash, и не применяется к дистрибутивам из Магазина Windows, или, возможно, он не согласован для всех систем, поскольку мой домашний каталог находится в другом месте:

%localappdata%\lxss\home\{username}

или:

C:\Users\{user}\AppData\Local\lxss\{username}

Где {user} - ваше имя пользователя Windows, а {username} - ваше имя пользователя UNIX, заданное во время установки.

Таким образом, корневой каталог будет:

%localappdata%\lxss

Обратите внимание, что корневой каталог может не отображаться в проводнике Windows из каталога % localappdata% . Вы все равно сможете получить к нему доступ, набрав его в «адресной строке» проводника.

54
ответ дан 4 August 2018 в 04:28
  • 1
    К сожалению, я не. Купленный у Системы 76. Это будет все еще работать, если это не будут Dell Computer? – Fred 5 September 2017 в 17:27

Вы можете быстро открыть Bash из окна проводника открытой папки, набрав bash в строке местоположения.

Достаточно.

Также вы можете добавить пункт контекстного меню. Я лично не рекомендую его, если он не нужен, потому что добавление ярлыков в контекстное меню требует больше оперативной памяти.

https://www.howtogeek.com/270810/how-to-quickly-launch-a-bash-shell -from-windows-10s-file-explorer /

5
ответ дан 4 August 2018 в 04:28
  • 1
    Объяснения об отказе alltray являются хорошим ответом tho. Так короче говоря это не возможно, если мы не разветвляемся и продолжаем от того, где они остановились, так, чтобы один заслужил +1. kdocker альтернатива не работает на меня, если бы у Вас есть больше подсказок об этом, было бы прохладно:) – Aquarius Power 10 June 2018 в 11:53

Единственное, что у меня сработало, это % localappdata% \ lxss \ home \ {username} , где {username} - это ваше имя пользователя BASH, которое вы дали ему во время установки. По какой-то причине, после отображения скрытой папки lxss отказывается отображаться в C: \ Users \ WINDOWS-USER \ AppData \ Local \ , а также дает полный путь C: \ с окнами и имя пользователя BASH тоже не работает.

И создайте на рабочем столе ярлык для того, что работает.

5
ответ дан 4 August 2018 в 04:28
  • 1
    мой kdocker является версией 4.6-2, я должен обновить его? с kdocker xev я получаю " не Мог найти окно соответствия для xev в требуемое время: 5 секунд ". это позволяет, мы выбираем любое приложение для прикрепления его в лотке, что интересно, но не работает как, только выбранное первое обнаружится. – Aquarius Power 10 June 2018 в 11:51

Если вы устанавливаете Linux из MS Market:

они поместили дистрибутивы в:

$ 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

PPS. https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/

14
ответ дан 4 August 2018 в 04:28
  • 1
    Я должен быть в состоянии протестировать его также с Gnome и обновить этот ответ в ближайшие дни, если Вы в состоянии протестировать его с Gnome, ранее не стесняйтесь редактировать и обновлять ответ. – Kubuntuer82 9 June 2018 в 10:50

Для тех, кто ищет местоположение изображения: C: \ Users \ [имя пользователя] \ AppData \ Local \ Packages \ CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc \ LocalState \ ext4.vhdx

0
ответ дан 5 January 2021 в 22:41

Другие вопросы по тегам:

Похожие вопросы: