VirtualBox में USB ड्राइव से बूट कैसे करें?


72

प्रश्न सरल और सीधे आगे है:

VirtualBox में USB ड्राइव से बूट कैसे करें?

संपादित करें :

मैंने usbस्क्रीनशॉट में दिखाए गए अनुसार VirtualBox से जुड़ा हुआ है।

https://i.stack.imgur.com/UPZZo.png

लेकिन संलग्न (संदर्भ) होने पर भी यूएसबी ड्राइव से बूट करना संभव नहीं है ।

इसलिए मैं जानना चाहूंगा कि क्या यूएसबी ड्राइव से बूट करने के लिए कोई अन्य व्यवसाय है?


आप बस अपने USB को खोल सकते हैं, सब कुछ ISO फाइल में कंप्रेस कर सकते हैं और इसे सामान्य रूप से बूट कर सकते हैं।
डाट टुटब्रस

@ रावण - अक्सर यह नहीं भूलना चाहिए कि यूजर्स को प्रॉपर्टी "बूट" के लिए यूपी-स्टिक में नहीं दी जाती है। यह gparted के मेनू 'पार्टीशन' में है और वहां आप फ्लैग सम्मान को संपादित कर सकते हैं। यूएसबी-स्टिक का लेबल और पैरामीटर "बूट" को सक्रिय करें।
dschinn1001

1
@dattutbrus अगर आप USB
पॉल

जवाबों:


89

वर्चुअलबॉक्स स्वयं USB डिवाइस से बूटिंग का समर्थन नहीं करता है। USB डिवाइस से बूट करने के लिए, दूसरे बूटलोडर की आवश्यकता होती है। नीचे दिए गए चरण इसे पूरा करने का एक संभव तरीका प्रदान करते हैं:

  1. प्लॉप बूट मैनेजर डाउनलोड करें (वर्तमान में v5.0.15)
  2. plpbt.isoज़िप संग्रह से फ़ाइल निकालें और इसे कहीं सहेजें।
  3. वर्चुअल मशीन के लिए सेटिंग्स खोलें और आईएसओ फाइल संलग्न करें:

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

  4. USB डिवाइस के लिए एक फ़िल्टर जोड़ें:

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

  5. VM को बूट करें और मेनू में "USB" विकल्प चुनें:

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

यदि सब कुछ ठीक हो गया है, तो मशीन को अब यूएसबी डिवाइस से बूट करना चाहिए।


1
यह निश्चित रूप से मेरा एक आसान जवाब है। मुझें यह पसंद है! काश मैं और अधिक उत्थान कर पाता। =)
टेरेंस

3
इस उत्तर में यह शामिल होना चाहिए कि आपको vboxusers समूह का हिस्सा बनना है
मुसिक

6
यह मेरे लिए काम नहीं करता है। जब मैं usb का चयन करता हूं तो मैं उसकी स्क्रीन के साथ हमेशा प्रतीक्षा करता हूं। कोई उपाय? Postimg.org/image/dv8w83pi3
जॉन

6
मैं उस प्लॉप बूट मैनेजर को जोड़ना चाहता था जो केवल आधिकारिक तौर पर ईएचसीआई का समर्थन करता है। यदि आप मेरे जैसे हैं, और आप प्लोप बूट मैनेजर के साथ USB 3.0 ड्राइव का उपयोग करने का प्रयास कर रहे हैं, तो यह काम नहीं करेगा। आप अन्य पोस्ट में बताई गई विधि का उपयोग करने की कोशिश कर सकते हैं, लेकिन वर्चुअलबॉक्स भी USB 3.0 उपकरणों से कच्चे vmdks के साथ काम करने के लिए बहुत शौकीन नहीं है। यदि आपके कंप्यूटर पर केवल USB 3 पोर्ट हैं, तो आप USB 2.0 हब ऑर्डर कर सकते हैं और उसी के माध्यम से ड्राइव कनेक्ट कर सकते हैं। यह एक यूएसबी 2.0 ड्राइव की तरह अनिवार्य रूप से व्यवहार करेगा।
फेकडैड

3
यदि आप इस समाधान को VMDK एक के साथ जोड़ते हैं, तो आप देशी USB प्रदर्शन प्राप्त कर सकते हैं। अन्यथा यह केवल USB 1.1 के साथ काम करता है।
विल बर्कफोर्ड

