Ответ 1
Это проблема с файловой системой хоста. Проверьте права доступа к папке хоста, и файловая система хоста поддерживает символические ссылки.
Я создал linux (Centos) в своей виртуальной коробке. Когда я ssh к нему, и я пытаюсь создать символическую ссылку (в моей общей папке с полным доступом):
ln -s path/folder/example myFolder
Я получаю ошибку:
ln: creating symbolic link `myFolder': Protocol error
Есть ли причина или решение?
Это проблема с файловой системой хоста. Проверьте права доступа к папке хоста, и файловая система хоста поддерживает символические ссылки.
Щелкните правой кнопкой мыши на командной строке и "Запуск от имени администратора" (или любую другую программу, которую вы используете, чтобы заставить эти символические ссылки запускаться как администратор).
Вот решение в билете на virtualbox.org: https://www.virtualbox.org/ticket/10085#comment:32 (Примечание: выполните "whoami/priv" в консоли с правами администратора)
Я провел некоторое исследование Windows по этой ошибке.
Если ваш пользователь имеет тип администратора (а не стандартный учетной записи), не существует возможности запуска VB с символическими ссылками, работающими без Запрос UAC.
Если у вас есть стандартная учетная запись пользователя (или если вы хотите переключиться вашей учетной записи к стандарту и создать отдельную учетную запись администратора), решение существует. Однако вам понадобятся права администратора на выполните несколько шагов (не обязательно для вашего пользователя счет).
- Запустите локальную политику безопасности (Win + R, введите "secpol.msc", подтвердите UAC). Затем перейдите в "Локальные политики- > Назначение прав пользователя".
Найдите разрешение "Создание символических ссылок" и дважды щелкните его. Добавьте своего пользователя в список объектов, имеющих этот разрешение. Или вы можете добавить группу "Пользователи". Выйдите из системы и войдите в систему. Вы можно проверить успех, запустив консоль:
whoami /priv
Если вы видите, что привилегия SeCreateSymbolicLinkPrivilege включена, вы хорошо сделано.
Убедитесь, что ваш пользователь имеет правильный доступ к общей папке в хост-системе.
Как уже упоминалось ранее, выполните
VBoxManage setextradata VM_NAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/SHARE_NAME 1
в консоли из папки C:\Program Files\VirtualBox. Не забывайте для замены VM_NAME на имя вашей виртуальной машины и SHARE_NAME имя общей папки (как указано в настройках виртуальной машины).
Вы закончили.
Если вам принадлежит одна из "меньшей" версии окон (например, 7 Home), у вас нет утилиты secpol.msc. Видеть Как предоставить SeCreateSymbolicLink в домашней версии Windows Vistaдля справки.
Как я понимаю, хосты Windows VirtualBox не поддерживают ссылки (из https://www.virtualbox.org/manual/ch04.html#sharedfolders)
Начиная с версии 4.0, общие папки VirtualBox также поддерживают символические ссылки (символические ссылки) при следующих условиях:
Операционная система хоста должна поддерживать символические ссылки (например, Mac, Linux или Хост Solaris требуется).
В настоящее время только гостевые дополнения для Linux и Solaris поддерживают символические ссылки.
В целях безопасности гостевой ОС не разрешено создавать символические ссылки по умолчанию. Если вы доверяете гостевой ОС, чтобы не злоупотреблять функциональностью, вы может включить создание символических ссылок для "sharename" с помощью:
VBoxManage setextradata "Имя VM" VBoxInternal2/SharedFoldersEnableSymlinksCreate/sharename 1
найдите файл cmd.exe. Щелкните правой кнопкой мыши на cmd.exe. Выберите опцию "Запуск от имени администратора". Он должен работать отлично.