在 WSL2 中,如何从 Windows 端以不区分大小写的方式访问我的 \\wsl.localhost\Ubuntu?

在 WSL2 中,如何从 Windows 端以不区分大小写的方式访问我的 \\wsl.localhost\Ubuntu?

因此,我在 Windows 端运行一个应用程序,并希望该应用程序访问 Linux 文件。我在那里看到所有 Linux 文件:

\\wsl.localhost\Ubuntu

但 Windows 应用程序将对任何文件使用任意大小写,因为它被编程为不区分大小写。它从未想过它会在区分大小写的文件系统上运行。

因此,我的 Windows 应用程序将找到文件\\wsl.localhost\Ubuntu\FooBar.txt,然后尝试访问文件\\wsl.localhost\Ubuntu\FOOBAR.TXT,然后想知道为什么它找不到它正在寻找的文件。

这里的解决方案不起作用:调整区分大小写。而且,无论是谁写的,都没有明确说明哪一方试图访问每个解决方案的哪一方的文件。我尝试了在 wsl.conf 中设置某些内容然后重新启动 WSL 的方法,但它不允许我\\wsl.localhost\Ubuntu\FooBar.txt通过键入来访问\\wsl.localhost\Ubuntu\FOOBAR.TXT

答案1

这篇文章讨论了使 NTFS 不区分大小写。你要求的恰恰相反。不幸的是,虽然 Linux 上的 Ext4 也支持不区分大小写,WSL 中未启用此功能眼下。

一种替代方法是使用传统的 SMB 文件共享1,因为即使文件系统不支持不区分大小写,Linux 上的 Samba SMB 服务器也内部支持不区分大小写。

1\\wsl.localhost使用 9P,而不是 SMB。)

答案2

WSL 不支持 不区分大小写的文件名

我能看到的唯一可能性是将两个名称赋予同一个文件,通过在 Ubuntu 文件夹中创建一个名为 的FOOBAR.TXT指向的符号链接FooBar.txt,这样两个名称都存在并引用同一个文件。

相关内容