50

EDIT: 7 मार्च 2018

यहाँ ध्यान देने योग्य बात। जब आप रिबूट करते हैं तो कंप्यूटर में यूएसबी ड्राइव छोड़ना /dev/sdड्राइव अक्षर पदनाम को बदल सकता है, जिससे कच्ची usb.vmdkफाइल गलत ड्राइव की ओर इशारा करती है ताकि यह वर्चुअलबॉक्स में बूट न ​​हो। परीक्षण के रूप में मैंने अपने सिस्टम में एक को छोड़ दिया। इससे /dev/sdiपहले कि मैं रिबूट होता, रिबूट के बाद यह था /dev/sdc। जब आप अपने कंप्यूटर को किसी भी परिवर्तन के लिए रिबूट करते हैं तो कृपया रिबूट करने से पहले यूएसबी ड्राइव को हटा दें। मैं देख रहा हूं कि क्या ड्राइव के UUID से कच्ची डिस्क बनाई जा सकती है क्योंकि वह बदलेगी नहीं।


चूंकि वर्चुअलबॉक्स USB ड्राइव में बूट नहीं होता है, आप एक .vmdkफाइल बना सकते हैं जो आपके USB ड्राइव को बूट करने के लिए इशारा करती है।

नोट: आप vboxusersअपने USB को देखने के लिए अपने उपयोगकर्ता खाते को VirtualBox के लिए समूह में जोड़ें । आप अपने खाते को diskसमूह में भी जोड़ना चाहिए , या आप .vmdkअपने वर्चुअल मशीन में फ़ाइल नहीं जोड़ सकते । EDIT में नीचे दिए गए निर्देश जोड़े गए । यह हार्ड ड्राइव में यूएसबी ड्राइव की प्रतिलिपि नहीं बनाता है और सीधे यूएसबी का उपयोग करता है। यदि आप जिस USB को रखना चाहते हैं, उसमें दृढ़ता बनी रहे तो यह मददगार हो सकता है। हर स्थिति समान नहीं होती है इसलिए यह हर मामले के लिए काम नहीं कर सकती है।

सबसे पहले, आपको अपने यूएसबी को आपके सिस्टम में बनाया जाना चाहिए, और यह निर्धारित करना होगा कि भौतिक ड्राइव क्या है। हम यह मानकर चल रहे हैं कि आपकी ड्राइव को माउंट किया गया है /dev/sdb1। तो, शारीरिक ड्राइव होगा /dev/sdb

अगला, .vmdkUSB ड्राइव को इंगित करने वाली फ़ाइल बनाने के लिए एक टर्मिनल विंडो से निम्न में टाइप करें :

sudo vboxmanage internalcommands createrawvmdk -filename  ~/usb.vmdk -rawdisk /dev/sdb

या

sudo VBoxManage internalcommands createrawvmdk -filename  ~/usb.vmdk -rawdisk /dev/sdb

तो आपको कुछ इसी तरह देखना चाहिए:

RAW host disk access VMDK file /home/ravan/usb.vmdk created successfully.

नोट: कुछ लोगों के पास नई बनाई गई फ़ाइल के स्वामित्व के मुद्दे हैं। नई फ़ाइल का स्वामित्व लें:

sudo chown $USER:$USER ~/usb.vmdk

फिर आपको बस इतना करना है कि .vmdkअपने वर्चुअलबॉक्स वर्चुअल मशीन में फ़ाइल को जोड़ना है और सुनिश्चित करें कि आप इसे बूट कर सकते हैं।

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

संपादित करें:

अपने उपयोगकर्ता को vboxusersसमूह में जोड़ने के लिए , निम्न कमांड चलाएँ:

sudo usermod -a -G vboxusers username

अपने उपयोगकर्ता को diskसमूह में जोड़ने के लिए , निम्न कमांड चलाएँ:

नोट: डिस्क समूह में अपने उपयोगकर्ता को जोड़ना खतरनाक और सुरक्षा जोखिम हो सकता है। कच्ची डिस्क पर लिखने के लिए सुडो एक्सेस होना उतना ही खतरनाक है।

sudo usermod -a -G disk username

फिर आप परिवर्तनों को प्रभावी करने के लिए अपने सिस्टम को अवश्य बनाए रखें।

