सवाल टर्मिनल से बूट करने योग्य उबंटू यूएसबी फ्लैश ड्राइव कैसे बनाएं?


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

मैंने बूट करने योग्य उबंटू फ्लैश ड्राइव बनाने की कोशिश की dd तरीका,

sudo umount /dev/sdb
sudo dd if=/path/to/ubuntu.iso of=/dev/sdb bs=1M

यह यूएसबी डिस्क पर फाइलें बनाता है, लेकिन जब मैं यूएसबी डिस्क बूट करने का प्रयास करता हूं तो यह एक दिखाता है Operating System Not Found त्रुटि।


263
2017-11-15 17:29


मूल


आपको यह सुनिश्चित करना होगा कि आपका यूएसबी फ्लैश ड्राइव आरोहित नहीं है। Lsblk के साथ जांचें। यदि आवश्यक हो, तो सुडो उमाउंट / देव / एसडीबी (शायद एसडीबी 1, एसडीबी 2) करें। जोड़ें; echo $? आपके डीडी कॉपी कमांड के बाद। तो: सुडो डीडी अगर = ... का = ... बीएस = 4 एम; $ echo? यदि कमांड समाप्त होता है, तो वापसी मान 0 होना चाहिए।
मैंने आपके कदमों को फॉलो किया, लेकिन यह भी वही फाइलें बनाता है sudo umount /dev/sdb sudo dd if=/path/to/ubuntu.iso of=/dev/sdb bs=1M बनाता है। यह कोई नहीं बनाता है ubninit,ldlinux.sys,etc फ़ाइलों को बूट करने के लिए मुख्य रूप से एक लिनक्स ओएस महत्वपूर्ण है। - Avinash Raj
मैं एक अंतिम चरण के रूप में यूएसबी डिस्क के एमबीआर पर grub स्थापित करेंगे। - Elder Geek
सबसे आसान टर्मिनल का उपयोग कर अंतर्निहित टूल्स का उपयोग करना है dd जैसा कि यहां वर्णित है। यह सभी हाइब्रिड आईएसओ फाइलों के साथ काम करता है। परंतु dd एक खतरनाक उपकरण है क्योंकि यह आपको बिना किसी प्रश्न के करने के लिए बताता है। तो यदि आप इसे परिवार की तस्वीरों को पोंछने के लिए कहते हैं ... और यह एक छोटी टाइपिंग त्रुटि दूर है। कई उपकरण अधिक सुरक्षित हैं। वे आपको लक्ष्य ड्राइव की पहचान करने और चुनने में मदद करते हैं, और अंतिम चेकपॉइंट प्रदान करते हैं, जहां आप दोबारा जांच कर सकते हैं, कि आप सही ड्राइव पर लिखेंगे। इनमें से अधिकांश जीयूआई उपकरण हैं, कुछ पाठ मोड में भी काम कर सकते हैं, उदा। mkusb-dus। - sudodus
निम्न लिंक एक उदाहरण दिखाता है, जहां आंतरिक ड्राइव गलती से ओवरराइट की गई थी, जब कमांड लाइन के साथ dd बूट करने योग्य उबंटू यूएसबी फ्लैश ड्राइव बनाने के लिए इस्तेमाल किया गया था, askubuntu.com/questions/982552/accidentally-did-dd-dev-sda - sudodus


जवाब:


आप उपयोग कर सकते हैं dd

 sudo umount /dev/sd<?><?>  

कहा पे <?><?> एक पत्र के बाद एक पत्र है, इसे देखो। फिर आगे:

 sudo dd bs=4M if=input.iso of=/dev/sd<?> conv=fdatasync

कहा पे input.iso इनपुट फ़ाइल है, और /dev/sd<?> वह यूएसबी डिवाइस है जिसे आप लिख रहे हैं (चलाएं lsblk क्या पता लगाने के लिए सभी ड्राइव देखने के लिए <?> आपके यूएसबी के लिए है)।

यह विधि तेज है और कभी मुझे विफल नहीं हुई है।


संपादित करें: मैक पर आने वाले लोगों के लिए, लोअरकेस का उपयोग करें bs=4m:

sudo dd if=inputfile.img of=/dev/disk<?> bs=4m && sync

