Як встановити спільну папку VirtualBox? [зачинено]


58

Яка процедура встановлення спільної папки VirtualBox в Linux?

Я спробував варіанти наступної команди mount, але я продовжую отримувати protocol errorабо інші помилки монтажу.

sudo mount -t vboxsf share /home/toto

Це питання? Будь ласка, перефразуйте її, щоб вона стала питанням, опублікуйте власну відповідь на неї, і я буду більш ніж радий зняти голосування.
крижана вода

1
Відредаговано відповідно до стандартів Q&A.

pls оновіть питання, що ви спробували та яку помилку ви отримаєте

Відредаговано для показу непрацюючої команди. Поширена помилка, protocol errorяк сказано в питанні.

Я отримую з цієї помилки будь-яке рішення цієї "mount: невідомої файлової системи типу" vboxsf ""
sandip divekar

Відповіді:


111

Добре, це було трохи заплутано для мене, але я нарешті зрозумів, що відбувається. Тому я вирішив дати свої 2 копійки з надією, що це стане зрозумілішим для інших і якщо я забуду коли-небудь у майбутньому:).

Я не використовував ім'я папки, яку я створив у віртуальній машині , замість цього я використав share або vb_share, коли ім'я моєї частки було wd, і це мене на хвилину плутало .

Спочатку додайте до своєї папки каталог у вікні VM: введіть тут опис зображення

Як би ви не назвали свою подію тут, буде ім'ям, яке вам потрібно буде використовувати під час монтажу в гостьовій ОС vm. тобто я назвав свій "wd" для мого західного цифрового паспорта.

Далі на ОС guset зробіть каталог, який слід використовувати для монтажу, бажано, у вашому домашньому каталозі.

mkdir share

Далі відкрийте термінал і скопіюйте та вставте наступне або введіть його. Ви можете увімкнути спільний буфер обміну в розділі Пристрій-> Спільний буфер обміну-> Двонаправлений

sudo mount -t vboxsf wd ~/share/

Тепер ви зможете копіювати файли між ОС, використовуючи папку "спільний доступ" у вашому домашньому каталозі.

Сподіваюся, це допомагає!


1
Я витратив кілька годин, щоб зрозуміти, як можна отримати файли від Гість. Виявилося, що "sharename" (з офіційної документації VBox) в команді "mount" - це справедливий ІМЯ, зазначений у віртуальному вікні Спільні папки в першому стовпчику. Чудова робота, ти мій герой.
zen11625

2
чудова відповідь, +1 за скріншот ... Це закріплює частку як root, проте я вірю. Дивіться [docs] ( forums.virtualbox.org/viewtopic.php?t=15868 ) про те, як встановити його як свого поточного користувача, наприклад:sudo mount -t vboxsf -o rw,uid=1000,gid=1000 share ~/host
timbrown

@user Як зробити це кріплення автоматичним під час завантаження?

Якщо ви не знаєте свого ідентифікатора користувача, ви можете використовувати змінні. у цьому випадку команда кургану стаєsudo mount -t vboxsf -o uid=$UID,gid=$(id -g) wd ~/share

28

Для VirtualBox з гостем Linux це кроки для монтажу спільної папки:

  1. Скористайтеся програмою хоста VirtualBox, менеджером VirtualBox, щоб вказати папки хоста для спільного доступу.

  2. Переконайтесь, що в гості VirtualBox встановлені додатки для гостей.

  3. У гості Linux команда mount повинна показувати рядок, на який була змонтована поділка. Про це свідчить type vboxsf. Проблема стає в тому, що точка монтажу може не бути там, де бажано, а права доступу є кореневими. Місце встановлення за замовчуванням знаходиться в /media/sf_.

  4. Ви можете отримати доступ до папки, зробивши користувача або ідентифікатора групи 1000членом групи vboxsf. Це робиться шляхом зміни vboxsfрядка у /etc/groupфайлі. Може знадобитися перезавантаження.

  5. За допомогою команди VBoxControl ви можете змінити місце монтування папки. Команда встановлюється, коли встановлено додатки для гостей. Може знадобитися перезавантаження. Наприклад, щоб змінити точку монтування з /media/sf_...до /home/toto/sf_...використовуйте наступну команду , щоб встановити VirtualBox спільно guestproperty папки:

sudo VBoxControl набір власників / VirtualBox / GuestAdd / SharedFolders / MountDir / home / toto /

Щоб підтвердити зміну, використовуйте get:

sudo VBoxControl guestproperty get /VirtualBox/GuestAdd/SharedFolders/MountDir

Список літератури:

Інформація про загальну папку VirtualBox

Інформація про власність гостя VirtualBox


4
Нова проблема: з Vbox 4.3.10 посилання розірвано, перевірте, щоб перевірити (ls -l) /sbin/mount.vboxsf Якщо цієї цілі не існує, каталог повинен бути переглянуто наново: sudo ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsf
ppostma1

4
Щоб додати користувача myuser до групи vboxsf, ви можете використовувати: sudo adduser myuser vboxsf

VirtualBox 4.3.14 виправляє додатки для гостей, встановлюють проблеми для RHEL 7 та CentOS 7. Встановлюйте додатки для

Я на VirtualBox 4.3.20 в Windows 8.1. У мене в UM встановлений Ubuntu. Я не бачу type vboxsfпри виконанні mountкоманди, навіть якщо в мене встановлені гості! будь ласка, допоможіть
J86

20

При зустрічі:

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)


5

