बूट पर Ubuntu VM में माउंट वर्चुअलबॉक्स साझाकरण


15

मेरे पास एक Ubuntu Ubuntu VirtualBox में चल रहा है।
मेरे पास एक साझा फ़ोल्डर सेट है क्योंकि myshare मेरे पास मेरे होम डायरेक्टरी ( ~/jamesw) में बनाया गया एक फ़ोल्डर है hostsudo mount -t vboxsf myshare hostटर्मिनल में मेरे घर की निर्देशिका से लाइन का उपयोग करके ड्राइव को सही ढंग से माउंट करता है, लेकिन अगर मैं रिबूट करता हूं तो इसे फिर से माउंट नहीं किया जाता है।

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

जवाबों:


22

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

वर्चुअल बॉक्स> 4.0 से हम वर्चुअल मशीन में साझा किए गए फ़ोल्डरों को ऑटो माउंट करने में सक्षम हैं । उबंटू के लिए ऐसा करने के लिए हम

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

अपनी वर्चुअल मशीन पर राइट क्लिक करें और Settings-> Shared Folders चुनें । यह मौजूदा शेयरों की सूची देगा या आपको नीले फ़ोल्डर आइकन पर क्लिक करके नए साझा किए गए फोल्ड को परिभाषित करने की अनुमति देता है +, शीर्ष दाईं ओर हरे -sign के साथ :

यहाँ छवि विवरण दर्ज करें

ड्रॉपडाउन मेनू फ़ोल्डर पथ से अपना फ़ोल्डर चुनें या फ़ाइल चयनकर्ता के लिए अन्य को परिभाषित करें जो होस्ट फ़ाइल सिस्टम को सूचीबद्ध करता है। शेयर के लिए एक नाम चुनें (जैसे myshares )। ऑटो-माउंट को टिक करके यह फ़ोल्डर हमेशा उबंटू अतिथि निर्देशिका में माउंट किया जाएगा /media/sf_myshares(उपसर्ग sf_स्वचालित रूप से जोड़ा जाएगा)।


वैकल्पिक रूप से, एक चालू अतिथि ओएस में साझा किए गए फ़ोल्डरों को परिभाषित करने के लिए हम डिवाइस का चयन कर सकते हैं -> वर्चुअल बॉक्स मैनेजर के विंडो मेनू से साझा किए गए फ़ोल्डर :

यहाँ छवि विवरण दर्ज करें

मेक परमानेंट पर टिक करके ये साझा किए गए फोल्डर अगले बूट पर भी उपलब्ध होंगे और ऑटो-माउंट के अलावा टिक होने पर इसे माउंट किया जाएगा ।


वह अतिथि OS को होस्ट शेयर को स्वचालित बनाने के लिए बनाएगा , और मेरा मानना ​​है कि ओपी इसके विपरीत चाहता है: अपने होस्ट ओएस में अतिथि शेयर को माउंट करने के लिए । अगर मैं गलत हूं, तो मैंने सवाल को पूरी तरह से गलत समझा, और मेरे जवाब को नजरअंदाज कर दिया जाना चाहिए
MestreLion

1
@MestreLion: आप गलत हैं, क्षमा करें! मुझे लगता है कि मेरी समस्या यह है कि मैं उबंटू वीएम पर साझा ड्राइव को कभी नहीं ढूंढ सका क्योंकि मुझे नहीं पता था कि यह / मीडिया के लिए बढ़ रहा था। अगर मैंने महसूस किया होता कि यह सवाल ज़रूरी नहीं होता।
जेम्स पी। राइट

@ नाम: ओह, मुझे क्षमा करें। एक अतिथि ओएस में एक मेजबान शेयर को माउंट करना आसान है, और आपके पास कई विकल्प हैं। यहाँ दिए गए एक उत्कृष्ट (उत्कृष्ट, btw) उत्तर के अलावा, क्या आप जानते हैं कि LAN में एक नियमित मशीन की तरह एक अतिथि OS देखा जा सकता है? बस डिफ़ॉल्ट से नेटवर्क बदलने NATके लिए Bridged। अब आप Nautilus, सांबा, आदि का उपयोग करके अतिथि से मेजबान (और इसके विपरीत) के शेयरों का "आदान-प्रदान" कर सकते हैं ...
MestreLion

@MestreLion: ईमानदार होने के लिए - मैं ज्यादातर नेटवर्क पर सांबा का उपयोग करके अपने मेजबान (और अतिथि) फाइलों को साझा करता हूं;)
Takkat

@ तक्कड़: मुझे भी! (और इससे हमारे उत्तर दोनों अप्रचलित हो जाते हैं !: P)
MestreLion

7

मुझे नहीं लगता कि / etc / fstab का उपयोग काम करेगा (यह मेरे लिए काम नहीं करता था) क्योंकि एसएफ मॉड्यूल लोड होने से पहले उस फ़ाइल को संसाधित किया जाता है और शेयर को माउंट करने में विफल होगा, HOWTO देखें: साझा फ़ोल्डर का उपयोग करें 1


1
इसे ठीक करने के लिए मंचों .virtualbox.org/viewtopic.php ? f=3&t=15868 देखें । मूल रूप से, /etc/rc.local या समकक्ष में माउंट कमांड जोड़ें।
रेनियर पोस्ट

2

यह अभी तक पूर्ण उत्तर नहीं है, लेकिन आपके पास 2 दृष्टिकोणों पर दिशानिर्देश जैसे:

1 - आप /etc/fstabइस माउंट को संपादित और जोड़ सकते हैं। आपको अपने माउंट पैरामीटर को fstab सिंटैक्स में अनुवाद करना होगा। एक जंगली अनुमान कुछ ऐसा होगा /home/jamesw/host vboxsf myshare,umask=002,uid=<youruser>,gid=plugdev 0 0। आपको sudoअपने fstab को संपादित करने की आवश्यकता होगी , लेकिन, एक बार हो जाने पर, यह बूट पर ऑटो-माउंटेड हो जाएगा। चूँकि यह आपके द्वारा लॉग इन करने से पहले भी किया जाता है, आपको माउंट पॉइंट (इसलिए / home / jamesw / host) के लिए एक पूर्ण पथ की आवश्यकता होती है, आप उपयोग नहीं कर सकते हैं $HOMEया नहीं ~। संकेत: "होस्ट" फ़ोल्डर को मौजूद होने की आवश्यकता नहीं है। यदि यह fstab में है, तो माउंट इसे आपके लिए बनाएगा।

2 - आप fusermountमाउंट के बजाय उपयोग कर सकते हैं । वाक्यविन्यास समान है (लेकिन समान नहीं है, इसलिए आपको अभी भी माउंट मापदंडों का अनुवाद करने की आवश्यकता है)। Fusermount को आपके माउंट बिंदु को आपके $ HOME के ​​अंदर कहीं होना चाहिए, लेकिन सबसे बड़ा लाभ यह है कि आपको इसकी आवश्यकता नहीं होगी sudo। और माउंट Nautilus में उपलब्ध होगा (जैसे कि यह एक सीडी या यूएसबी कुंजी थी)। आपके द्वारा सही पैरामीटर प्राप्त करने और उसका परीक्षण करने के बाद, आप उसे अपने साथ जोड़ सकते हैं ~/.profile, जो आपके लॉग इन करने पर हर बार चलता है।

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


/ Etc / fstab का उपयोग करने से काम नहीं चलता है, केनेथ गुलब्रान्सोडी का जवाब देखें।
रेनियर पोस्ट

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. पुनः आरंभ करें
  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 Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.