Вопрос или проблема
Я пытаюсь поделиться конфигурационным файлом между Windows и WSL/Linux.
Файл находится в WSL/Linux, и я хочу создать ссылку на него из Windows.
Вот команда, которую я пробую с учетной записью локального администратора:
New-Item -ItemType SymbolicLink -Path ".\.config\nvim" -Target "\\wsl$\Ubuntu\home\username\.config\nvim"
Но это вызывает следующую ошибку:
New-Item : Не удается найти путь '\\wsl$\Ubuntu\home\username\.config\nvim', так как он не существует.
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
Как я могу создать символическую ссылку, не делая свою учетную запись пользователя администратором?
Убедитесь, что 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
, символические ссылки могут быть созданы без необходимости повышать
консоль как администратор – для этого необходимо, чтобы у вас был включен режим разработчика.
.
Ответ или решение
Чтобы создать символическую ссылку, указывающую на файл конфигурации из WSL в Windows с использованием локальной учетной записи администратора, следуйте пошаговому руководству, приведенному ниже.
Шаг 1: Проверьте доступность путей
Перед началом убедитесь, что путь к файлу конфигурации в WSL доступен. Для этого выполните следующую команду в Windows PowerShell:
cd "\\wsl$\Ubuntu\home\username\.config\nvim"
pwd
Если вы видите выходной результат, подтверждающий, что путь действительно существует, можно переходить к следующему шагу.
Шаг 2: Убедитесь, что у вас есть права на создание символических ссылок
Создание символических ссылок в системе Windows по умолчанию требует прав администратора. Тем не менее, начиная с версии Windows 10, сборка 14972, пользователи могут создавать символические ссылки без необходимости повышения привилегий при условии, что включён Режим Разработчика.
- Перейдите в Настройки > Обновление и безопасность > Для разработчиков.
- Включите Режим разработчика.
Шаг 3: Создание символической ссылки
Существует несколько способов создания символических ссылок. Один из самых простых — использование командной строки cmd
. Откройте обычную командную строку (не PowerShell) и выполните следующую команду:
cmd /c mklink /D "C:\Users\YourUsername\.config\nvim" "\\wsl$\Ubuntu\home\username\.config\nvim"
Параметры команды
mklink
: команда для создания символических ссылок./D
: указывает, что создается символическая ссылка на каталог."C:\Users\YourUsername\.config\nvim"
: это путь, по которому будет находиться символическая ссылка в Windows."\\wsl$\Ubuntu\home\username\.config\nvim"
: путь к целевой директории в WSL.
Шаг 4: Проверка
После выполнения команды, проверьте, что ссылка была успешно создана, перейдя в указанный путь в файловом проводнике Windows и убедившись, что содержимое отображается корректно.
Заключение
Создание символической ссылки из WSL в Windows предоставляет эффективный способ управления файлами конфигурации и обеспечивает поток данных между двумя системами. Следуя приведённым шагам, вы сможете успешно создать символическую ссылку без необходимости повышения прав доступа для вашей учетной записи пользователя.
Дополнительные ресурсы
Вы можете ознакомиться с дополнительной информацией о команде mklink
по следующей ссылке:
Документация mklink.
Следуйте этим инструкциям, и вы сможете легко управлять файлами конфигурации между вашими средами WSL и Windows.