我正在尝试在 Windows 和 WSL/Linux 之间共享一个配置文件。
该文件位于 wsl/linux 中,我想从 windows 链接到它。
这是我使用本地管理员帐户尝试执行的命令:
New-Item -ItemType SymbolicLink -Path ".\.config\nvim" -Target "\\wsl$\Ubuntu\home\username\.config\nvim"
但这会引发这个错误:
New-Item : Cannot find path '\\wsl$\Ubuntu\home\username\.config\nvim' because it does not exist.
At line:1 char:1
+ New-Item -ItemType SymbolicLink -Path ".\.config\nvim" -Target "\\wsl ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (\\wsl$\Ubuntu\home\username\.config\nvim:String) [New-Item], ItemNotFound
Exception
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.NewItemCommand
本地管理员帐户看不到 wsl 目录。
我的用户帐户看到了
cd "\\wsl$\Ubuntu\home\username\.config\nvim"
pwd
Path
----
Microsoft.PowerShell.Core\FileSystem::\\wsl$\Ubuntu\home\username\.config\nvim
如何在不使我的用户帐户成为管理员的情况下创建符号链接?
答案1
确保 PowerShell 在没有管理权限的情况下运行,并使用mklink
以下格式的命令。
cmd /c mklink /D "C:\Users\YourUsername\.config\nvim" "\\wsl$\Ubuntu\home\username\.config\nvim"
支持资源
-
海拔
默认情况下,只有管理员可以创建符号链接。可以在以下位置授予安全设置“创建符号链接”:
Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment\
创建符号链接需要提升权限,
Windows 10 build 14972
但从无需提升控制台即可创建符号链接作为管理员 -但这要求您启用开发人员模式。