UbuntuBox अतिथि में वर्चुअलबॉक्स साझा किए गए फ़ोल्डर में त्रुटि


77

मेरे पास विंडोज 7 मशीन पर अतिथि ओएस के रूप में उबंटू 10 है। मैं VirtualBox के माध्यम से शेयरों को सेटअप करने की कोशिश कर रहा हूं, लेकिन कुछ भी काम नहीं कर रहा है। सबसे पहले, मैं वर्चुअलबॉक्स में हिस्सा बनाता हूं और इसे विंडोज फ़ोल्डर में इंगित करता हूं। फिर मैं लिनक्स में ड्राइव को माउंट करने की कोशिश करता हूं, लेकिन मुझे मिलता रहता है

/sbin/mount.vboxsf: बढ़ते त्रुटि के साथ विफल: प्रोटोकॉल त्रुटि

मैं इस के लिए कई समाधान पढ़ा है, लेकिन कोई भी काम करने लगते हैं। मैंने कोशिश की है:

  • Mount.vboxsf सिंटैक्स का उपयोग करना
  • VBox परिवर्धन को पुनर्स्थापित करना
  • रीबूट हो रहा है
  • जड़ खाते के रूप में सक्षम और प्रयास करना

मैंने VBox Shared फ़ोल्डरों में "Test" नामक एक शेयर बनाया। तब मैंने ubuntu "test2" नाम से एक निर्देशिका बनाई। फिर मैंने इस कमांड को निष्पादित करने की कोशिश की:

sudo Mount -t vboxsf Test / mnt / test2

कोई अन्य विचार?

जवाबों:


90

साझा किए गए फ़ोल्डर की कार्यक्षमता का उपयोग करने के लिए कुछ आवश्यक शर्तें पूरी करनी होंगी:

  • सुनिश्चित करें कि अतिथि OS पर अतिथि परिवर्धन ठीक से स्थापित हैं।
  • एक अतिथि उबंटू में उपयोगकर्ता vboxsfशेयरों तक पहुंचने में सक्षम होने के लिए समूह में होना चाहिए ।
  • होस्ट पर एक निर्देशिका को परिभाषित करें जो वर्चुअल बॉक्स की सेटिंग्स संवाद का उपयोग करके वर्चुअल मशीन में उपयोग की जाएगी।

होस्ट या अतिथि OS के आधार पर निम्नलिखित की आवश्यकता हो सकती है:

  • व्यक्तिगत फ़ोल्डर साझा न करें जैसे /home/usernameयाMy Documents
  • साझा फ़ोल्डर में पथ के विशेष वर्ण या रिक्त स्थान से बचें, खासकर यदि होस्ट या वीएम एक विंडोज मशीन है
  • शेयर और माउंटपॉइंट के लिए अलग-अलग नामों का उपयोग करें
  • अतिथि OS पर एक माउंटपॉइंट बनाएं (अपने होम डायरेक्टरी में सर्वश्रेष्ठ)।

होस्ट (जैसे C:\myshare) पर एक साझा निर्देशिका बनाकर साझा किए गए फ़ोल्डर की कार्यक्षमता का परीक्षण किया जा सकता है , इसे वर्चुअल बॉक्स सेटिंग्स (जैसे share) में आपके अतिथि सिस्टम के लिए एक साझा फ़ोल्डर के रूप में परिभाषित करें , अपने अतिथि ओएस (जैसे mkdir /home/username/host) में एक माउंट बिंदु बनाएं और माउंट करें इस कमांड के साथ अतिथि OS में:

sudo mount -t vboxsf -o uid=1000,gid=1000 share /home/username/host

जहां विकल्प -o सुनिश्चित करता है कि आपके पास माउंट तक पहुंच होगी (जो अन्यथा रूट के स्वामित्व में होगी)।

साझा किए गए फ़ोल्डरों की अधिक जानकारी के लिए वर्चुअल बॉक्स यूजर मैनुअल भी देखें ।

होस्ट या अतिथि पर सांबा का उपयोग करके फ़ाइलों या निर्देशिकाओं को नेटवर्क पर भी साझा किया जा सकता है।


