Общая папка Vagrant и символические ссылки под Windows 10

У меня есть бродячая коробка с Linux внутри под Windows 10 (VirtualBox 5.1.4, Vagrant 1.8.5). Я работаю с Git Bash как обычный пользователь. Внутри бродячей коробки я не могу создать символическую ссылку:

c:/path/to/my/vagrant-project/ vagrant up + vagrant ssh
/home/vagrant/my-shared-folder/ $ ln -s /any/path/to/linux/box/folder my-symlink-name
/home/vagrant/my-shared-folder/ $ ln: creating symbolic link `my-symlink-name': Protocol error

Под Windows 7 он работал с: Как мне создать ссылку в Windows 7 Home Premium для обычного пользователя?

Итак, что-нибудь изменилось под Windows 10?

3 ответа

Я долго боролся с одной и той же проблемой. Удостоверься что:

  • Опция VirtualBox "SharedFoldersEnableSymlinksCreate" активна для каждой папки *1)
  • Вы ДОЛЖНЫ запускать GitBash от имени пользователя "Администратор", поскольку кажется, что управление пользователями в Windows просто позволяет создавать символические ссылки для пользователей "Администратор" *2)

    1. Вы можете сделать это вручную из командной строки Windows ( setextradata через VBoxManager) или через Vagrantfile, например

      virtualbox.customize ['setextradata', :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate//vagrant", '1']  
      
    2. Щелкните правой кнопкой мыши значок GitBash и запустите от имени администратора.

    После этого вы сможете войти в окно vagrant и создать символические ссылки внутри общих папок, которые отображаются в проводнике Windows как файлы.symlink.

Если символические ссылки создаются в операционной системе хоста (Windows) с использованием mklink с параметром /d и относительными путями, то они синхронизируются на гостевой машине, также во время работы vagrant без прав администратора или каких-либо дополнительных прав.

mklink /D somelink ..\..\some\relative\path

Бродяга: 1.9.1, VirtualBox: 5.0.32

PS: mklink все еще требует прав администратора

Уже есть тема, описывающая, как создать символическую ссылку в Windows 10.

Я просто быстро описываю это еще раз. Сначала создайте соединение:

junction "C:\Documents and Settings\UserName\My Documents\My Dropbox\My Games" "C:\Documents and Settings\UserName\My Documents\My Games"

Создайте символическую ссылку на каталог, используя mlink:

mklink /D "C:\Documents and Settings\UserName\My Documents\My Dropbox\My Games" "C:\Documents and Settings\UserName\My Documents\My Games"

Настройки безопасности для создания символической ссылки могут быть предоставлены здесь:

Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment\

Вы также можете скачать соединение и создать с помощью команд.

Другие вопросы по тегам