WSL for linux 文件存储在哪里

WSL for linux 文件存储在哪里

我一直在使用适用于 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

varbinhome文件夹在普通文件资源管理器中的什么位置?

答案1

答:不!关于评论和你相应的自我回答,请绝不直接通过 访问文件%LOCALAPPDATA%\Packages\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState\rootfs。虽然对于 WSL1 来说,文件是存储通过 WSL,直接访问它们可能会导致 WSL 损坏。另请注意,对于 WSL2,文件位于虚拟 HDD(ext4.vhdx)内,因此它根本无法使用此技术。

去引用Microsoft 关于此主题的 DevBlog

对于 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。如果您出于某种原因想知道的话,这只是“实际文件夹”。

相关内容