वर्चुअलबॉक्स साझा फ़ोल्डर को कैसे माउंट करें? [बन्द है]


58

लिनक्स में वर्चुअलबॉक्स साझा किए गए फ़ोल्डर को माउंट करने की प्रक्रिया क्या है?

मैंने निम्नलिखित माउंट कमांड के बदलावों की कोशिश की, लेकिन मुझे protocol errorमाउंट माउंट या अन्य त्रुटियां मिलती रहती हैं।

sudo mount -t vboxsf share /home/toto

क्या यह एक सवाल है? कृपया इसे पुनःप्रकाशित करें ताकि यह एक प्रश्न बन जाए, इस पर अपना उत्तर पोस्ट करें, और मैं डाउनवोट को हटाकर खुशी से अधिक खुश रहूंगा।
आईकेडवाटर

1
प्रश्नोत्तर मानकों के अनुरूप होना

pls अद्यतन प्रश्न कि आपने क्या प्रयास किया और आपको क्या त्रुटि

गैर-कार्यशील आदेश दिखाने के लिए संपादित किया गया। एक सामान्य त्रुटि के protocol errorरूप में प्रश्न में कहा गया है।

मैं इस त्रुटि को इस "माउंट: अज्ञात फाइलसिस्टम प्रकार 'vboxsf' के समाधान के लिए प्राप्त कर रहा हूं
सैंडिप डाइवकर

जवाबों:


111

ठीक है यह मेरे लिए थोड़ा भ्रमित करने वाला था लेकिन मुझे आखिरकार एहसास हुआ कि क्या हो रहा था। इसलिए मैंने अपने 2 सेंट को उम्मीद में देने का फैसला किया कि यह दूसरों के लिए अधिक स्पष्ट होगा और अगर मैं भविष्य में कुछ समय भूल जाता हूं:)।

मैं VM में बनाए गए शेयर के नाम का उपयोग नहीं कर रहा था, इसके बजाय मैंने शेयर या vb_share का उपयोग किया था जब मेरे हिस्से का नाम wd था तो इससे मुझे एक मिनट के लिए उलझन हुई थी।

पहले वीएम बॉक्स में अपनी शेयर डायरेक्टरी जोड़ें: यहाँ छवि विवरण दर्ज करें

जो भी आप अपने हिस्से का नाम यहां रखते हैं, वह नाम होगा जिसे आपको vm अतिथि OS में बढ़ते समय उपयोग करना होगा। यानी मैंने अपने पश्चिमी डिजिटल पासपोर्ट ड्राइव के लिए मेरा नाम "wd" रखा ।

आगे guset OS आपके निर्देशिका को आपके होम डायरेक्टरी में अधिमानतः माउंट करने के लिए एक निर्देशिका बनाता है।

mkdir share

अगला टर्मिनल खोलें और निम्नलिखित को कॉपी और पेस्ट करें या इसे टाइप करें। आप डिवाइस के तहत साझा किए गए क्लिपबोर्ड को सक्षम कर सकते हैं-> साझा क्लिपबोर्ड-> द्विदिश

sudo mount -t vboxsf wd ~/share/

अब आपको अपने होम डायरेक्टरी में "शेयर" फ़ोल्डर का उपयोग करके ओएस के बीच फाइलों को कॉपी करने में सक्षम होना चाहिए ।

उम्मीद है की यह मदद करेगा!


1
मैंने समझने के लिए कुछ घंटे बिताए, मैं अतिथि से फाइलें कैसे प्राप्त कर सकता हूं। यह पता चला कि "माउंट" कमांड में "शार्नेम" (आधिकारिक VBox प्रलेखन से) - पहले कॉलम में वर्चुअल बॉक्स साझा किए गए फ़ोल्डर में निर्दिष्ट एक NAME है। बढ़िया काम है, आप मेरे हीरो हैं।
zen11625

2
शानदार जवाब, स्क्रीनशॉट के लिए +1 ... यह रूट को मूल मानता है लेकिन मुझे विश्वास है। देखें [डॉक्स] ( मंचों .virtualbox.org/viewtopic.php?t=15868 ) इसे अपने वर्तमान उपयोगकर्ता के रूप में कैसे माउंट करें:sudo mount -t vboxsf -o rw,uid=1000,gid=1000 share ~/host
टाइमब्रोएन

