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


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


299
2018-04-21 10:06


происхождения


ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ  Мы (команда WSL) СИЛЬНО рекомендую вам НЕ ПОЛУЧИТЬ в папки данных дистрибутива Linux ). Если вы это сделаете, потеря данных и / или коррупция очень важны Мы работаем над улучшением этого сценария взаимодействия и объявим о любом прогрессе в нашем блоге: blogs.msdn.microsoft.com/commandline - Rich Turner
@RichTurner Я обнаружил, что существует очень специфическая (и раздражающая) причина - корпоративные политики, которые неоднократно отмечают папку .ssh с неправильными разрешениями, требуют обозначения структуры как «вне пределов» для корпоративных скриптов. Но вообще - я согласен с тобой. - Danny Staple
Хотя это выглядит как на коробках с более свежими обновлениями - этого больше не происходит. - Danny Staple
@DannyStaple Если вам нужно изменить разрешения на файлы / папки в вашем дистрибутиве Linux из Windows, используйте wsl.exe, например. wsl chmod 600 ~/.ssh/id* - делать не скопируйте файлы в эти папки через файловую систему Windows. - Rich Turner


ответы:


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

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

В более ранних итерациях подсистемы 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 как резервное хранилище. Кроме того,   существует несколько дополнительных точек крепления VolFs, в первую очередь /root а также    /home которые монтируются с использованием %LocalAppData%\lxss\root а также    %LocalAppData%\lxss\home соответственно. Причина этих отдельных   mounts заключается в том, что при удалении WSL домашние каталоги не   удалены по умолчанию, поэтому любые личные файлы, хранящиеся там, будут   сохранились.

ВНИМАНИЕ

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

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

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


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

enter image description here

Источник: Блог пользователя Dustin Kirkland, howtogeek


323
2018-04-21 10:34



Lxss был скрыт в моей файловой системе ... вызвал немного головной царапины для истерической минуты или двух. Теперь я создал ярлык, но я все еще не могу показать его. - Ogaday
@Ogaday вы не можете отобразить его, используя окно свойств, потому что оно помечено как системный каталог. Вы можете отобразить его, используя attrib -s -h lxss который также отменит ее как системный каталог. - developerbmw
Похоже, что местоположение изменилось или изменилось между системами, так как мое находится в другом месте. Я разместил ниже свое местоположение. - NicholasJohn16
@souravc Не могли бы вы добавить важную заметку к началу своего ответа, настоятельно рекомендуя создавать или изменять любые файлы в LXSS с помощью приложений и инструментов Windows. Повреждение данных и потеря очень вероятны, если вы это сделаете! - Rich Turner
Пожалуйста, прочитайте сообщение, упомянутое выше: blogs.msdn.microsoft.com/commandline/2016/11/17/..., Безопасно получить доступ к файловой системе Windows из WSL, поэтому мы монтируем ваши диски под /mnt/<drive>/, но НЕ безопасно (пока) для доступа к файловой системе Linux из Windows, поэтому мы не обеспечиваем легкий доступ к файловой системе distro. - Rich Turner


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

%localappdata%\lxss\home\{username}

или:

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

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

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

%localappdata%\lxss

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


45
2017-08-10 18:35



Моя машина не может найти: «C: \ Users \ {user} \ AppData \ Local \ Lxss \ {username}" или "% localappdata% \ Lxss \ home \ {username}", но "C: \ Users \ {user } \ AppData \ Local \ lxss \ {username} "работает. И.Е. используйте "lxss" NOT "Lxss" - Joe Codeswell user601770
Моя система имеет подкаталог rootfs, но rootfs / home пуст, а ./home имеет мою учетную запись и файлы. Кажется более безопасным просто перейти к% localappdata% \ lxss, а затем исследовать оттуда, чтобы увидеть, какой у вас есть макет, а также прямой просмотр этого адреса позволяет избежать проблем с скрытой директорией lxss. - jla
@ JoeCodeswelluser601770 Это странно. Файловые системы Windows обычно нечувствительны к регистру. Я могу ввести% localappdata% \ Lxss или% localappdata% \ lxss и оба перейти в% HOMEPATH% \ AppData \ Local \ lxss - jla
Обратите внимание, что эта папка (lxss) не появилась в моем списке проводников Windows в папках AppData \ Local, даже если скрытые папки включены. Мне пришлось вручную вставить папку lxss в панель проводника, чтобы добраться до файлов здесь, например. отредактируйте папку «url» туда - Colin D
Кроме того, вы можете перейти на Рабочий стол, щелкнуть правой кнопкой мыши «Создать-> Ярлык» и вставить путь, например C: \ Users \ yourname \ AppData \ Local \ lxss \ home \ yourname - Colin D


Если вы установите 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 для изучения ключей реестра.

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


9
2017-09-13 14:54





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

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


5
2018-06-09 17:02



wow хороший наконечник, имел ту же самую проблему - Nicolas Mommaerts


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

Достаточно.

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

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


4
2018-02-21 20:19



Не работает для меня. Он открывает командную строку и запускает bash. - blablatros
@blablatros да, но в папке в bash в witch у вас был проводник, открытый при записи в basher bar explorer и нажав enter. Попробуйте в папке Мои документы открыла папку проводника Windows и в строке расположения напишите bash, и она откроет ubuntu bash в этой папке уже :) - Kangarooo
@Kangarooo: Я хочу получить доступ к файлам через windows 10 gui, а также наоборот. В моем ответе выше я узнал, как найти каталог bash через проводник файлов Windows 10, и поэтому я приступил к копированию некоторых файлов с моего внешнего жесткого диска в этот каталог. Однако, когда я открыл терминал bash и нажал ls -a, он не показывал файлы, которые я добавил. Bash не узнал файлы, которые я запустил через Windows File Explorer, который для меня полностью победил цель установки bash на windows. - thinksinbinary