4
मेरा मानना ​​है कि मैं इन सभी आवश्यकताओं को पूरा कर चुका हूं, लेकिन अभी भी मुझे त्रुटि मिल रही है। क्या कोई तरीका है जिससे मैं निदान कर सकता हूं कि समस्या क्या है?
स्केज

1
स्ट्रिंग शाब्दिक स्तर पर नहीं, लेकिन मेरा हिस्सा C: \ myshare के बजाय C: \ test है, इसे VV 4.0.4 में परिभाषित किया गया है। मैंने / home / [myusername] / test2 में एक फ़ोल्डर और / mnt / test2 में एक फ़ोल्डर बनाया है और इन दोनों फ़ोल्डरों पर कमांड को ठीक से चलाता है और दोनों एक ही त्रुटि को वापस करते हैं।
स्केज

1
आपकी सहायताके लिए धन्यवाद! मुझे महसूस नहीं हुआ कि "टेस्ट" और "टेस्ट 2" शब्दों को एक ही नाम का उपयोग करने के रूप में माना जाएगा। इससे समस्या हल हो गई!
skaz

2
'शेयर' के लिए मैं मूर्खतापूर्ण तरीके से sf_ [शार्नेम] का उपयोग करता था, क्योंकि मैं देख सकता था कि इसे / मीडिया / उस नाम के साथ माउंट किया जा रहा था और यह मान लिया गया कि इसे ubuntu-स्थानीय नाम की आवश्यकता होगी और VBox के अपने नाम की नहीं। हालाँकि, मैंने 'sf_' उपसर्ग को हटा दिया और इससे समस्या हल हो गई।
अस्त्रावग्रंथ

1
@MichaelScheper ये केवल सिफारिशें हैं - यदि यह आपके लिए काम करती है, तो सब ठीक है।
तक्कत

15

मैं इस मुसीबत से भी मिला। मैंने पाया कि साझा फ़ोल्डर पहले से ही माउंट किया गया था /media/sf_share

मैंने हटाने की कोशिश की /media/sf_share, लेकिन मैं नहीं कर सका।

इसलिए मैंने अपने होम डायरेक्टरी में साझा फ़ोल्डर "शेयर" को हटा दिया।

$ rm -r ~/share

और फिर रूट उपयोगकर्ता को निम्न तरीके से स्विच करें:

$ sudo -i

रूट उपयोगकर्ता के स्वामित्व वाले / मीडिया / sf_share फ़ोल्डर के लिए सॉफ्टलिंक / शॉर्टकट बनाएँ जो चॉन्ड कमांड के साथ सॉफ्टलिंक के स्वामित्व को संशोधित करता है। रूट उपयोगकर्ता से सामान्य उपयोगकर्ता से बाहर निकलें

# ln -s /media/sf_share /home/username/share
# chown username.username /home/username/share
# exit
logout

$ chmod 777 ~/share

आप साझा किए गए फ़ोल्डर के माध्यम से विंडोज में फाइलें देख सकते हैं। और उपयोगकर्ता समूह vboxsf का सदस्य होना चाहिए।


धन्यवाद ! आप सही थे ... पहले से ही / मीडिया / sf_sharename
लॉरेंट

1
CentOS 7 का उपयोग करना, और मैंने यह भी पाया कि मेरी निर्देशिका को माउंट किया गया है media/sf_sharename। उस निर्देशिका के लिए एक सिमलिंक बनाना एक संभावित विकल्प प्रतीत होगा, लेकिन यह वर्चुअलबॉक्स साइट पर विज्ञापित / प्रलेखित प्रक्रिया से काफी अलग है। इसके लिए एक उचित समाधान होना चाहिए!?!?
कार्टेबोफोरसे

11

यहाँ मेरे लिए बिना किसी समस्या के काम किया गया है

मुझे यह पता चला कि, वास्तव में मेरा userनाम vboxsf ग्रुप में नहीं था । समूह की जानकारी प्राप्त करने में दो आदेशों का पालन करने में मदद मिलेगी:

grep "vboxsf" /etc/group    
grep "saurav" /etc/group

इसलिए मैंने निम्नलिखित कमांड का उपयोग करके vboxsf समूह में saurav(मुझे) जोड़ा :

sudo usermod -a -G vboxsf saurav 