@user मैं इस माउंट को बूट पर स्वचालित कैसे बना सकता हूं?

यदि आप अपनी यूजर आईडी नहीं जानते हैं, तो आप चर का उपयोग कर सकते हैं। इस स्थिति में टीला कमान बन जाता हैsudo mount -t vboxsf -o uid=$UID,gid=$(id -g) wd ~/share

28

लिनक्स अतिथि के साथ VirtualBox के लिए, ये एक साझा फ़ोल्डर को माउंट करने के लिए चरण हैं:

  1. साझा करने के लिए होस्ट फ़ोल्डर निर्दिष्ट करने के लिए वर्चुअलबॉक्स होस्ट के एप्लिकेशन, वर्चुअलबॉक्स प्रबंधक का उपयोग करें।

  2. सुनिश्चित करें कि वर्चुअलबॉक्स अतिथि में वर्चुअलबॉक्स अतिथि परिवर्धन स्थापित किए गए हैं।

  3. लिनक्स अतिथि में, माउंट कमांड को एक पंक्ति दिखानी चाहिए जो शेयर माउंट की गई थी। इससे संकेत मिलता है type vboxsf। मुद्दा यह हो जाता है कि माउंट पॉइंट वांछित नहीं हो सकता है, और अनुमतियाँ केवल रूट हैं। डिफ़ॉल्ट माउंट स्थान में है /media/sf_

  4. आप उपयोगकर्ता, या समूह आईडी 1000, समूह का सदस्य बनाकर शेयर तक पहुंच सकते हैं vboxsf। यह फ़ाइल vboxsfमें लाइन को बदलकर किया जाता है /etc/group। रीबूट की आवश्यकता हो सकती है।

  5. आप बदल सकते हैं जहां फ़ोल्डर VBoxControl कमांड का उपयोग करके माउंट किया गया है। जब अतिथि जोड़ स्थापित किया जाता है, तो कमांड स्थापित होता है। रीबूट की आवश्यकता हो सकती है। उदाहरण के लिए, वर्चुअलबॉक्स साझा फ़ोल्डर गेस्टप्रॉपर्टी को सेट करने के लिए निम्न कमांड का उपयोग /media/sf_...करने के /home/toto/sf_...लिए आरोह बिंदु को बदलें :

sudo VBoxControl Guestproperty set / VirtualBox / GuestAdd / SharedFolders / MountDir / home / toto /

परिवर्तन की पुष्टि करने के लिए, उपयोग प्राप्त करें:

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

संदर्भ:

वर्चुअलबॉक्स का साझा फ़ोल्डर जानकारी

वर्चुअलबॉक्स की गेस्टप्रॉपरेटी जानकारी


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
उपयोगकर्ता वीसर को समूह vboxsf में जोड़ने के लिए जिसका आप उपयोग कर सकते हैं: sudo adduser myuser vboxsf

वर्चुअलबॉक्स 4.3.14 फिक्स गेस्ट एडिशनल इश्यूज़ आरएचईएल 7 और सेंटोस के लिए इश्यूज इंस्टॉल करते हैं। गेस्ट एडिशंस को इनस्टॉल करें: if-not-true-thal-false.com/2010/…

मैं विंडोज 8.1 पर वर्चुअलबॉक्स 4.3.20 पर हूं। मेरे पास VM में स्थापित 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

(मेरा सेटअप: विंडोज 7 होस्ट, मेहमान: Ubuntu 12.04,13.10,14.04; वर्तमान में VBox 4.3.10 r93012 चल रहा है)


5

अतिथि OS पर वर्चुअल बॉक्स परिवर्धन स्थापित करें। फिर अतिथि OS को बंद करें। वर्चुअल बॉक्स में गेस्टोस सेटिंग्स खोलें। फिर एक साझा फ़ोल्डर जोड़ें और सेटिंग्स को सहेजें। फिर अतिथि ओएस शुरू करें और ubuntu के लिए नीचे कमांड जारी करें। यह वर्तमान उपयोगकर्ता को vboxsf समूह में जोड़ता है।