संपादित करें: यदि यूएसबी ड्राइव बूट नहीं होता है (यह मेरे साथ हुआ), ऐसा इसलिए है क्योंकि लक्ष्य ड्राइव के बजाए ड्राइव पर एक विशेष विभाजन है। तो लक्ष्य / dev / sdc होना चाहिए और dev / sdc नहीं होना चाहिए <?> मेरे लिए यह / dev / sdb था।

संदर्भ: https://superuser.com/a/407327 तथा https://askubuntu.com/a/579615/669976


302
2017-11-13 11:51



यह मेरे लिए काम नहीं करता है। - Avinash Raj
वास्तव में? क्या आप सुनिश्चित हैं कि आपके पास पथ सहित सही .iso फ़ाइल नाम है, और आपके यूएसबी ड्राइव के लिए सही / dev है? यह कैसे विफल रहता है? क्या कोई त्रुटि संदेश है, या क्या यह बूट करने में विफल रहता है? क्या आप निश्चित हैं कि .iso भ्रष्ट नहीं है? - Marc
आप भ्रष्ट हो सकते हैं। आईएसओ। क्या आपने इसे चेक किया है? क्या आप निश्चित हैं कि .iso वास्तव में कुछ की एक प्रति है है बूट? - Marc
मूल प्रश्न और सबसे ऊपर उत्तर दिया वही व्यक्ति है जिसने कहा कि यह विधि उसके लिए काम नहीं कर रही है। ;-) मेरे लिए अनुमोदित उत्तर काम नहीं कर रहा है और यह करता है। :-) उपवास। - Drachenfels
उपयोग df -lh क्या जांचने के लिए dev/sdc आपका /media/user/XXXX-YYY (यूएसबी का इंटरफ़ेस नाम) - Peter Krauss


टर्मिनल से बूट करने योग्य उबंटू यूएसबी फ्लैश ड्राइव बनाना

  • इसे रखो ubuntu.iso किसी भी हार्ड डिस्क विभाजन में फ़ाइल।

  • फिर माउंट करें ubuntu.iso टर्मिनल में निम्न आदेशों के साथ फ़ाइल करें:

    sudo mkdir /media/iso/
    sudo mount -o loop /path/to/ubuntu.iso /media/iso
    
  • अपने यूएसबी फ्लैश ड्राइव डालें। मेरा ड्राइव है /dev/sdd। यहां एक स्क्रीनशॉट है:

GParted screenshot

  • आपका ड्राइव स्वचालित रूप से अंदर घुड़सवार हो सकता है /media/। आइए मान लें कि इसमें घुड़सवार था /media/xxx/

  • से सभी फाइलों की प्रतिलिपि बनाएँ /media/iso/ नीचे दिए गए आदेश को चलाकर अपने घुड़सवार यूएसबी फ्लैश ड्राइव पर (डॉट को शामिल करना सुनिश्चित करें):

    cp -a /media/iso/. /media/xxx/
    
  • इसके बाद, आपको इसकी आवश्यकता है ldlinux.sys यूएसबी बनाने के लिए अपने यूएसबी फ्लैश ड्राइव में फ़ाइल करें बूट। मेरा यूएसबी विभाजन है /dev/sdd1; दर्ज lsblk यह देखने के लिए कि आपका क्या है। नीचे दिए गए आदेश चलाएं:

    sudo apt-get install syslinux mtools
    sudo syslinux -s /dev/sdd1
    
  • नेविगेट करें /media/xxx माउंट फ़ोल्डर और नाम बदलें isolinux निर्देशिका करने के लिए syslinux। फिर नामित फ़ोल्डर में जाएं और फ़ाइल का नाम बदलें isolinux.cfg सेवा मेरे syslinux.cfg

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

यह विधि किसी भी लिनक्स वितरण के लिए काम करेगी, न केवल उबंटू। लिनक्स यूएसबी फ्लैश ड्राइव बनाने के लिए आपको किसी तीसरे पक्ष के सॉफ्टवेयर को स्थापित करने की आवश्यकता नहीं है


84
2017-11-07 18:19



