我一直在使用适用于 Linux 的 Windows 子系统 (WSL),当我在 WSL 的主目录中创建一个文件时,它在文件资源管理器中实际存在于哪里,而且,由于我的 C:驱动器位于 /mnt/c/,这是否意味着 Linux 位于单独的分区或挂载点上?
当我在 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
)内,因此它根本无法使用此技术。
对于 Windows 上的 WSL 来说,有一条硬性规定:
在任何情况下,都不要
%LOCALAPPDATA%
使用 Windows 应用程序、工具、脚本、控制台等访问、创建和/或修改文件夹内的 Linux 文件。使用某些 Windows 工具打开文件可能会读取锁定打开的文件和/或文件夹,从而阻止更新文件内容和/或元数据,从而导致文件/文件夹损坏。
在 Windows 中创建/更改 Appdata 文件夹中的 Linux 文件可能会导致数据损坏和/或损坏您的 Linux 环境,需要您卸载并重新安装您的发行版!
正确答案也在该页面中。WSL 提供了一个\\wsl$\<distroname>
伪网络共享,可让您安全地从 Windows 访问 WSL 文件系统。请注意,WSL 实例确实需要运行才能显示在 中\\wsl$\
。
答案2
根据@Narzard的评论,对我来说正确的答案是转到此文件夹:
%LOCALAPPDATA%\Packages\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState\rootfs
由于我使用的是 Debian 发行版,因此您的软件包文件夹名称可能与我的不同,但总体思路是相同的。事实上,当我转到该路径时,linux 的根文件夹全部出现。
正如 @NotTheDr01ds 指出的那样,您不应该对此文件夹执行任何操作,因为它可能会损坏您的 WSL。如果您出于某种原因想知道的话,这只是“实际文件夹”。