Під час завантаження змонтуйте VirtualBox SharedFolder в Ubuntu VM


15

У мене працює Ubuntu VM в VirtualBox.
У мене створена спільна папка, оскільки у myshare мене в папці створено домашню папку ( ~/jamesw) як host. за допомогою рядка sudo mount -t vboxsf myshare hostз мого домашнього каталогу в Terminal правильно монтується диск, але якщо я перезавантажую його, він не змонтований знову.

Це VM, який я використовую для запуску простого веб-сервера, і мені хотілося б, щоб цей Share встановлювався кожен раз при завантаженні. Чи можна це зробити? Тим більше, враховуючи, що для цього потрібне судо?

Відповіді:


22

Автоматично монтуйте спільні папки за допомогою Virtual Box Manager

З Virtual Box> 4.0 ми можемо автоматично монтувати спільні папки у віртуальній машині. Для цього для Ubuntu ми

  • потрібно встановити додатки для гостей у гостьовій ОС
  • переконайтеся, що користувачі в групі vboxsf
  • визначити спільні папки з Менеджера віртуальних вікон

Клацніть правою кнопкою миші на вашій віртуальній машині та виберіть Налаштування-> Спільні папки . У цьому списку будуть наявні спільні папки або ви зможете визначити нову спільну частину, натиснувши на синю піктограму папки із зеленим +знаком у верхній правій частині:

введіть тут опис зображення

Виберіть папку зі спадного меню Шлях до папки або оберіть Визначити інше для вибору файлу, який містить список файлової системи хосту. Виберіть назву для папки (наприклад, myshares ). Поставивши позначку Автомобільне встановлення, ця папка завжди буде встановлена ​​у гостьовій директорії Ubuntu /media/sf_myshares(префікс sf_автоматично додається).


Крім того, для визначення спільних папок у запущеній гостьовій ОС ми можемо вибрати Пристрої -> Спільні папки у віконному меню Менеджера віртуальних вікон:

введіть тут опис зображення

Поставивши позначку " Зробити перманентною", ці спільні папки також будуть доступні під час наступного завантаження та змонтуватимуться, коли додатково поставлено галочку " Автоматичне кріплення" .


Це змусить гостьову ОС автоматизувати частку хоста , і я вважаю, що ОП хоче протилежне: встановити гостьову частку в його хост- ОС. Якщо я помиляюсь, то я зовсім неправильно зрозумів питання, і мою відповідь слід ігнорувати
MestreLion

1
@MestreLion: Ви помиляєтесь, вибачте! Я думаю, що моя проблема полягає в тому, що я ніколи не міг знайти Спільний диск на Ubuntu VM, тому що я не мав уявлення, що він встановлюється на / медіа. Якби я зрозумів, що це питання навіть не було б необхідним.
Джеймс П. Райт

@James: О, мені дуже шкода. Монтувати частку хоста в гостьовій ОС легко, і у вас є кілька варіантів. Окрім (чудового, btw) відповіді, наведеної тут, чи знаєте ви, що гостьова ОС може бути помічена в локальній мережі так само, як у звичайній машині? Просто змініть мережу з типового NATна Bridged. Тепер ви можете "обміняти" акції з гостя на хост (і навпаки), використовуючи Наутілус, Самба тощо ...
MestreLion

@MestreLion: якщо чесно - я в основному ділюсь своїми хост-файлами (і гостями), використовуючи Samba через мережу;)
Takkat

@Takkat: Я теж! (і це робить обидві наші відповіді застарілими!: P)
MestreLion

7

Я не думаю, що використання / etc / fstab не працюватиме (для мене це не спрацювало), оскільки цей файл обробляється до завантаження модуля SF і не зможе змонтувати спільний доступ, див. HOWTO: Use Shared Folders 1 .


1
Див. Forums.virtualbox.org/viewtopic.php?f=3&t=15868 про те, як це виправити. В основному додайте команду mount в /etc/rc.local або еквівалент.
Reinier Post

2

Це ще не повна відповідь, але більше схожі на вказівки щодо двох підходів:

1 - Ви можете відредагувати /etc/fstabта додати там це кріплення. Вам потрібно буде перевести параметр mount в синтаксис fstab. Дика здогадка була б чимось на кшталт /home/jamesw/host vboxsf myshare,umask=002,uid=<youruser>,gid=plugdev 0 0. Вам потрібно sudoбуде відредагувати свій fstab, але, як тільки це буде зроблено, він буде автоматично встановлений на завантаженні. Оскільки це робиться до того, як ви навіть увійдете в систему, вам потрібен абсолютний шлях до точки монтажу (отже, / home / jamesw / host), ви не можете використовувати $HOMEабо ~. Підказка: папка "хост" не повинна існувати. Якщо він знаходиться у fstab, mount створить його для вас.

2 - Ви можете використовувати fusermountзамість кріплення. Синтаксис схожий (але не тотожний, тому вам потрібно перекласти параметри монтажу). Fusermount вимагає, щоб точка монтажу була десь у вашому $ HOME, але найбільша перевага полягає в тому, що вам це не потрібно sudo. І кріплення буде доступне в Nautilus (як би це був компакт-диск або USB-ключ). Після отримання правильних параметрів та тестування їх можна додати до своїх ~/.profile, які запускаються щоразу, коли ви входите в систему.

EDIT: Я припускаю, що або Virtualbox не потрібно, щоб машина фактично працювала для того, щоб він спільно використовував папки, АБО що він працює і працює перед тим, як увійти в систему


Використання / etc / fstab не працює, дивіться відповідь Кеннета Гулбрандшёя.
Reinier Post

0

Ubuntu 16.04 гостьові та загальнодоступні папки автоматично встановлюють доступ до звичайного користувача

Для автоматичного налаштування та доступу до цих папок як звичайного користувача, необхідні певні кроки.

  1. Не використовуйте офіційні додатки для гостей. Замість цього встановіть virtualbox-guest-dkms.

    sudo apt-get install -y virtualbox-guest-dkms
    sudo usermod -aG vboxsf $(whoami)
    sudo VBoxControl guestproperty set /VirtualBox/GuestAdd/SharedFolders/MountDir ~/vbshare
  2. Додайте декілька спільних папок із Auto-mountі Permanentвстановіть галочку.

  3. Перезапустити vm.
  4. Перевірте, чи встановлені будь-які папки vb:

    mount | grep vboxsf

  5. Якщо так, змініть право власності ~/vbshareна себе.

    sudo chown $(whoami):$(whoami) ~/vbshare

Додайте нові спільні папки без перезавантаження VM

  1. Додати спільну папку.
  2. Перевірте, чи зможете ви знайти його у списку за допомогою цієї команди:

    sudo VBoxControl sharedfolder list

  3. Якщо так, створіть каталог і змонтуйте

    mkdir ~/vbshare/newfolder
    sudo mount -t vboxsf newfolder ~/vbshare/newfolder
    
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.