Virtualbox: монтирование общей папки в гостевой FreeBSD из Host Ubuntu

9

У меня Ubuntu 12.10 в качестве ОС хоста и FreeBSD 9 в качестве гостевой ОС в Virtualbox 4.1.18. Я установил Samba в Ubuntu и FreeBSD и поделился несколькими папками из virtualbox, также отметив эту automountопцию.

Я также сделал right click and shareв Ubuntu. Но когда я пытаюсь смонтировать во FreeBSD используя

mount -t vboxfs sharedfolder /home/user/shared`

он говорит, что sharedfolderоперация не разрешена. Я также использовал

mount_smbfs //10.0.0.2/sharedfolder /home/user/shared

но я получаю can't get server address

Как поделиться папкой / файлами между Host Ubuntu и Guest FreeBSD из virtualbox?

Бернхард
источник
Есть ли у вас причины не использовать NFS?
Петер
1
NFS ??? Как ? или он установлен по умолчанию?
2
Сетевая файловая система должна быть установлена ​​по умолчанию, а если нет, вы можете установить ее как любые другие пакеты. Это самая известная сетевая файловая система для Unices.
Петер
Кстати, скорее всего, это sharedfolder: Operation not permittedозначает, что только root может сделать это.
Апостол
«Общие папки для гостей FreeBSD пока не поддерживаются» - смотрите мой ответ ниже
Александр Позднеев

Ответы:

4

самба

С помощью samba можно смонтировать либо общую папку FreeBSD, либо общую папку Ubuntu. Оба способа работают. В любом случае вам нужно настроить общую папку (вы упомянули, что для этого использовали графический интерфейс Ubuntu), а затем на другой машине вам необходимо смонтировать общий ресурс, используя правильный IP-адрес и убедившись, что и Гость, и Хост находятся на одном и том же сеть или использование переадресации портов, если у вас настроен NAT.

Поскольку существует слишком много решений, я не буду перечислять их все здесь. Пожалуйста, не могли бы вы предоставить больше информации о конфигурации сети вашей гостевой ОС? Какие настройки вы использовали при создании виртуальной машины? Используете ли вы NAT, Bridge, Host-only или Internal Network? Я приведу вам один пример, который предполагает, что ваш гость может просматривать в сети ваш хост (например, у вас есть одна сетевая карта, определенная как только хост).

Сначала поделитесь сетевой папкой в ​​Ubuntu, как вы это сделали. Убедитесь, что в Samba на хосте Ubuntu создана учетная запись пользователя или возможен гостевой доступ (например, sudo smbpasswd -a <username>чтобы предоставить доступ пользователю, замените его именем пользователя).

Затем во FreeBSD подключите общий ресурс Ubuntu, используя правильный IP-адрес (вероятно, 10.0.0.2 - это тот «NAT-маршрутизатор», созданный VirtualBox и, следовательно, он не будет работать), например, либо используйте IP-адрес Ubuntu на ваша локальная сеть (например, 192.168.1.x) или та, которая была определена для интерфейса только для хоста. Тогда ваша mount_smbfsкоманда будет успешной:

mount_smbfs -U <username> //<correct IP>/sharedfolder /home/user/shared

vboxsf

Когда vboxsf поддерживается FreeBSD (спасибо Александру за это) и если вы хотите использовать встроенный механизм общего доступа VirtualBox с vboxsf, вам необходимо установить гостевые дополнения в гостевую ОС (в некоторых случаях FreeBSD). Обычно это делается через меню VirtualBox под Devices , есть ярлык для установки гостевых дополнений ... .

Однако для FreeBSD вы должны сделать это по-другому. У них есть специальная документация для этого:

После установки гостевых дополнений вы можете использовать mountкоманду с vboxsfфайловой системой. Однако вам необходимо предоставить общий доступ к папке, используя механизм общих папок VirtualBox, см. В меню « Устройства» VirtualBox пункт « Поделиться папками ...» . Обратите внимание, что имя, которое вы дадите общему ресурсу в этом меню, будет названием «устройства», которое вы даете монтировать.

Гюйгенс
источник
Я использую NAT, сеть по умолчанию для GuestOS. Я пытался mount vboxsfдаже с su, но не повезло. У меня есть общая папка с механизмом общего доступа virtualbox, settingsи я Shared Foldersдал имя sharedfoldersтем, которыми хочу поделиться. Я также использовал automountопцию, доступную при обмене с использованием virtualbox.
@JhilkeDai Как я уже сказал, вы можете использовать только vboxsfи, Shared Folderесли вы установили гостевые дополнения в гостевой ОС, на которые я дал вам несколько ссылок. Вы их установили? Для Samba попробуйте использовать режим «Мост», предоставьте общий доступ к папке на хосте (Ubuntu) и попытайтесь получить к ней доступ из гостевой системы (FreeBSD), используя smbclient -L <ubuntu hostname>.
Гюйгенс
да, гостевые дополнения были уловкой в ​​GuestOS, я никогда не догадывался, что так может быть, и я не понимаю, как это работает. Но это работает: D
1
Добавление гостевых дополнений аналогично добавлению набора новых драйверов на виртуальную машину гостя. По аналогии с невиртуальной средой это похоже на установку графической карты без драйверов, у вас нет доступа ко всем возможностям. После установки драйверов вы можете получить все функции, поскольку ОС знает о них и предлагает использовать их пользователям.
Гюйгенс
1
Извините за грубость, я сильно укусил после того, как доверял ответу и потратил много времени, пытаясь использовать его, пока не прочитал другой ответ.
Абель Чунг
10

Как указано в другой теме ,

Общие папки для гостей FreeBSD пока не поддерживаются [...]. Существует некоторый черновой код и модуль ядра для него, но он пока не работает.

Это по состоянию на 24 июня 2014 года.

Александр Позднеев
источник
2

На github есть порт:

https://github.com/lwhsu/freebsd-vboxfs

Проверено на успешную работу FreeBSD 11.0-RELEASE-p1.

Ванагасом
источник
1
Говорит "не полностью работает" на GitHub. И не обновляется с 11 января - на следующий день после того, как вы опубликовали свой ответ :)
Михаил Т.
0

На сегодняшний день (2020-05) формально работают все способы монтирования папок хоста с использованием собственной vboxvfs:

mount_vboxvfs -w myshare /mnt
mount -t vboxvfs myshare /mnt

Единственная проблема здесь - результат очень нестабильный (в качестве хоста использовалась FreeBSD 12). Я пробовал разные комбинации версий гостевых ОС (FreeBSD 11 и 12), флаг кэша ввода-вывода хоста в настройках контроллера, флаги монтирования только для чтения и т. Д. - ничто не приносит стабильной работы. Файлы появляются \ исчезают, вы увидите все виды глюков, например, папка ведет себя как файл и т. Д. У меня также много паники ядра в гостевой ОС.

Таким образом, единственный действительный способ предоставить общий доступ к папке из хост-системы во FreeBSD Guest - это использование NFS. Это работает очень хорошо, без проблем до сих пор.

ARA1307
источник