Как получить доступ к общей папке в VirtualBox?

Я выполнил действия по совместному использованию папок между Windows 7 и Ubuntu в VirtualBox.

Несмотря на это, папка отображается со знаком X и выдает мне следующее сообщение при попытке ее открыть:

Содержимое папки не удалось отобразить

Когда я выбираю Shared Folder из виртуального ящика Device меню, отображается следующее предупреждение:

На странице "Система" вы выделили виртуальной машине более 50% памяти вашего компьютера (2,93 ГБ)...

Как я могу успешно обмениваться папками между Windows и Ubuntu с помощью VirtualBox?

Доступ к общим папкам в виртуальном ящике

Командная строка

По умолчанию общие папки VirtualBox создаются с разрешением на чтение/запись для гостя. Это можно сделать из командной строки на хосте с:

VBoxManage sharedfolder add "VM name" --name sharename --hostpath "C:\test"

Путем добавления опции --readonly мы можем ограничить их доступ только для чтения. Используйте --transient опция, если вы хотите, чтобы общие ресурсы отображались только в текущем сеансе, но не сохранялись для следующих сеансов. Существуют некоторые ограничения для общих папок (см. этот вопрос для получения подробной информации). Если выполнены предварительные условия, мы можем смонтировать эти общие папки вручную, выполнив следующие команды в гостевой:

mkdir /home/<user>/vboxsharesudo mount -t vboxsf -o uid=1000,gid=1000 sharename /home/<user>/vboxshare  

Конечно, мы также можем использовать различные варианты монтирования для монтирования только для чтения или монтирования с доступом только для чтения для root.

Автоматическое монтирование через диспетчер виртуальных ящиков

В случае, если мы включили автоматическое монтирование при создании общей папки из диспетчера виртуальных ящиков, эти общие папки будут автоматически смонтированы в гостевой системе с точкой монтирования /media/sf_<name_of_folder>. Чтобы иметь доступ к этим папкам, пользователи в гостевой группе должны быть членами группы vboxsf.

sudo usermod -aG vboxsf userName

Гость потребуется перезапустить чтобы добавить новую группу.

Источник и дальнейшее чтение: Руководство пользователя Виртуального Ящика

На самом деле есть простой способ сделать это:

  1. Установите пакет расширений для VirtualBox.
  2. Перезагрузите свою виртуальную машину
  3. Установите гостевые дополнения в свой гостевой Ubuntu
  • Вы можете смонтировать ISO, который находится на /media или нажать Left Control+D
  1. Перезагрузить

  2. Попробуйте получить доступ /media/sf_your_shared_folder_name. Если у вас все еще нет доступа, это означает, что вы не принадлежите к vboxsf группа, как сказал Нило. Эта команда решит вашу проблему:

     sudo adduser your_username vboxsf
  3. Выйдите из системы и войдите в систему снова, чтобы применить изменения adduser. Если вы все еще не можете получить доступ к папке, попробуйте перезагрузиться.

  4. Если вы все еще не видите общую папку, вам необходимо смонтировать ее. Вы можете активировать автоматическую установку для общей папки в настройках VirtualBox Manager.

  5. Перезагрузите снова.

Во-первых, пожалуйста, убедитесь, что вы установили гостевые дополнения

  1. Запустите свою виртуальную машину

  2. >Устройства Вставляют образ компакт-диска с гостевыми дополнениями...Insert Guest Additions CD image...

  3. Смонтируйте компакт-диск:

    sudo mount /dev/cdrom /media/cdrom
  4. Установите необходимые пакеты:

    sudo apt-get install make gcc linux-headers-$(uname -r)
  5. Устанавливать:

    sudo /media/cdrom/VBoxLinuxAdditions.run

Во-вторых, добавьте своего пользователя в группу "vboxsf":

~$ echo $USER; ahmed~$ sudo usermod -a -G vboxsf ahmed

Перезагрузить

Знайте, что метка вашей общей папки lpi (например):

Edit shared folder

Добавлять sf_ к этикетке. Затем вы найдете свою общую папку в разделе /media/sf_lpi

Наконец, вы также можете создать ссылку на свой дом. Например:

ln -s /media/sf_lpi /home/ahmed/lpi

:)

Добавьте общую папку на виртуальную машину с помощью графического интерфейса VBoxОбязательно выберите автоматический монтаж и сделать постоянным

Войдите в виртуальную машину, используя учетную запись root

Проверьте, существует ли группа vboxsf

~$ grep vboxsf /etc/groupvboxsf:x:125:

Проверьте, что пользователь еще не входит в группу vboxsf

~$ id nilouid=1000(nilo) gid=1000(nilo) groups=1000(nilo),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),109(lpadmin),124(sambashare)

Добавить пользователя nilo в группу vboxsf

~$ sudo usermod -a -G vboxsf nilo

Проверьте еще раз группы пользователей

~$ id nilouid=1000(nilo) gid=1000(nilo) groups=1000(nilo),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),109(lpadmin),124(sambashare),125(vboxsf)

Перезагрузитесь и войдите в систему как nilo

Общая папка теперь доступна в /media/sf_dropbox (dropbox - это имя, которое я дал общему ресурсу)

>>Общий доступ к папке между ОС хоста- Windows и гостевой ОС -Ubuntu (Виртуальная коробка)

Шаг 1>Установка установите гостевые дополнения из меню VirtualBox перейдите в раздел Устройства-Установка гостевых дополнений. Это позволит смонтировать виртуальный компакт-диск на вашем /media/cdrom. Как пользователь root Откройте эту добавленную папку /media/ cdrom, используя опцию Открыть с помощью терминала (щелкните правой кнопкой мыши).