sudo adduser $ USER vboxsf

अतिथि OS को रिबूट करें और साझा किए गए फ़ोल्डर तक पहुंचने के लिए / मीडिया / नेविगेट करें।


sudo adduser मेरे लिए काम नहीं करता है मैं "sudo usermod -a -G vboxsf myUser" का उपयोग करता हूं और यह काम करता है। धन्यवाद
एलेक्स

1
हां, यह याद आ रही थी: sudo adduser $ USER vboxsf अब यह काम करता है :-)

3

लिनक्स या मैक ओएस एक्स वर्चुअलबॉक्स अतिथि के अंदर, एक बार जब आपने वर्चुअलबॉक्स अतिथि परिवर्धन स्थापित कर लिया है, तो आप निम्न कमांड के साथ उपलब्ध वर्चुअलबॉक्स साझा किए गए फ़ोल्डरों की खोज कर सकते हैं:

sudo  VBoxControl  sharedfolder  list

यदि आपके अतिथि के अंदर मौजूद आपके होम फोल्डर में वर्चुअलबॉक्स साझा किए गए फ़ोल्डर जैसे नाम हैं, तो आप उन्हें शेल स्क्रिप्ट के साथ स्वचालित रूप से माउंट कर सकते हैं:

#!/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" और फिर बस निष्पादित करें:

माउंट -t vboxsf vb_share / होम / <उपयोगकर्ता> / होस्ट


1
  • Vbox जोड़ स्थापित करें (ISO फ़ाइल या फिर डाउनलोड करें)
  • दो सिस्टम में जो भी नाम हो ( mkdir shareउदाहरण के लिए)
  • मूल sys में शेयर फ़ोल्डर "VBox साझा किए गए फ़ोल्डर" से कनेक्ट करें
  • अपने फ़ोल्डर को जोड़ने के लिए कमांड का उपयोग करें:
    sudo mount -t vboxsf name_of_folder_linked ~/name_of_folder_guest/

0

सेटअप: वर्चुअलबॉक्स 4.3.26, विन 7 SP1 होस्ट, डेबियन जेसी 8.0 (स्थिर) अतिथि।

VirtualBox प्रबंधक में, डिवाइस ड्रॉप-डाउन मेनू में साझा फ़ोल्डर सेटिंग्स ... का चयन करें ।

परिणामी पॉप-अप विंडो में, फ़ोल्डर सूची में मशीन फ़ोल्डर का चयन करें और फिर "नया साझा फ़ोल्डर परिभाषा जोड़ें" बटन पर क्लिक करें ( फ़ोल्डर सूची के दाईं ओर एक हरा "+" चिह्न आइकन वाला नीला फ़ोल्डर )।

परिणामी जोड़ें शेयर पॉप-अप फॉर्म में, फ़ोल्डर पथ फ़ील्ड में डाउन-एरो बटन पर क्लिक करें और फिर अन्य का चयन करें । एक फ़ोल्डर के लिए ब्राउज़ करें पॉप-अप विंडो दिखाई देगी।

(मेरे मामले में, मैंने अभी-अभी अपने वर्कस्टेशन में एक और हार्ड ड्राइव को समर्पित शेयर के लिए उपयोग करने के लिए जोड़ा था, जो पहले से ही NTFS के लिए स्वरूपित था, "शेयर" के वॉल्यूम नाम के साथ, और "G:" के रूप में माउंट किया गया था। इसलिए मैंने तीर पर क्लिक किया। कंप्यूटर के आगे , चयनित ड्राइव G: और फिर ठीक बटन पर क्लिक किया ।)

(आपके मामले में आपको जो भी फ़ोल्डर या ड्राइव साझा करने का इरादा है, उसे चुनना चाहिए, फिर ठीक बटन पर क्लिक करें।)

