为什么在 Windows 中无法访问 drvfs 挂载点下使用非管理 WSL 创建的同一驱动器相对路径符号链接?

为什么在 Windows 中无法访问 drvfs 挂载点下使用非管理 WSL 创建的同一驱动器相对路径符号链接?

当我尝试在 Windows 端的 Windows 驱动器/drvfs 挂载点下使用我使用 WSL 创建的相同驱动器、相对路径 NTFS 符号链接时,出现无法访问的错误。符号链接的角落有一个文件夹/目录的图标,但没有“链接图标”。

但是,如果在管理员 PowerShell(Windows 终端)启动的 WSL shell 中创建符号链接,它在 Windows 端也可以正常工作。为什么?

答案1

事实证明,当 WSL 未以管理员身份启动时,它会默认创建“WSL 符号链接”(除了 msys2 左右之外,在 Windows 端无法使用),即使目标是相对路径且与链接位于同一驱动器上。

因为目标路径是相对的,所以在 Windows 上是可识别的(即使链接不可用),因此,使用文件夹/目录图标而不是“白皮书”文件图标作为链接。

显然,WSL 并未(至少从 Windows 11 21H2 开始不再是)针对 NTFS 符号链接的特权例外/升级。但是,长期以来一直有一种方法可以允许非管理员用户创建 NTFS 符号链接,即开发者模式

在此处输入图片描述

(Windows 11 21H2 上的设置位置)

启用该模式后,使用非管理 WSL 针对特定情况(Windows 驱动器 + 相同驱动器 + 相对路径)创建的符号链接将是正确的 NTFS 符号链接。

相关内容