WSL для Linux где хранятся файлы

WSL для Linux где хранятся файлы

Я использую подсистему Windows для Linux (WSL), и когда я создаю файл в домашнем каталоге WSL, где он на самом деле находится в проводнике? Кроме того, поскольку мой диск C: находится в /mnt/c/, означает ли это, что Linux находится на отдельном разделе или смонтирован?

Когда я запускаю list directory в корне для WSL:

bin  boot  dev  etc  home  init  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

Где находится папка varили в обычном проводнике?binhome

решение1

Подтверждение - Нет! Что касается комментария и вашего соответствующего ответа, пожалуйстаникогдадоступ к файлам напрямую через %LOCALAPPDATA%\Packages\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState\rootfs. Хотя верно, что для WSL1 файлыхранитсятам WSL, доступ к ним напрямую может привести к повреждению WSL. Также обратите внимание, что для WSL2 файлы находятся внутри виртуального HDD ( ext4.vhdx), поэтому это вообще не позволяет вам использовать эту технику.

ЦитироватьDevBlog Microsoft на эту тему:

В отношении WSL в Windows существует одно непреложное правило:

НИ при каких обстоятельствах не открывайте, не создавайте и/или не изменяйте файлы Linux внутри вашей %LOCALAPPDATA%папки с помощью приложений, инструментов, скриптов, консолей Windows и т. д. Открытие файлов с помощью некоторых инструментов Windows может заблокировать чтение открытых файлов и/или папок, что сделает невозможным обновление содержимого файлов и/или метаданных, что по сути приведет к повреждению файлов/папок.

Создание/изменение файлов Linux в папке Appdata из Windows, скорее всего, приведет к повреждению данных и/или повреждению среды Linux, что потребует удаления и переустановки дистрибутива!

Правильный ответ также находится на этой странице. WSL предоставляет \\wsl$\<distroname>псевдо-сетевой ресурс, который позволит вамбезопаснодоступ к файловой системе WSL из Windows. Обратите внимание, что экземпляр WSL должен быть запущен, чтобы отобразиться в \\wsl$\.

решение2

Согласно комментарию @Narzard, правильным ответом в моем случае было перейти в эту папку:

%LOCALAPPDATA%\Packages\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState\rootfs

Поскольку у меня дистрибутив Debian, имя вашей папки пакета может отличаться от моего, но общая идея та же самая. И действительно, когда я иду по этому пути, появляются все корневые папки Linux.

Как указал @NotTheDr01ds, вам не следует выполнять никаких операций с этой папкой, поскольку это может повредить ваш WSL. Это просто "фактическая папка", если по какой-то причине вы хотели это знать.

Связанный контент