मैं इस समय कोशिश कर रहा हूं, क्या आप कृपया निर्दिष्ट कर सकते हैं कि आप क्या / क्यों उपयोग करते हैं: cp-a cp -r के बजाय - moldovean
आप की जरूरत है sudo के लिए syslinux आदेश। - Cammy_the_block
यह विधि मेरे लिए काम नहीं कर सका। सीपी-ए देता है: 'सीपी: प्रतीकात्मक लिंक नहीं बना सकता' /media/xxx/./ubuntu ': ऑपरेशन की अनुमति नहीं है' और अन्य की तरह, चूंकि लक्ष्य fat32 है। मैंने इसे अनदेखा करने की कोशिश की ... काम नहीं किया - sheß
यह ध्यान रखना महत्वपूर्ण है कि यूएसबी एक fat32 फाइल सिस्टम होना चाहिए, अन्यथा syslinux काम नहीं करेगा - Ricardo BRGWeb
कंसोल मुझे @ sheß की तुलना में एक ही त्रुटि दिखाता है। मैंने फाइल सिस्टम (एफएटी 32) और फ्लैग बूट सत्यापित किया। - Chofoteddy


आप लगभग साथ हैं dd, लेकिन आप एक कदम याद कर रहे हैं।

sudo umount /dev/sdX
sudo dd if=/path/to/ubuntu.iso of=/dev/sdX bs=4M && sync

कहा पे sdX आपका यूएसबी डिवाइस है (इसे सत्यापित किया जा सकता है lsblk)।

sync बिट के रूप में महत्वपूर्ण है dd लिखने के ऑपरेशन खत्म होने से पहले वापस आ सकते हैं।


77



उल्लेख करने के लिए +1 sync। इसके बिना, आपको कोई जानकारी नहीं है कि सामग्री वास्तव में कॉपी की गई थी या नहीं। इसके अलावा, यदि आप जल्दी में नहीं हैं, तो आपको चाहिए md5sum दोनों फाइलें सिर्फ दोगुनी-निश्चित हैं। - Dave
शायद यूएसबी का जिक्र करने के लायक होने के साथ एफएटी 32 के रूप में स्वरूपित (पुनः) होना आवश्यक हो सकता है sudo mkfs.msdos -F 32 /dev/sdX प्रथम? - Nemo
@ नीमो, क्या इससे कोई फर्क पड़ता है? dd / dev / sdX किसी मौजूदा फ़ाइल सिस्टम को ओवरराइट करेगा। - mwfearnley
sync यहाँ व्यर्थ है। यह केवल फाइल सिस्टम संचालन को प्रभावित करता है। - punund
conv=fdatasync - परिष्करण से पहले आउटपुट फ़ाइल डेटा शारीरिक रूप से लिखें सिंक का ख्याल रखना चाहिए, लेकिन यह सुनिश्चित करने के लिए अच्छी कॉल करें कि डिवाइस पहले अनमाउंट किया गया है। - Johnathon Havens


आपके पास दो विकल्प हैं।

यदि आप एक ग्राफिकल इंटरफ़ेस चाहते हैं, तो यूएसबी-निर्माता का उपयोग करें (यह उबंटू रिपोज़ में है)

enter image description here

यदि आप कमांड लाइन उपकरण चाहते हैं, तो डीडी का उपयोग करें

#Replace X accordingly in both commands

sudo umount /dev/sdX
sudo dd if=/path/to/ubuntu.iso of=/dev/sdbX bs=1M

बस सुनिश्चित हो /dev/sdX वह फ्लैश ड्राइव है जिसका आप उपयोग करना चाहते हैं (यह फ्लैश ड्राइव पर डेटा को नष्ट कर देगा)।

देख https://help.ubuntu.com/community/Installation/FromUSBStickअतिरिक्त जानकारी के लिए।


36



