
Я использую подсистему 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
или в обычном проводнике?bin
home
решение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. Это просто "фактическая папка", если по какой-то причине вы хотели это знать.