बूट करने योग्य USB स्टिक बनाने के लिए 'dd' कमांड का उपयोग करना


11

क्यों उबंटू के कुछ स्वादों की आईएसओ छवियों को dd कमांड और बूट के द्वारा USB स्टिक पर सफलतापूर्वक डाला जा सकता है , जबकि अन्य फ्लेवर नहीं? इसके अलावा ऐसा लगता है कि यह विशेष रूप से यूएसबी स्टिक पर निर्भर है। मैंने मानक उबंटू के साथ प्रयास किया:

$ sudo dd if=./ubuntu.iso of=/dev/sdd bs=8129

और यह आकर्षण की तरह काम करता है, मेरा मतलब है: बूट और इंस्टॉल या लाइव उबंटू चलाना। लेकिन जब मैं उसी तरह से तैयार एक अन्य यूएसबी स्टिक का उपयोग करता हूं, तो यह ऑपरेटिंग सिस्टम के साथ बूट करने में विफल रहता है जिसमें BIOS त्रुटि नहीं मिली

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

मुझे पता है, कि उबंटू में स्टार्टअप डिस्क क्रिएटर एप्लीकेशन है, लेकिन मुझे विश्वास हो गया है, कि यह साधारण dd कमांड के लिए केवल GUI मुखौटा है , और मैं हमेशा बूट करने योग्य USB स्टिक बनाने के लिए dd का उपयोग कर सकता हूं , कम से कम लिनक्स के लिए। क्या मै गलत हु?


मैं व्यक्तिगत रूप से Unetbootin का उपयोग करता हूं, और मुझे कभी कोई समस्या नहीं हुई।
टिम

जवाबों:


5

यदि आप स्टार्टअप डिस्क निर्माता चलाते हैं, तो आप देखेंगे कि यह तीन (चार) चीजें करता है:

  1. ड्राइव को फॉर्मेट करें
  2. आईएसओ से ड्राइव पर डेटा की प्रतिलिपि बनाएँ
  3. ( दृढ़ता के लिए एक अतिरिक्त आवरण 1 फ़ाइल जोड़ें , यदि चयनित है। ddआपको दृढ़ता नहीं देता है।)
  4. बूटलोडर स्थापित करें

इसके लिए कोई GUI नहीं है dd(इसके लिए GUI हैं dd, लेकिन SDC उनमें से एक नहीं है)। आप इसे आर्क लिनक्स या जेंटू के मैनुअल तरीकों के बराबर करने के बारे में सोच सकते हैं । आपको वर्तमान में अधिकांश (यथोचित लोकप्रिय) डिस्ट्रोस इंस्टॉलेशन ISO का उपयोग करके बूट करने योग्य USB बनाने में सक्षम होना चाहिए। यह तीन या चार साल पहले सच नहीं था, जब मैंने आर्च को देखा। यह केवल 2010 था कि सभी आर्क आईएसओ ने यह सुविधा प्राप्त की (जहां आप इसे सीधे यूएसबी ड्राइव पर लिख सकते हैं) - 2008 से 2010 तक उनके पास विशेष यूएसबी छवियां थीं।

इसके अलावा, यदि आप ddसीधे ड्राइव करते हैं, तो यह ड्राइव प्रभावी रूप से केवल तभी तक पढ़ी जाती है जब तक आप इसे प्रारूपित नहीं करते हैं या किसी स्थान पर शेष स्थान का उपयोग नहीं करते हैं। एक एससीडी-निर्मित डिस्क अभी भी यूएसबी ड्राइव के रूप में उपयोग करने योग्य है, भले ही सामग्री लाइव वातावरण से आसानी से सुलभ न हों। इसलिए यदि आप dd8 या 16 जीबी यूएसबी ड्राइव के लिए 1 जीबी का आईएसओ लेते हैं, तो जब तक अतिरिक्त कदम नहीं उठाए जाते, आप प्रभावी रूप से शेष स्थान को छोड़ देते हैं।


