当我将 Windows 路径粘贴到 WSL 控制台窗口中时,它会自动转换为 WSL 路径,例如C:\Windows
粘贴为/mnt/c/Windows
.
然而,这并不反映root
设置/etc/wsl.conf
例如,我编辑/etc/wsl.conf
并替换行root = /mnt/
,root = /
然后Restart-Service -Name "LxssManager"
在 Powershell 中运行并重新启动 WSL。
现在 Windows 驱动器直接挂载到 root 中/c/
,如/d/
等,但粘贴C:\Windows
仍然会导致/mnt/c/Windows
.我怎样才能改变这个以便它粘贴/c/Windows
?
据我了解,实际处理翻译的实用程序是,wslpath
但我找不到如何配置它。
答案1
当我将 Windows 路径粘贴到 WSL 控制台窗口时,它会自动转换为 WSL 路径
为了清楚起见,有两个默认WSL 可能使用的终端:
- 在 Windows 10 下,旧版 Windows 控制台主机
- 在 Windows 11 下(如果已配置),Windows 终端
除非我遗漏了一些东西,否则这些都不会执行您提到的路径翻译。 Windows 控制台主机太旧了,除了 UTF-8 支持之外,已经有好几年没有新功能了。 Windows Terminal 有一个突出的功能要求(第1772章) 为了这。
根据该问题的评论,我认为您可能正在使用康埃穆或者指挥者(基于ConEmu)终端。 Windows 到 POSIX 路径转换是这些终端的一项功能。
如果是这种情况,要更改使用的路径前缀,请转到设置->任务并编辑用于启动 WSL 的任务。更改(或添加):
-cur_console:pm:""
空字符串将删除前缀,以便它将粘贴为/c/Windows
而不是/mnt/c/Windows
。