Встановіть віртуальне доповнення до вікна гостя. Потім вимкніть гостьову ОС. Відкрийте налаштування готелю у віртуальному вікні. Потім додайте загальну папку та збережіть налаштування. Потім запустіть гостьовий ОС і для ubuntu видайте команду нижче. Він додає поточного користувача до групи vboxsf.

sudo adduser $ USER vboxsf

перезавантажте гостьову ОС та перейдіть до / media /, щоб отримати доступ до спільної папки.


sudo adduser не працює для мене, я додаю до використання "sudo usermod -a -G vboxsf myUser", і це працює. Дякую
Олексій

1
Так, цього не вистачало: sudo adduser $ USER vboxsf Зараз він працює :-)

3

Всередині гостя 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

1

Коли ви отримуєте таку помилку: /sbin/mount.vboxsf: встановлення не вдалося з помилкою: Помилка протоколу

На жаль, це означає, що ви використовуєте за замовчуванням ім'я спільної доступу або ім'я каталога спільного доступу хоста, те саме, що і змонтоване ім'я гостьової папки. У цьому випадку це "поділитися". Просто створіть іншу папку спільного доступу, тобто "vb_share", а потім просто виконайте:

mount -t vboxsf vb_share / home / <user> / host


1
  • Встановіть додатки Vbox (файл ISO або завантажте потім)
  • Створіть реж з будь-яким ім'ям у двох системах ( mkdir shareнаприклад,)
  • підключіться до папки спільного використання в оригінальній системі з "спільними папками VBox"
  • використовуйте команду для підключення вашої папки:
    sudo mount -t vboxsf name_of_folder_linked ~/name_of_folder_guest/

0

Установка: VirtualBox 4.3.26, хост Win 7 SP1, гость Debian jessie 8.0 (стабільний).

У VirtualBox Manager виберіть Налаштування спільних папок ... у спадному меню Пристрої .

У спливаючому вікні, що виходить, виберіть " Машинні папки" у списку папок, а потім натисніть кнопку "Додати нове визначення загальної папки" (синя папка із зеленим знаком знаку "+" праворуч від списку папок ).

У отриманій спливаючій формі Додати спільний доступ натисніть кнопку зі стрілкою вниз у полі Шлях папки та виберіть Інше . З'явиться спливаюче вікно « Огляд папки» .

(У моєму випадку я щойно додав ще один жорсткий диск на свою робочу станцію, щоб використовувати його для виділеної спільної частини, вже відформатованої для NTFS, з томовою назвою "share" і встановленою як "G:". Тому я натиснув стрілку поруч із пунктом "Комп'ютер" вибрано диск G: і натисніть кнопку ОК .)

(У вашому випадку ви повинні вибрати папку або диск, яким ви хочете поділитися, і натисніть кнопку ОК .)

Коли ви зробили свій вибір і натиснули кнопку ОК , менеджер VirtualBox заповнить поля Шлях шляху та папки у формі Додати спільний доступ . Залиште поле Шлях до папки в спокої, але ви можете змінити ім'я папки, якщо вам це подобається - просто не забудьте запам'ятати його на потім.

Завершіть форму " Додати спільний доступ ", встановивши прапорець " Зробити перманентний ", але не забудьте залишити прапорець Автоматичне кріплення - ми піклуємося про встановлення пізніше. (І звичайно, якщо ви хочете зробити папку або диск лише для читання, тоді вперед і встановіть прапорець лише для читання .) Потім натисніть кнопку ОК .

Нещодавно налаштована частка повинна тепер відображатися як запис у розділі Машинні папки у списку папок . Натисніть кнопку ОК .

Для монтажу цієї частки під час завантаження (запуску) нам потрібно додати лінію визначення монтажу до / etc / fstab в нашій гостьовій установці Debian jessie. Це редагування потрібно виконати як root або через sudo, наприклад:

sudo nano /etc/fstab

(Я особисто використовував vi, але оскільки nano є редактором за замовчуванням в Debian jessie, я вказав це у вищенаведеному прикладі.)

Щоб встановити цю частку в моєму домашньому каталозі з її власністю та групою, встановленими в моїх особистих UID та GID, я додав таке значення до / etc / fstab:

share /home/conib/share vboxsf comment=systemd.automount,uid=conib,gid=conib,noauto 0 0

(Зверніть увагу, що навколо символів "=", "." Або "," немає пробілів.)

Визначення / etc / fstab є у формі

<Device> <Mount Point> <Type> <Options> <Dump> <Pass>

(Зауважте, що між полями визначення має бути пробіл - пробіли та / або вкладки (і)), але пробіл у полі не має.)

Поле "Пристрій" повинно бути встановлено на ім'я папки, яке ми вказали за допомогою VirtualBox Manager Add Share . Я змінив типовий параметр "G_DRIVE" на "Поділитися".

"Point Mount" - специфікація контуру шляху до каталогу, яка повинна існувати, але повинна бути порожньою. .

"Тип" - це "vboxsf".

"Параметри" (коментар = systemd.automount, uid = conib, gid = conib, noauto) були складним бітом і взяли трохи проблем, щоб почати працювати для цього налаштування.

Встановіть "Dump" на 0, якщо ви не знаєте, що хочете встановити щось інше.

Оскільки ми не хочемо, щоб fsck перевіряв цю частку, встановіть "Pass" також на 0.

Коли ви додали рядок визначення до / etc / fstab, перезавантажте свого гостя Debian і підтвердьте, що ви можете бачити файли та підпапки вашого Share.

HTH.

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