मैं केवल कमांड लाइन टूल्स चाहता हूं, गुई टूल नहीं (जैसे स्टार्टअप डिस्क निर्माता)। के अनुसार dd विधि, केवल 3 फ़ोल्डर्स और 1 फ़ाइल मेरे यूएसबी में बनाई गई थी। जबकि मैं बूट करने की कोशिश करता हूं, यह कहता है operating system not found त्रुटि। जैसे फिल्में ubninit,menu.c32,ubnpathl.txt,ubnfilel.txt,ldlinux.sys गायब हैं (जो लाइव यूबंटू यूएसबी बूट करने के लिए बहुत महत्वपूर्ण हैं)। - Avinash Raj
मैंने ubuntu.iso के साथ डीडी विधि की कोशिश की और यह काम किया! हालांकि यह एक यूएसबी पर लिखा जाने वाला बहुत समय है। मुझे आश्चर्य है कि बीएस = 1 एम क्या है। मुझे यह साइट मिली manpages.ubuntu.com/manpages/karmic/en/man1/dd.1.html । अब मुझे आश्चर्य है कि क्या मूल्य बदलना यूएसबी को तेजी से कॉपी करने के लिए करेगा? और जोखिम क्या हैं .. शायद कोई जानता है। - moldovean
बीएस ब्लॉक आकार है। डीडी मेमोरी में 1 एमबी डेटा पढ़ेगा और फिर डिस्क पर इसे लिखने के लिए आगे बढ़ेगा। एक बहुत ही छोटे ब्लॉक आकार का उपयोग करके आपको बहुत सी सीपीयू ओवरहेड मिल जाएगी। एक बहुत बड़े ब्लॉक आकार का उपयोग अप्रत्याशित दुष्प्रभावों के परिणामस्वरूप हो सकता है, उदा। कोई डिस्क गतिविधि और / या बड़े RAM उपयोग के लंबे विराम। एक आईएसओ से डिस्क बनाते समय आमतौर पर 1 एम या 4 एम एक अच्छा मूल्य है। ब्लॉक आकारों पर अधिक जानकारी: stackoverflow.com/questions/6161823/... - ApolloLV
मुझे लगता है कि एक बूट करने योग्य यूएसबी कुछ ऐसा है जो मैं अक्सर करता हूं, लेकिन जब मैं इसे करता हूं, तो मैं चाहता हूं कि यह सही हो। एक छोटे ब्लॉक आकार में अधिक समय लग सकता है, लेकिन क्या यह एक मुद्दा है? नहीं। - Marc
@Marc - एकमात्र मुद्दा गति है, एक छोटा ब्लॉक आकार कोई भी कम या कम त्रुटि प्रवण नहीं होता है, फिर एक बड़ा ब्लॉक आकार और इस प्रकार एक छोटा ब्लॉक आकार! = "सही किया गया"। सही हो गया है आईएसओ के md5sum की जांच और लिखित छवि के md5sum की पुष्टि। एक बार जब आप m5dsums की पुष्टि करते हैं तो आप जानते हैं कि यह सही किया गया था। - Panther


सबसे पहले, यूएसबी डिवाइस अनमाउंट करें और फिर उपयोग करें lsblk डिवाइस को सत्यापित करने के लिए।

कभी-कभी (आमतौर पर पुरानी आईएसओ फाइलें) डीडी पर्याप्त नहीं है और पेंड्रिव बूट नहीं होगा। इस मामले में, आपको syslinux इंस्टॉल करने की आवश्यकता हो सकती है:

sudo apt-get install syslinux

और फिर निम्न आदेश चलाएं:

sudo mkfs -t vfat -I /dev/sdX

आप उस अंतिम कमांड को चलाने के लिए चाहते हैं /dev/sdX तथा नहीं  /dev/sdX1

फिर, निम्न आदेशों के साथ आगे बढ़ें:

isohybrid /path/to/file.iso --entry 4 --type 0x1c
dd if='/path/to/file.iso' of=/dev/sdX bs=8M

या, छवि लिखने की प्रगति देखने के लिए:

pv -tpreb /path/to/file.iso | dd of=/dev/sdX bs=8M

या इसके बजाय dd, आप उपयोग कर सकते हैं cat बजाय:

sudo -s
cat /path/to/file.iso > /dev/sdX

लिखने के कैश फ्लश करने के लिए सिंक कमांड जारी करने के लिए याद रखें

sync

web.archive.org/web/20140327085331/https://tails.boum.org/doc/first_steps/installation/manual/linux/index.en.html


23



मुझे यह उल्लेख करने की ज़रूरत है कि मेरे लिए सब कुछ असफल रहा, लेकिन यह काम किया - मैंने इसका चयन किया cat आदेश। - Digital Dracula
उन लोगों के लिए जो जोर देते हैं dd अकेला पर्याप्त है, मुझे काम करने के लिए भी इसकी आवश्यकता है। - GuiRitter
यदि आप एक उपकरण चाहते हैं जो उपयोग करते हैं dd जब आईएसओ हाइब्रिड और माउंट होता है, तो आईएसओ फ़ाइल कॉपी करें + आईएसओ नहीं होने पर SYSLINUX इंस्टॉल करता है bootiso बजाय। - Jules Randolph