1 आमतौर पर, अधिकांश लाइव चित्र रूट विभाजन के लिए स्क्वाशएफ फाइल का उपयोग करते हैं । स्क्वैश एफएस-रीड-ओनली है, इसलिए दृढ़ता के लिए, एक फ़ाइल बनाई जाती है । मैं की उत्पत्ति के बारे में निश्चित नहीं हूं । मैं जो समझता हूं, जब विकल्प के साथ बूट किया जाता है, तो कर्नेल स्क्वैश के शीर्ष पर कैस्पर फ़ाइल (एक यदि कोई मौजूद नहीं है) का निर्माण करता है, ताकि यह लिखने की क्षमता हासिल कर ले। एक फाइल होना जरूरी नहीं है, यह एक विभाजन भी हो सकता है ।casper-rw/caspercasperboot=caspercasper


"कैस्पर फाइल" क्या है? कृपया समझाएँ।

@ MikołajBartnicki मुझे खुद पर बहुत यकीन नहीं है, लेकिन मैंने जवाब अपडेट कर दिया है।
मुरु

कैस्पर एक भूत है (जिसे आप सभी जानते हैं)। जैसा आपने कहा, यह आरओ फाइलसिस्टम पर कुछ फोल्डर को ओवरलैप करता है। दृढ़ता के साथ चल रही लाइव छवि से फाइलसिस्टम की जांच करने से सक्षम कुछ निर्देशिकाएं 'ऊपरी' और 'लोअर' से पता चलती हैं जो केवल पढ़ने और लिखने दोनों प्रणालियों पर मौजूद हैं, लेकिन चल रहे सिस्टम पर एक के रूप में दिखाई देते हैं, कुछ हद तक पहले से ही एक माउंट के समान। मौजूदा फ़ोल्डर
oneindelijk

2

पहले प्रयास करें:

su -c 'mkfs.vfat /dev/sdc -I'

Dd कमांड का उपयोग करके iso फाइल से बूट करने योग्य usb डिस्क बनाने के लिए , डिस्क में / dev / sdc1 (डिस्क / dev / sdc के चार संभावित प्राथमिक विभाजनों में से एक) जैसे विभाजन नहीं हो सकते हैं । आप प्राथमिक विभाजन, आईएसओ डीवीडी या सीडी डिस्क के लिए आईएसओ फ़ाइल के ब्लॉक क्लोन नहीं कर सकते हैं यह भी नहीं है। इसलिए आपको डिस्क / dev / sdc पर बिल्कुल एक फाइल सिस्टम बनाना होगा , विभाजन प्राथमिक में नहीं।

इसके अलावा आपने dd कमांड टाइप करके कुछ गलतियां की हैं ।

इसे इस्तेमाल करे:

su -c 'dd if=/home/user/debian.iso of=/dev/sdc bs=4M;sync;eject /dev/sdc'

आपकी कमांड पहले mkfs.vfat के बिना सही नहीं है। यदि आप बूटलोडर भी स्थापित करते हैं और विभाजन सक्रिय कर सकते हैं। अन्य USB ड्राइव काम नहीं करती हैं, क्योंकि आपके usb पोर्ट को किसी अन्य USB पोर्ट के साथ साझा किया जा सकता है या आपके पास लाइव usb OS काम करने की शक्ति नहीं है, शायद HDD ड्राइव और अन्य USB डिस्क काम कर रहे हैं जिन्हें सामान्य से अधिक बिजली की आवश्यकता है। इस प्रकार के उपकरणों की औसत बिजली की खपत की तुलना में (जैसे कि sd अडैप्टर से USB के साथ बाहरी मामले में)


2

आप एक बूट करने योग्य USB स्टिक भी बना सकते हैं cp(यह मेरे ddया GUI की तुलना में मेरे लिए बहुत अधिक सरल है ):

sudo cp path/to/ISO /dev/sdX


याद रखें कि /dev/sdXआपके ब्लॉक डिवाइस (जैसे /dev/sdb, /dev/sdc) के नाम से प्रतिस्थापित किया जाना चाहिए ।


1
मेरे लिए यह वास्तव में नया था। साथ में progress unix.stackexchange.com/a/301329/87264 यह प्रगति को दर्शाता है,
जोनास
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.