我的 Windows 10 笔记本电脑上安装了 Windows Subsystem for Linux,并且安装了 Ubuntu-20.04。今天,我读了一篇来自微软的旧博客文章,不要使用 Windows 应用和工具更改 Linux 文件,其中说...
%LOCALAPPDATA%
在任何情况下,都不要使用 Windows 应用程序、工具、脚本、控制台等访问、创建和/或修改文件夹内的 Linux 文件。使用某些 Windows 工具打开文件可能会读取锁定打开的文件和/或文件夹,从而阻止更新文件内容和/或元数据,从而导致文件/文件夹损坏。
在 Windows 中创建/更改 Appdata 文件夹中的 Linux 文件将 可能会导致数据损坏和/或损坏您的 Linux 环境,需要您卸载并重新安装您的发行版!
为什么是这样?
文件元数据(例如权限、所有权、时间戳等)存储在存储设备上的每个文件、文件夹等中。遗憾的是,文件元数据的表示形式因操作系统而异:Windows 文件元数据与 Linux 文件元数据不同。
虽然存储和更新文件元数据是操作系统的工作,但大多数 Windows 对 Linux 和 Linux 文件元数据一无所知,并且不会自动添加或更新所有 Windows 文件的 Linux 文件元数据,因为这会给绝大多数永远不会运行 WSL 的 Windows 用户带来不必要的开销。
WSL 的工作是为 Linux 文件系统根目录(即 /)下的所有文件写入/更新 Linux 文件元数据,并将 Linux 元数据存储在每个文件的 NTFS 扩展属性中。WSL 还会为 Windows 文件系统中的大多数文件合成伪元数据。
例如,当您使用 Windows 应用程序/工具打开、创建和/或修改发行版根目录下的文件时,就会出现问题:由于该文件是使用 Windows 工具创建的,因此该文件没有任何 Linux 文件元数据(例如权限、所有者、访问/更新时间戳等)。因此,对于 Linux(仅接收 Linux 文件元数据),该文件可能被报告为空,甚至可能不存在,或者可能有一些元数据,但该元数据可能无法反映文件的详细信息,导致文件的内容被损坏。
我想这一切都比较清楚了……只是我读得太晚了。我很确定我确实使用标准 Windows 应用程序将一些文件复制到/复制到 Appdata 文件夹中的主目录中。我不记得了,但我可能已经使用 Notepad++ 打开了文件,编辑了它们,然后保存了它们。
因此,如果我从表面上接受这个建议,听起来我的 Linux 发行版“可能已损坏”。但我的问题是,我怎么才能确定呢?我从未注意到那里有任何奇怪的行为。我想知道我是否应该卸载并重新安装。