जब आपने अपना चयन कर लिया है और ओके बटन पर क्लिक कर दिया है , तो वर्चुअलबॉक्स प्रबंधक फोल्डर पाथ और फोल्डर नाम फ़ील्ड्स को ऐड शेयर फॉर्म में भर देगा। फ़ोल्डर पथ फ़ील्ड को अकेला छोड़ दें , लेकिन यदि आप चाहें तो फ़ोल्डर नाम बदल सकते हैं - बस बाद में इसे याद रखना सुनिश्चित करें।

स्थायी करें चेक बॉक्स का चयन करके जोड़ें शेयर फ़ॉर्म को समाप्त करें , लेकिन ऑटो-माउंट चेक बॉक्स को छोड़ दिया जाना सुनिश्चित करें - हम बाद में बढ़ते का ख्याल रखने जा रहे हैं। (और हां, अगर आप फोल्डर बनाना चाहते हैं या केवल रीड-ड्राइव करना चाहते हैं, तो आगे बढ़ें और रीड-ओनली बॉक्स को चेक करें ।) इसके बाद ओके बटन पर क्लिक करें।

नए-कॉन्फ़िगर किए गए शेयर अब फोल्डर्स लिस्ट में मशीन फोल्डर्स के तहत एक प्रविष्टि के रूप में दिखाई देने चाहिए । ओके बटन पर क्लिक करें।

बूट (स्टार्टअप) के दौरान इस हिस्से को माउंट करने के लिए हमें अपने डेबियन जेसी गेस्ट इंस्टॉलेशन में / etc / fstab में माउंट डेफिनेशन लाइन जोड़ने की जरूरत है। उदाहरण के लिए इस संपादन को रूट के रूप में या sudo के माध्यम से करने की आवश्यकता है:

sudo nano /etc/fstab

(मैं व्यक्तिगत रूप से vi का उपयोग करता था, लेकिन क्योंकि नैनो डेबियन जेसी पर डिफ़ॉल्ट संपादक है मैंने इसे उपरोक्त उदाहरण में निर्दिष्ट किया है)।

मेरे घर निर्देशिका में इस शेयर को माउंट करने के लिए, इसके स्वामित्व और समूह के साथ मेरे व्यक्तिगत यूआईडी और जीआईडी ​​के लिए, मैंने निम्नलिखित परिभाषा को / 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>

(ध्यान दें कि परिभाषा के क्षेत्रों के बीच व्हाट्सएप - स्पेस (एस) और / या टैब (एस) होना चाहिए, लेकिन कोई व्हाट्सएप नहीं।)

"डिवाइस" फ़ील्ड को उस फ़ोल्डर के नाम पर सेट किया जाना चाहिए जिसे हमने वर्चुअलबॉक्स प्रबंधक ऐड शेयर के माध्यम से निर्दिष्ट किया है । मैंने डिफ़ॉल्ट "G_DRIVE" को "शेयर" में बदल दिया था।

"माउंट पॉइंट" एक निर्देशिका पथ युक्ति है जो पहले से मौजूद है लेकिन खाली होना चाहिए। (अर्थात, उस निर्देशिका में पहले से मौजूद कुछ भी छिपा होगा जो आप उसके ऊपर बढ़ते जा रहे हैं।) मैंने अपने घर निर्देशिका में "शेयर" नाम का एक नया, खाली उपनिर्देशिका बनाया था।

"प्रकार" "vboxsf" है।

"विकल्प" (टिप्पणी = systemd.automount, uid = conib, gid = conib, noauto) मुश्किल बिट थे, और इस सेटअप के लिए काम करने में थोड़ी परेशानी हुई।

"डंप" को 0 पर सेट करें जब तक आप नहीं जानते कि आप इसे किसी और चीज़ पर सेट करना चाहते हैं।

और जब से हम fsck इस शेयर की जाँच नहीं करना चाहते हैं, "पास" को 0 पर भी सेट करें।

जब आपने परिभाषा लाइन को / etc / fstab में जोड़ा है, तो अपने डेबियन अतिथि को रिबूट करें और पुष्टि करें कि आप अपने शेयर की फ़ाइलों और सबफ़ोल्डर्स को देख सकते हैं।

HTH।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.