Шаг 2Run the program VBoxLinuxAdditions.run. When the program completes reboot your VirtualBox.

$ sudo ./VBoxLinuxAdditions.run

Шаг 3>>Создайте общую папку. Из виртуального меню перейдите в раздел Устройства-Общие папки, затем добавьте новую папку в список, эта папка должна быть той в Windows, которой вы хотите поделиться с Ubuntu (гостевой ОС).Сделайте автоматическое монтирование этой созданной папки.Пример - Создайте папку на рабочем столе с именем Ubuntushare и добавьте эту папку.

Шаг 4Когда вы закончите со спецификацией общих папок, мы смонтируем папку из Ubuntu (гостевой ОС). Создайте точку монтирования, это каталог в Ubuntu, который будет обмениваться файлами с общей папкой из Windows.Запустите это, чтобы создать каталог в Ubuntu

$ sudo mkdir ~/Desktop/windowsshare

Шаг 5Создав свою точку монтирования, теперь вы можете смонтировать общую папку.Запустите эту команду, чтобы предоставить общий доступ к папке:

$ sudo mount -t vboxsf Ubuntushare ~/Desktop/windowsshare

Ubuntushare - это имя папки, которую мы добавляем в раздел устройств VirtualBox. Эта папка находится в Windows(хост-ОС).~/Desktop/windowsshare - это каталог в Ubuntu(гостевая ОС).

>ПОЗДРАВЛЯЕМ - теперь вы можете обмениваться файлами между Windows и Ubuntu. Попробуйте добавить любой файл в общую папку Ubuntu Windows (хост-ОС), теперь проверьте каталог windowsshare Ubuntu (гостевая ОС), файл будет отражен.

Моя Статья

Общая папка для Windows и ubuntu

На данный момент (версия 6.0.10 VirtualBox) существуют make permanent и auto-mount параметры для общей папки, также mount point (At) в графическом интерфейсе virtualbox. Для меня сработало следующее:

  1. На гостевой Ubuntu: sudo apt-get install virtualbox-guest-utils
  2. Добавьте общую папку в графический интерфейс VirtualBox.
  3. Перезагрузите гостевую ОС

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

  1. Установите программу под названием "Программы и группы" из Центра программного обеспечения
  2. Выберите текущего пользователя и нажмите на Управление группами
  3. Выберите vboxsf и нажмите "Добавить"
  4. Перезагрузить

Опоздал на вечеринку, но вот решение, которое хорошо сработало для меня:

  1. Убедитесь, что у вас есть Дополнения для гостей установленный

    • И все необходимые пакеты: linux-headers, build-essential, gcc, make...
  2. Добавь Общая папка

    • В диспетчере VirtualBox выберите свою виртуальную машину (VM)
    • Настройки >> Общие папки >> Добавить новую общую папку
    • Путь к папке: путь к папке, к которой будет предоставлен общий доступ с вашей виртуальной машиной
    • Имя папки: имя общей папки, которая будет отображаться в вашей виртуальной машине
    • Отметьте галочкой Автоматическое крепление опция, позволяющая автоматически монтировать папку при запуске виртуальной машины
  3. После добавления общей папки ваша папка появится в вашей виртуальной машине как sf_<folder_name>

    • Проблема в том, что вы не удается получить доступ это, если вы не вошли в систему как root пользователь
  4. Давать разрешения в общую папку. Открытый терминал (Ctrl+Alt+T) и введите эти команды:

    sudo usermod -a -G vboxsf <username>sudo chown -R <username>:users /media/sf_<folder_name>
    • где <username> - ваше имя пользователя, <folder_name> - имя общей папки
    • Что делают эти команды, так это:
      1. добавляет пользователя в vboxsf группа
      2. изменяет права собственности на общую папку (это все файлы и подкаталоги) для пользователя
  5. Перезагрузите свою виртуальную машину

Выполните эти действия после установки гостевых дополнений. Для среды хоста Windows 10 на компьютере с Windows мне пришлось предоставлять общий доступ к папкам.

  1. Щелкните правой кнопкой мыши папку для общего доступа
  2. Выберите "Поделиться с"
  3. Выберите "Конкретные люди"
  4. Выбрал всех, варианты чтения / записи
  5. На клиентской машине Ubuntu выполните команду: sudo adduser xxxxxxx vboxsf

где xxxxxx - это имя вашей учетной записи пользователя. Выйдите из системы и снова войдите в Ubuntu.

  1. Создайте каталог, в котором вы собираетесь смонтировать это, например mkdir docs

  2. Установите гостевые дополнения на гостевой компьютер Ubuntu.

  3. Выключите гостевой Ubuntu, затем настройте его.

  4. В хранилище настройте свою общую папку и запишите, что вы задали в качестве имени во втором поле. Например, "сумасшедший". Установите флажок для автоматического монтирования.

  5. Загрузите гостя Ubuntu.

  6. Как вы сказали, на самом деле он не будет доступен. (Это ключевая часть вашего вопроса.) Вы обнаружите, что вместо этого он присутствует в /media/sf_crazy, где "сумасшедший" - это название, которое вы ему дали. И он также будет присутствовать в вашем домашнем каталоге по адресу ~/crazy.

  7. Теперь вам нужно сделать еще один шаг, чтобы действительно смонтировать его:

    sudo mount -o uid=1000,gid=1000 -t vboxsf ~/crazy ~/docs

Обратите внимание, что вы не можете делиться символическими ссылками!