
Я использую Ubuntu 12.04 Server (гостевая машина) на VirtualBox, используя Windows 7 в качестве хост-машины.
Я создаю папку с именем "Server12.04" на рабочем столе моей хост-машины и расшариваю ее в Virtual Box (отметив опцию автоматического монтирования). Как мне получить доступ к общей папке на гостевой машине (которая является сервером Ubuntu 12.04)?
Я получил один референс-ответ отСвязьно это не помогло. Всякий раз, когда я пытался поделиться папкой, я получал следующую ошибку:-
Программа 'VmBoxManage' в настоящее время не установлена. Вы можете установить ее, набрав apt-get install virtualbox
. Означает, зачем устанавливать VirtualBox внутри VirtualBox ??
Пожалуйста, помогите мне. Спасибо заранее!!
решение1
На хостовой ОС вы создаете общую папку, запустив
VBoxManage sharedfolder add "VM name" --name "sharename" --hostpath "C:\test"
На гостевой системе вам необходимо запустить
mkdir /home/<user>/vboxshare
sudo mount -t vboxsf -o uid=1000,gid=1000 share /home/<user>/vboxshare
VBoxManage может изменять настройки VirtualBox, но если у вас уже создан этот общий ресурс, нет необходимости выполнять эту команду.
решение2
TL;DR
На сервере Ubuntu без гостевых дополнений вручную смонтируйте общую папку на гостевой ОС, например:
mkdir /mnt/sharedfolder
sudo mount -t vboxsf FolderNameInVBoxSettings /mnt/sharedfolder
Если вышеизложенное работает нормально, добавьте соответствующую запись, /etc/fstab
чтобы сделать ее постоянной.
Подробные инструкции
Позвольте мне поделиться тем, что сработало для меня в двух разных конфигурациях: Ubuntu 20.04 LTS Desktop и Ubuntu 20.04.3 LTS Server на хосте Windows 10. Я буду использовать пример имени пользователя sun
. Первый шаг является общим и выполняется через VirtualBox UI (у меня 6.1.26 на момент публикации), путем выбора целевой виртуальной машины и перехода кНастройки > Общие папкии нажав кнопку «Добавить общую папку»:
В диалоговом окне я ввел исходный путь Windows в "Путь к папке", произвольное имя для общей папки в "Имя папки" и "Точку монтирования", которая является допустимым путем по моему выбору на гостевой машине. Обратите внимание, что "somename" должен быть пустым каталогом:
Для рабочего стола Ubuntu
Для настольного компьютера я также отметил опцию «Автомонтирование» выше. Предполагая, чтогостевые дополненияуже установлены, и что somename
каталог существует, то это все, что нужно сделать. Общая папка будет видна, даже при перезагрузке.
Чтобы не приходилось каждый раз использовать sudo
для доступа к общей папке, я сделалеще кое-что:
sudo adduser sun vboxsf
Для сервера Ubuntu
Для сервера без установленных гостевых дополнений я принял во вниманиеПроизвольноеИмявыше, поскольку мне нужно будет использовать то же имя для команды монтирования в гостевой системе Linux:
mkdir /home/sun/somename
sudo mount -t vboxsf ArbitraryName /home/sun/somename
Проверяю, вижу ли я файлы:
cd /home/sun/somename
ls
Да, файлы Windows там! Но это монтирование будет потеряно при перезагрузке, поэтому я делаю его постоянным, добавляя запись в /etc/fstab
:
$ sudo vim /etc/fstab
# My VirtualBox shared folder entry in /etc/fstab
ArbitraryName /home/sun/somename vboxsf defaults 0 0
Опять же, ArbitraryName
это должен быть тот же, что указан в настройках VirtualBox, т. е. тот же, что мы использовали в предыдущей mount
тестовой команде. Теперь я могу перезагрузить машину и после входа в систему я могу ls /home/sun/somename
увидеть файлы моих общих папок Windows! В качестве бонуса мне не понравилась зеленая подсветка каталогов общих папок, поэтому я добавил следующее в свой ~/.bashrc
:
export LS_COLORS=$LS_COLORS:'ow=1;34:';
Вышеуказанное избавляет от этой подсветки, но сохраняет другие цвета, например, синий для каталогов. Надеюсь, это будет полезно!