फिर वर्चुअलबॉक्स को पुनः आरंभ किया और फिर .. मेरे रखे से कूद गया ..: D: D सब कुछ बिना किसी समस्या के ठीक हुआ।

कृपया कोई भी समस्या हो तो कमेंट करें ।।


2
इसने मेरे लिए काम किया, धन्यवाद। केवल एक प्रकार है: होना चाहिए sudo usermod -a -G vboxsf saurav(पहले समूह फिर उपयोगकर्ता)।
user673592

हां .. गलत टाइप किया गया .. :) इंगित करने के लिए धन्यवाद। अब संपादित किया गया ..
सौरव कुमार

1
आपको अपने नए असाइन किए गए समूह को प्राप्त करने के लिए VB को पुनरारंभ करने की आवश्यकता नहीं है। $ सु - सूर्व कर देगा।
स्टीफन बोस्टन

2

मैंने माउंटेनिंग के साथ बहुत संघर्ष किया, और मैंने जो कुछ भी कोशिश की वह इंटरवेब में आ गई, लेकिन मुझे आखिरकार इसे हल करने के लिए एक बहुत ही अजीब हल मिला! मेरा मेहमान Ubuntu 13 है और मेरा होस्ट विंडोज 7 है।

मीडिया फ़ोल्डर में बदलें और वहाँ से टाइप करें user@os:/media$ sudo mount -t vboxsf share /home/username/folder

हाँ यह बात है। लेकिन मुझे समझ में नहीं आता है कि यह कैसे काम करता है अगर यह मीडिया फ़ोल्डर से किया जाता है। अगर कोई जानता है तो कृपया हमें नीचे बताएं। धन्यवाद।

Ps /etc/rc.localस्टार्टअप पर ऑटोमेशन करने के लिए मेरा संपादन मेरे लिए कारगर नहीं है।


1
/etc/rc.local कभी भी काम नहीं करेगा, क्योंकि यह नेटवर्क के उठने से पहले किया गया है।
ब्रिअम

2
हाय ब्रह्म! जानकर अच्छा लगा। दुर्भाग्य से मैंने कई साइटों में पढ़ा है कि लोग ऑटोमेटिंग के लिए /etc/rc.local को संपादित करने की सलाह देते हैं। क्या आप जानते हैं कि स्टार्टअप पर इसे स्वचालित करने का सही तरीका क्या है? धन्यवाद।
बीडबैककमोडोर64

मुझे यह भी पता चल रहा है कि यह केवल / मीडिया से काम करता है। बहुत अजीब। मैंने अभी इसे अपने .profile में जोड़ा है pushd media && sudo mount /media/<theshare> && popd:।
मैट ग्रीर

1

VirtualBox 5.1.20 के साथ विंडोज 10 पर चल रहा है, और गेस्टऑडिशन 5.1.20 के साथ अतिथि ओएस के रूप में Ubuntu 16.04 स्थापित है, मैं कमांड लाइन से साझा किए गए फ़ोल्डरों को माउंट नहीं कर सकता। प्रोटोकॉल त्रुटि और sf_read_super_aux त्रुटि = -22 के उल्लेख के साथ माउंट कमांड विफल रही।

आखिरकार मुझे https://www.virtualbox.org/ticket/16670 "Mount.vboxsf symlink टूटा" मिला। मैंने वहां के एक वर्कअराउंड का पालन किया, ताकि माउंट.बॉक्सबॉक्स के लिए सिमलिंक को ठीक किया जा सके और यह सब काम कर गया। मेरा दृष्टिकोण यह करना था:

mv /sbin/mount.vboxsf /sbin/mount.vboxsf-orig
ln -s /opt /VBoxGuestAdditions-5.1.20/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsf

आज्ञाओं को जड़ से करने की आवश्यकता है। इसलिए, क्योंकि यह उबंटू था, मैंने कमांड के रूप में रूट करने के लिए प्रत्येक पंक्ति की शुरुआत में "sudo" जोड़ा। लिनक्स के अन्य स्वादों में ऐसा करने के अन्य तरीके हैं।

एक तरफ के रूप में, वर्चुअलबॉक्स के टिकट # 12879 में समान समरूपता की समस्या बताई गई थी "2014 में अतिथि परिवर्धन 4.3.10 के साथ साझा किए गए फ़ोल्डर को माउंट नहीं किया जा सकता था, जो अगले महीने तय किया गया था।

