Какова процедура монтирования общей папки VirtualBox в Linux?
Я пробовал варианты следующей команды монтирования, но продолжаю получать protocol error
или другие ошибки монтирования.
sudo mount -t vboxsf share /home/toto
Хорошо, это меня немного сбивало с толку, но я наконец понял, что происходит. Поэтому я решил отдать свои 2 цента в надежде, что это будет более понятно для других, и если я когда-нибудь забуду:).
Я не использовал имя общего ресурса, созданного в виртуальной машине, вместо этого я использовал Поделиться или vb_share когда имя моей доли было wd так что это меня на минуту сбило с толку.
Сначала добавьте свой общий каталог в ящик виртуальной машины:
Как бы вы здесь ни назвали свою общую папку, это будет то имя, которое вам нужно будет использовать при монтировании в гостевой ОС vm. т.е. я назвал свой "вд" для моего привода западного цифрового паспорта.
Затем в ОС guset создайте каталог, который будет использоваться для монтирования, предпочтительно в вашем домашнем каталоге.
mkdir share
Затем откройте терминал и скопируйте и вставьте следующее или введите его. Вы можете включить общий буфер обмена в Устройство-> Общий буфер обмена-> Двунаправленный
sudo mount -t vboxsf wd ~/share/
Теперь у вас должна быть возможность копировать файлы между ОС, используя папку "Поделиться" в вашем домашнем каталоге.
Надеюсь это поможет!
Для VirtualBox с гостевой ОС Linux выполните следующие действия для монтирования общей папки:
Используйте приложение хоста VirtualBox, VirtualBox Manager, чтобы указать папки хоста для совместного использования.
Убедитесь, что гостевые дополнения VirtualBox установлены в гостевой системе VirtualBox.
В гостевой системе Linux команда mount должна отображать строку о том, что общий ресурс был смонтирован. На это указывает type vboxsf
. Проблема заключается в том, что точка монтирования может быть не там, где нужно, а разрешения - только root. Место монтирования по умолчанию находится в /media/sf_
.
Вы можете получить доступ к общему ресурсу, сделав идентификатор пользователя или группы 1000
, член группы vboxsf
. Это делается путем изменения vboxsf
линия в /etc/group
файл. Может потребоваться перезагрузка.
Вы можете изменить место подключения папки с помощью команды VBoxControl. Команда устанавливается при установке гостевых дополнений. Может потребоваться перезагрузка. Например, чтобы изменить точку монтирования с /media/sf_...
к /home/toto/sf_...
используйте следующую команду, чтобы установить гостевое свойство общей папки VirtualBox:
sudo VBoxControl guestproperty set / VirtualBox / GuestAdd / SharedFolders / MountDir / home / toto /
Чтобы подтвердить изменение, используйте get:
sudo VBoxControl guestproperty get /VirtualBox/GuestAdd/SharedFolders/MountDir
Ссылки:
При встрече:
mount: Protocol error
после попытки поделиться папками в VirtualBox, например:
$ sudo mount -o uid=1000,gid=1000 -t vboxsf D_DRIVE ~/host
это наконец сработало для меня:
$ sudo apt-get install virtualbox-guest-dkms
(Моя установка: хост Windows 7, гости: Ubuntu 12.04,13.10,14.04; в настоящее время работает VBox 4.3.10 r93012)
Установите дополнения виртуального бокса в гостевой ОС. Затем выключите гостевую ОС. Откройте настройки гостя в виртуальном окне. Затем добавьте общую папку и сохраните настройки. Затем запустите гостевую ОС и для ubuntu выполните следующую команду. Он добавляет текущего пользователя в группу vboxsf.
sudo adduser $ USER vboxsf
перезагрузите гостевую ОС и перейдите в / media /, чтобы получить доступ к общей папке.
Внутри гостевой системы VirtualBox Linux или Mac OS X после установки гостевых дополнений VirtualBox вы можете обнаружить доступные общие папки VirtualBox с помощью следующей команды:
sudo VBoxControl sharedfolder list
Если ваша домашняя папка внутри вашего гостя содержит папки с такими же именами, как и общие папки VirtualBox, вы можете смонтировать их автоматически с помощью следующего сценария оболочки:
#!/bin/sh
#-----------------------------------------------------------------------------
# Discover VirtualBox shared folders and mount them if it makes sense
#-----------------------------------------------------------------------------
if ! type VBoxControl > /dev/null; then
echo 'VirtualBox Guest Additions NOT found' > /dev/stderr
exit 1
fi
MY_UID="$(id -u)"
MY_GID="$(id -g)"
( set -x; sudo VBoxControl sharedfolder list; ) | \
grep '^ *[0-9][0-9]* *- *' | \
sed -e 's/^ *[0-9][0-9]* *- *//' | \
while read SHARED_FOLDER
do
MOUNT_POINT="$HOME/$SHARED_FOLDER"
if [ -d "$MOUNT_POINT" ]; then
MOUNTED="$(mount | grep "$MOUNT_POINT")"
if [ "$MOUNTED" ]; then
echo "Already mounted : $MOUNTED"
else
(
set -x
sudo mount -t vboxsf -o "nosuid,uid=$MY_UID,gid=$MY_GID" "$SHARED_FOLDER" "$MOUNT_POINT"
)
fi
fi
done
Когда вы получаете следующую ошибку: /sbin/mount.vboxsf: сбой монтирования с ошибкой: ошибка протокола
К сожалению, это означает, что вы используете имя общего ресурса по умолчанию или имя общего каталога хоста такое же, как имя подключенного гостевого общего ресурса. В данном случае это «доля». Просто создайте еще одну общую папку, то есть «vb_share», а затем просто выполните:
mount -t vboxsf vb_share / home / <пользователь> / хост
mkdir share
, например )