रिबूट से पहले:

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

रिबूट के बाद:

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

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


1
मुझे यह त्रुटि मिली: VBoxManage: error: VMDK: कच्ची डिस्क फाइल '/ dev / sdc' VBoxManage नहीं खोल सका: त्रुटि कोड VERR_WRITE_PROTECT पर /build/virtualbox-VDAABr/virtualbox-4.36-dfsg/src/VBox/ समारोह पूर्णांक vmdkCreateRawImage (PVMDKIMAGE, PVBOXHDDRAW, uint64_t) VBoxManage में संग्रहण / VMDK.cpp (3390): त्रुटि: VERR_WRITE_PROTECT VBoxManage: त्रुटि: कच्चे डिस्क vmdk फाइल नहीं बनाई गई कच्चे डिस्क VMDK नहीं बना सकता
जॉन

@ जॉन क्या आपने diskसमूह में अपना खाता जोड़ा फिर लॉगआउट किया और समूह में जुड़ने के बाद वापस रिबूट या?
तेरह

हां, मैं इसे रीबूट करता हूं और अगर मैं इसे रूट रिजल्ट के रूप में चलाता हूं तो यह घटना है ...
जॉन

2
मेरे लिए अच्छा काम करता है। टिप्पणी: रीबूट करने की जरूरत नहीं है, बस लॉगआउट / लॉगिन करने के लिए। एक बार डिस्क समूह में, किसी को सुडो का उपयोग करने की आवश्यकता नहीं होनी चाहिए।
कार्ल फॉर्नर

1
मैंने निर्देशों का पालन किया, लेकिन जब वर्चुअलबॉक्स में usb- ड्राइव से विंडोज 10 को बूट करने की कोशिश की जा रही है तो यह कहता है कि "FATAL: बूट माध्यम से नहीं पढ़ सका! सिस्टम रुका।" कोई सुझाव? आपके सहयोग के लिए धन्यवाद!
आर्क लिनक्स टक्स

15

मैं कुछ दिन पहले ही इस पद पर आया था। मैं प्लॉप बूट मैनेजर का उपयोग नहीं करना चाहता, क्योंकि मेरा यूएसबी स्टिक पहले से ही बूट करने योग्य है।

इसलिए मैंने USB छड़ी को VMDK डिस्क (टेरेंस जवाब में) के रूप में बनाकर इंगित करने की कोशिश की vboxmanage internalcommands createrawvmdk -filename ~/usb.vmdk -rawdisk /dev/sdb

दुर्भाग्य से, यह काम करने के लिए मना कर दिया ... मैं chmodऔर डिस्क, और इसलिए मैं एक वी एम में अटैच कर पा रहा था, लेकिन यह सिर्फ काम नहीं किया।chownusb.vmdk

अंत में, मैंने एक और समाधान की कोशिश की और यह एक निर्दोष काम किया है। यह यहाँ है ( अनुसंधान के लिए गीन सैंटोस के लिए धन्यवाद ):

  1. यूएसबी स्टिक डालें और इसे पहचानें (मेरा है /dev/sdb, चल रहा है सब्योन लिनक्स);
  2. कच्चे डिवाइस (यानी यूएसबी स्टिक) को वर्चुअलबॉक्स डिस्क में कनवर्ट.vmdk करके एक डिस्क बनाएं

    sudo VBoxManage convertfromraw /dev/sdb ./usb.vmdk --format vmdk
    
  3. अब आपके पास usb.vmdkअपने बूट करने योग्य USB स्टिक से बनाई गई एक डिस्क है। मैंने ddएक इमेज फाइल में USB स्टिक की भी कोशिश की और इमेज फाइल .vmdkसे डिस्क बनाई । यह काम करता है, साथ ही .vdiडिस्क ने पूर्व तरीका बनाया है (या छवि फ़ाइल से)

  4. अब, बनाई गई डिस्क को अनुमति दें क्रम में वर्चुअलबॉक्स फ़ाइल तक पहुंच सकता है। इसका अर्थ केवल फ़ाइल स्वामी को उपयोगकर्ता के लिए परिवर्तित करना है जो vboxusers समूह में हैं । यदि आपका VirtualBox इंस्टॉल ठीक चल रहा है, तो इस मालिक की तुलना में, संभवतः, आप होंगे:

    sudo chown `whoami`:`whoami` ./usb.vmdk
    
  5. अब, आपको बस usb.vmdkएक वर्चुअल मशीन में डिस्क को संलग्न करना होगा । लेकिन यह एक आईडीई नियंत्रक से जुड़ा होना चाहिए । मैंने SATAबिना किसी सफलता के कोशिश की ।