2017/04/27


@ डंकन: अच्छी बात है। टिकट का शीर्षक समस्या का वर्णन करता है, लेकिन मैंने उपयोग किए गए समाधान को दिखाने के लिए संपादित किया।
जे कमिंग

पर आभासी बॉक्स v5.1.22 के लिए बदलाव का virtualbox.org/wiki/Changelog#v22 का कहना है कि
जम्मू कमिंग

वर्चुअल बॉक्स v5.1.22 के लिए चैंज जारी, 2017-04-28, ( virtualbox.org/wiki/Changelog#v22 ), का कहना है कि यह बग / टिकट # 16670 तय है। में उत्साहित हु!
जे कमिंग

निश्चित नहीं है कि यह क्यों अस्वीकृत किया गया था, लेकिन इसने मेरी समस्याओं को Vbox 5.122 का उपयोग करने में मदद की
qodeninja

1

मेरे लिए, समस्या यह थी कि मैं एक हंस था, और मैं भूल गया था कि मैंने VirtualBox (मशीन → सेटिंग्स → साझा फ़ोल्डर) में अपनी साझा फ़ोल्डर सूची से प्रविष्टि हटा दी है।

मैं इसे केवल यहाँ पर फेंक रहा हूँ, यदि किसी अन्य व्यक्ति को 'प्रोटोकॉल त्रुटि' द्वारा कभी इसी तरह गुमराह किया जाता है।

: सम्मान: 😉


1

पूरी कोशिश की और मेरे लिए कुछ भी काम नहीं किया। Lats I ने "मेक परमानेंट" और "ऑटो माउंट" सक्षम के साथ एक नया क्षणिक फ़ोल्डर "साझा" बनाया। और फिर कमांड चलाएं

sudo mount -t vboxsf -o uid=1000,gid=1000 Shared /mnt/sharedvm

इसने मेरे लिए काम किया। इस बार कोई त्रुटि नहीं।


0

मेरा साझा फ़ोल्डर काम कर रहा था और मेरे होस्ट को रिबूट करने के बाद, यह नहीं था।

शेयर्ड से शेयर्ड 2 के शेयर्ड फोल्डर का नाम बदलकर इसने काम किया।

config.vm.synced_folder "/Users/username/Dropbox/Shared", "/Shared2"

क्या हुआ और क्यों और कैसे तय करना है, इस पर कोई विचार नहीं। निक्स जैसी वैश्विक उत्परिवर्तित स्थिति वाली प्रणाली के पास कोई बिंदु नहीं है।


0

व्यक्तिगत रूप से मुझे एक ही त्रुटि संदेश का सामना करना पड़ा और समस्या इस तथ्य से संबंधित थी कि मैंने होस्ट मशीन पर स्थित फ़ोल्डर से संबंधित एक टाइपो किया था और जिसे मैंने अतिथि परिवर्धन के लिए आभासी मशीन के धन्यवाद से एक साझा फ़ोल्डर के रूप में सेट किया था।

तो सही कमांड है:

sudo mount -t vboxsf -o uid=$UID,gid=$(id -g) shared_folder_located_in_host_machine path_to_mounting_folder_inside_the_virtual_machine

इससे त्रुटि संदेश ठीक हो गया।


0

मेरे लिए यह अतिथि-परिवर्धन का गलत संस्करण था।

मैंने अपने पूरे वीएम को एक लैपटॉप (जो कि वर्चुअलबॉक्स 5.8 / कुछ रन करता है) से दूसरे लैपटॉप वर्चुअलबॉक्स 6.0 के साथ स्थानांतरित कर दिया। साझा फ़ोल्डर के बढ़ते को छोड़कर सब कुछ काम किया।

मैंने अभी VM शुरू किया है, क्लिक किया Devices -> Insert Guest additions CD image...और निर्देशों का पालन किया। इसने अतिथि परिवर्धन के पुराने संस्करण की मौजूदगी के बारे में थोड़ी जानकारी दी, लेकिन फिर इसे हटा दिया और दूसरे प्रयास में नया स्थापित किया। रिबूट और काम करता है।

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