$ dd if=ubuntu-14.04.1-desktop-amd64.iso of=/dev/sdX bs=1MB

बिट के रास्ते का उपयोग न करें।

  1. उपयोग cd .iso फ़ाइल वाले फ़ोल्डर में जाने के लिए आदेश
  2. आदेश का प्रयोग करें dd if=FILE NAME HERE.iso of=/dev/sdX bs=1MB
  3. प्रतीक्षा करें जब तक कंसोल आउटपुट ऐसा कुछ न दिखता है:

    1028+1 records in
    1028+1 records out
    1028653056 bytes (1.0 GB) copied, 55.4844 s, 18.5 MB/s
    
  4. यूएसबी से बूट करें।

नोट: सुनिश्चित करें कि आप सही डिवाइस पर लिखते हैं, एक यूएसबी हमेशा इस पर आरोहित नहीं होगा: dev/sdX जहां एक्स कोई पत्र हो सकता है।


6



डीडी कमांड में बीएस = 1 एमबी का महत्व क्या है ??? - juggernauthk108
@ juggernaut1996 कोई नहीं। कॉपी करते समय उपयोग करने के लिए यह ब्लॉक आकार है। चूंकि कोई गिनती तर्क प्रदान नहीं किया गया था, इसलिए यह पूरे इनपुट को 1 एमबी ब्लॉक में कॉपी करेगा। इसे हटाया जा सकता है। - sjbx
"बिट टू पाथ का उपयोग न करें" एक गलत जानकारी है। यह प्रक्रिया किसी भी चरण में प्रतिलिपि बनाई गई छवि में पथ घटकों को सेंकना नहीं करती है, इसलिए यदि आप अपनी आईएसओ छवि वाली निर्देशिका में नेविगेट करते हैं या बस पूर्ण पथ देते हैं तो यह अप्रासंगिक है। इसके अलावा, डीडी भी stdin से इनपुट स्वीकार कर सकते हैं, ताकि आप छवि में बेक कोई रास्ता सुनिश्चित करने के लिए बस एक दूसरे में दो डीडी पाइप कर सकते हैं। - Gabor Garami
यह केवल हाइब्रिड-आईएसओ के लिए काम करेगा, जो आज के मामलों में एक अच्छा बहुमत भरता है, लेकिन UltimateBootCD जैसे उल्लेखनीय अपवाद हैं। उपयोग bootiso बजाय। - Jules Randolph


यदि "थर्ड-पार्टी" द्वारा आपका मतलब "गुई" है, मैं बूटिसो नाम की एक हल्के लिपि का सुझाव देता हूं बाद अविनाश राज जवाब, क्योंकि dd हमेशा काम नहीं करता है। बड़ा प्लस यह बहुत सुरक्षित है (सिस्टम के साथ गड़बड़ न करने के लिए कई सुरक्षा जांच करता है), स्थापित करने में आसान और पोर्टेबल।

इसके अलावा, bootiso दो मोड से चुनने के लिए आईएसओ फ़ाइल का निरीक्षण करेगा: छवि-प्रतिलिपि (dd) जब आईएसओ फ़ाइल हाइब्रिड है, वह यूएसबी के अनुकूल है। और माउंट-आरएसआईएनसी मोड जब आईएसओ फ़ाइल गैर-संकर है, तो मामले में एक SYSLINUX बूटलोडर स्वचालित रूप से स्थापित हो जाएगा [स्वचालित व्यवहार के बारे में अधिक जानकारी]।

इसका इस्तेमाल कैसे करें

पहला विकल्प, केवल आईएसओ को पहले तर्क के रूप में प्रदान करें और आपको निकाले गए सूची में ड्राइव का चयन करने के लिए कहा जाएगा lsblk:

bootiso myfile.iso

या स्पष्ट रूप से यूएसबी डिवाइस प्रदान करें:

bootiso -d /dev/sde myfile.iso

जल्दी स्थापित करें

curl -L https://git.io/bootiso -O
chmod +x bootiso

इसे क्रिया में देखें:


5



मैं मानता हूं, यह एक बहुत अच्छी लिपि है जो प्रक्रिया से डरावनी बिट्स लेती है। यहां अधिक जानकारी: tecmint.com/create-bootable-usb-in-linux-commandline - kr37