एक IDE नियंत्रक से जुड़े बूट करने योग्य <code> usb.vmdk </ code> के साथ एक वीएम उदाहरण

इस बिंदु पर, आप ठीक हैं।

बस नए VM F12को बूट करें, बूट करने योग्य ड्राइव को दबाएं और चुनें।

का आनंद लें!


क्या यह USB 3.0 के साथ काम करता है (cf. comments here askubuntu.com/questions/693719/… )?
natty

मैंने अभी जाँच की है और आपने मूल रूप से अपने यूएसबी स्टिक ड्राइव की प्रतिलिपि बनाई है, और इस तरह से मूल यूएसबी स्टिक का उपयोग नहीं किया है।
फेडकम्प

11

सबसे आसान समाधान एक कुंजी फ़ाइल में USB कुंजी की सामग्री की प्रतिलिपि बनाना है (अच्छी तरह से, अगली बार जब मैं सही मशीन पर आईएसओ डाउनलोड करूंगा, तो पहली जगह में कोई USB कुंजी की आवश्यकता नहीं है)

dd if=/dev/sdc of=myusbkey.iso

और फिर इस .iso को स्टोरेज, कंट्रोलर: IDE (या SATA, मुझे लगता है) के तहत वर्चुअलबॉक्स सेटिंग्स में एक ऑप्टिकल ड्राइव के रूप में जोड़ें।

कोई .vmdk फ़ाइल बनाने की आवश्यकता नहीं है, VirtualBox .iso फ़ाइलों का समर्थन करता है।


यह उत्तर सबसे ऊपर होना चाहिए।
मैकमुटन

मैं सहमत हूं :-) लेकिन इसके लिए और अधिक अपवाह की आवश्यकता है, फिर भी;)
डेविड फॉरे

यहाँ बात यह है कि यदि आपके पास लगभग 40GB की बूट करने योग्य छवि के साथ एक विभाजन है तो यह उस आकार के साथ एक फ़ाइल उत्पन्न करेगा
Sposmen

ठीक है, लेकिन अन्य सभी समाधान भी वे करते हैं?
डेविड फॉरे

1
@DavidFaure "VBoxManage internalcommands craitawvmdk ..." का उपयोग करने के बारे में मूल उत्तर बस कुछ ऐसा बनाता है जिसे आप USB ड्राइव के शॉर्टकट के बराबर समझ सकते हैं जिसे आपने उस समय सिस्टम से जोड़ा है जब आप उपरोक्त कमांड चलाते हैं। तो आप USB छड़ी की संभावित विशाल छवि को user33845 द्वारा बताए अनुसार समाप्त नहीं करते हैं
ConceptRat

5

मैं निम्नलिखित चरणों का सुझाव दूंगा।

  1. ओपेन डिस्क।
  2. USB के लिए देखें।
  3. वहां क्लिक करें और शीर्ष दाएं कोने पर आपको एक सेटिंग आइकन दिखाई देगा जिसमें 3 समानांतर रेखाएं हैं।
  4. वहाँ क्लिक करें और डिस्क छवि बनाएँ चुनें ...
  5. स्थान का चयन करें और बनाएँ पर क्लिक करें । यह एक .img फ़ाइल बनाएगा जिसका उपयोग आप VirtualBox में कर सकते हैं।

2

मैं वर्चुअलबॉक्स को रूट के रूप में चलाना नहीं चाहता था। मैं नहीं चाहता था कि मेरा उपयोगकर्ता डिस्क समूह का हो, जिसके पास सभी डिस्क की पूर्ण अनुमति हो।

तो यहाँ मैं काम करने के लिए क्या है:

मेमोरी स्टिक क्या है, इसका पता लगाएं। निम्नलिखित निर्देशों में sdc

  • मेमोरी स्टिक को अनमाउंट करें

    su -
    chmod 666 /dev/sdc1
    chmod 666 /dev/sdc
    exit # Run the following command as regular user:
    VBoxManage internalcommands createrawvmdk -filename usb.vmdk -rawdisk /dev/sdc
    su - # Back as root again:
    chmod 777 usb.vmdk
    chmod 666 /dev/sdc
    
  • Usb.vmdk virtualbox मशीन संलग्न करें

    chmod 666 /dev/sdc
    
  • वर्चुअलबॉक्स मशीन प्रारंभ करें
  • किए जाने के बाद, सुरक्षा के लिए sdc1 अनुमति रीसेट करें:

    chmod 660 /dev/sdc1
    

ऊपर आप देख सकते हैं कि मुझे मेमोरी स्टिक के लिए अनुमतियों को कुछ बार रीसेट करना पड़ा, क्योंकि यह हर बार रूट करने के लिए सेट हो जाता है।

मैं मंद्रिवा लिनक्स का उपयोग कर रहा हूं, लेकिन यह उबंटू में उसी के बारे में होना चाहिए


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

@ इवान टेरान क्या आपने भी इसे आजमाया है? और हाँ उपयोगकर्ता डिस्क समूह का हिस्सा है। यह वह विधि है जिसका उपयोग मैं आज भी अपने स्वयं के लिनक्स ऑपरेटिंग सिस्टम के साथ करता हूं। वेन साल्ली वेन@वयेनसेले डॉट कॉम
वेन साल्ली

मैंने कहा कि यह काम नहीं करेगा, मैंने कहा कि यह अच्छी सलाह नहीं है। उपयोगकर्ता के समूहों के बावजूद, यदि आप कमांड्स को रूट के रूप में चला रहे हैं, तो आपको अनुमतियों के साथ टकराव करने की भी आवश्यकता नहीं होनी चाहिए क्योंकि रूट एक्सेस वैसे भी है। इसके अलावा, 777 और 666 के साथ फाइल और फोल्डर बनाना बुरा व्यवहार है, आपको चीजों को तब तक पढ़ने या लिखने योग्य नहीं बनाना चाहिए जब तक कि उन्हें होना चाहिए।
इवान टेरान

@ इवान टेरान को प्रोग्राम को रूट के रूप में चलाने के लिए अच्छी सलाह नहीं है, इसे रूट करने की आवश्यकता नहीं है। मेमोरी स्टिक केवल थोड़ी देर के लिए है, और यह सर्वर पर नहीं है। यह वह जगह है जहां आप जोखिम डालना चाहते हैं। मैं सिस्टम के बजाय मेमोरी स्टिक पर जोखिम डालना चुनता हूं। Wayne@WayneSallee.com
वेन साल्ली

सुधार: मैंने अपने उपयोगकर्ता को डिस्क समूह में नहीं रखा है। Wayne@WayneSallee.com
वेन साल्ली

1

यदि आपका USB ड्राइव एक EFI बूट करने योग्य ड्राइव है तो Plop Boot Manager काम नहीं करेगा क्योंकि यह EFI बूट का समर्थन नहीं करता है। इस तरह के मामले में मेरे लिए जो काम किया गया वह rEFInd बूट मैनेजर ( http://www.rodsbooks.com/refind/ ) का उपयोग कर रहा था ।

  1. से डाउनलोड करें refind बूट आईएसओ http://sourceforge.net/projects/refind/files/0.11.4/refind-cd-0.11.4.zip/download और इसे अनज़िप।

  2. VirtualBox में वर्चुअल मशीन सेटिंग्स खोलें और rEFInd CD ISO फाइल अटैच करें।

  3. सुनिश्चित करें कि "सिस्टम" टैब में वर्चुअल मशीन सेटिंग्स में "ईएफआई सक्षम करें (केवल विशेष ओएसिस)" विकल्प सक्षम है।

  4. वर्चुअल मशीन बूट करें और आपको rEFInd बूट मेनू देखना चाहिए:

rEFInd मेनू

  1. VirtualBox में अपनी USB ड्राइव संलग्न करें।

  2. मेनू को ताज़ा करने के लिए बैकस्पेस दबाएं या बस कुछ सेकंड प्रतीक्षा करें और मेनू में ड्राइव दिखाई देनी चाहिए।

  3. अपनी USB ड्राइव और हिट एंट्री का चयन करें और अपने USB ड्राइव को बूट करना शुरू कर देना चाहिए।

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