कमांड लाइन से उबंटू स्थापित करने के लिए यूएसबी इंस्टॉलर बनाएं?


22

मैं एक नए कंप्यूटर पर Ubuntu स्थापित करने के लिए एक बूट करने योग्य USB छवि बनाने की कोशिश कर रहा हूं।

मैंने उबंटू डेस्कटॉप के लिए " USB ड्राइव बनाएं " निर्देशों का पालन ​​करने से पहले ऐसा किया है , लेकिन मेरे पास उबंटू डेस्कटॉप उपलब्ध नहीं है।

मैं केवल कमांड लाइन का उपयोग करके कैसे कर सकता हूं?

चीजें जो मैंने कोशिश की हैं:

  • मैक ओएस एक्स के लिए मैक ओएस एक्स पर बूटेबल यूएसबी बनाएं "मैक के लिए यूएसबी ड्राइव" निर्देश बनाएं: बूट नहीं करता है।
  • usb-creator: के अनुसार apt-cache search usb-creatorऔर विकिपीडिया यूएसबी-क्रिएटर केवल एक ग्राफिकल टूल के रूप में मौजूद है।
  • निर्देश "मैन्युअल रूप से बनाएँ" help.ubuntu.com पर: फ़ाइलों और निर्देशिकाओं में से कोई भी वर्णित (जैसे casper, filesystem.manifest, menu.lst) आईएसओ छवि में मौजूद हैं, और मैं नहीं जानता कि क्या उन्हें ले लिया है।
  • unetbootin स्क्रिप्टिंग : पूरी तरह से स्क्रिप्टेड होने पर भी चलाने के लिए X सर्वर (ग्राफिक्स सपोर्ट) की आवश्यकता होती है। (कमांड sudo unetbootin lang=en method=diskimage isofile=~/ubuntu-10.10-server-amd64.iso installtype=USB targetdrive=/dev/sdg1 autoinstall=yesएक त्रुटि संदेश देता है unetbootin: cannot connect to X server।)

अद्यतन करें

इसके अलावा GRUB को फ़िडलिंग करने की कोशिश की गई: जानकारी से विलय करना

मैं वहां आधा जाने में सक्षम था - यह यूएसबी से बूट हुआ, ग्रब मेनू प्रदर्शित किया और स्थापना शुरू की, लेकिन स्थापना पूरी नहीं हुई।

संदर्भ के लिए, यह मेरे निकटतम है:

sudo su
  # mount USB pen
mount /dev/sd[X]1 /media/usb
  # install GRUB
grub-install --force --no-floppy --root-directory=/media/usb /dev/sd[X]
  # copy ISO image to USB
cp ~/ubuntu-10.10-server-amd64.iso /media/usb
  # mount ISO image, copy existing grub.cfg
mount ~/ubuntu-10.10-server-amd64.iso /media/iso/ -o loop
cp /media/iso/boot/grub/grub.cfg /media/usb/boot/grub/

फिर मैंने /media/usb/boot/grub.cfgएक .iso लूपबैक जोड़ने के लिए संपादित किया , उदाहरण ग्रब प्रविष्टि:

menuentry "Install Ubuntu Server" {
  set gfxpayload=keep
  loopback loop /ubuntu-10.10-server-amd64.iso  
  linux (loop)/install/vmlinuz  file=(loop)/preseed/ubuntu-server.seed iso-scan/filename=/ubuntu-10.10-server-amd64.iso quiet --
  initrd (loop)/install/initrd.gz
}

USB से बूट करते समय, यह मुझे ग्रब बूट मेनू देता है और इंस्टॉलर को शुरू करता है, लेकिन इंस्टॉलर ने कुछ स्क्रीन के बाद यह शिकायत कर दी कि यह CD-ROM ड्राइव को नहीं खोज सका। (स्वाभाविक रूप से, मैं जिस बॉक्स पर स्थापित कर रहा हूं उसमें ऑप्टिकल ड्राइव नहीं है।)

मैंने उबंटू लाइव डेस्कटॉप सीडी (एक ऑप्टिकल ड्राइव वाले कंप्यूटर पर) का उपयोग करके "USB ड्राइव बनाएं" दिनचर्या को छोड़ कर और इस विशेष मुद्दे को हल किया, फिर USB इंस्टॉल काम करता है।

लेकिन मुझे उम्मीद है कि उबंटू प्रणाली की कमांड लाइन से एक्स सर्वर के बिना और एक ऑप्टिकल ड्राइव के बिना ऐसा करने का कोई तरीका है, इसलिए सवाल खड़ा होता है।

क्या किसी को पता है कैसे?


unetbootin का प्रयास करें।
RolandiXor

@ रोलैंड unetbootin: cannot connect to X server - पूरी तरह से स्क्रिप्टेड ( unetbootin lang=en method=diskimage isofile=/srv/share/ubuntu-10.10-server-amd64.iso installtype=USB targetdrive=/dev/sdg1 autoinstall=yes) होने पर भी एक्स की आवश्यकता लगती है , और मैं हेडलेस रहना पसंद करूंगा। हालांकि टिप के लिए धन्यवाद; यदि मैं अन्य विकल्पों से बाहर निकलता हूं तो मैं X स्थापित कर सकता हूं।
jg-faustus

ये आशाजनक दिखते हैं: pendrivelinux.com/install-grub2-on-usb-from-ubuntu-linux और unix.stackexchange.com/questions/665/… कुछ ट्विकिंग की ज़रूरत है, लेकिन इसे आज़माएँगे
jg-faustus

@ jg-faustus: अगर चीजें इतनी जटिल होतीं, तो शायद मैं लिनक्स को खत्म कर देता। उपयोग करें dd। इसका एक रत्न। खिचड़ी भाषा कहेंगे और हर linux distro में है dd; इसलिए आपके पास एक सार्वभौमिक समाधान है, जिसमें स्क्रिप्ट / लिखने / कॉन्फ़िगर करने के लिए कुछ भी नहीं है। सिर्फ एक सुंदर रेखा।
महेश

उस grub.cfgप्रविष्टि file=/cdrom/preseed/ubuntu-server.seedको linuxलाइन पर (और नहीं file=(loop)/preseed/ubuntu-server.seed) कहने की ज़रूरत है , सीडी छवि के सफलतापूर्वक पता लगने के बाद एक 'पूर्व विफलता फ़ाइल को प्राप्त करने में विफल' से बचने के लिए।
पॉल व्हिटेकर

जवाबों:


9

USB से बूट करते समय, यह मुझे ग्रब बूट मेनू देता है और इंस्टॉलर को शुरू करता है, लेकिन इंस्टॉलर ने कुछ स्क्रीन के बाद यह शिकायत कर दी कि यह CD-ROM ड्राइव को नहीं खोज सका।

यह ubuntu सर्वर iso (डेस्कटॉप iso ठीक काम करता है) के साथ एक ज्ञात बग है, लेकिन usb ड्राइव पर iso से संकुल प्राप्त करने के लिए एक फिक्स है: एक बार इंस्टॉलर पर, Ctrl + Alt + f2 को एक tty खोलने के लिए और अन्तिम छोर:

mount -t vfat /dev/sdX1 /mnt
ln -sf /mnt/ubuntu-server.iso /dev/sr0

फिर इंस्टॉलर पर वापस जाएं और सीडी को पैकेज के लिए स्कैन करने के लिए पुन: प्रयास करें। यह काम करना चाहिए।


मेरे पास इस समय इसे आज़माने के लिए कोई प्रणाली नहीं है, लेकिन हाँ - ऐसा लगता है कि यह काम करना चाहिए :) धन्यवाद!
jg-faustus

मैंने पाया कि "सीडी का पता लगाएँ और माउंट करें" मेनू विकल्प वापस लौट जाएगा /dev/sr0, lnऔर इसे अपने मूल (टूटे हुए) स्थिति में वापस भेज देगा। हालांकि, अगर मैंने "सीडी-रोम बढ़ते हुए पुन: प्रयास करें" पर इंतजार किया? प्रॉम्प्ट, lntty2 में किया, और फिर "हां" दबाने के लिए वापस आ गया, इसने काम किया। (वह "फिर से प्रयास करें?" संवाद केवल एक बार दिखाई देगा mount, हालांकि कमान दी गई थी।)
पॉल व्हिटकर

10

क्या आपने # के साथ कोशिश की है dd if=path/to/image.iso of=/dev/sd# ?


यह एक रत्न है। सबसे अच्छा। किसी भी linux distro पर काम करता है। लेकिन आपको अतिरिक्त सावधानी बरतने की आवश्यकता है। जोड़ने bs=20Mया किसी अन्य उपयुक्त मूल्य चीजों को गति देता है। जानकारी के लिए, देखेंman dd
महेश

1
@ महेश नहीं, कुछ linux distro इस कमांड के साथ भी काम नहीं करते हैं, उनमें से एक OpenSUSE है
अनवर

या MeeGo और उन छवियों को व्युत्पन्न कहते हैं जिन्हें हाइब्रिड कहा जाता है
rzr

5

हमें मान लें कि आपके सामने आपके पास कुछ नहीं है यदि आपके पास एक GUI है, तो आप एक टर्मिनल खोल सकते हैं और यहाँ वर्णित सब कुछ कर सकते हैं। या आप एक ट्टी का उपयोग कर सकते हैं।

चेतावनी:
संभावित नुकसान से बचने के लिए, निर्देशों का बहुत सावधानी से पालन करें।

  • टाइप करके रूट प्रॉम्प्ट पर स्विच करें sudo su

    पता लगाएं कि USB क्या डिवाइस है।

  • tail -f /var/log/syslog

अब आप syslog पर लाइव दृश्य कर रहे हैं। अपने USB ड्राइव में प्लग करें। आपको स्क्रीन पर कुछ संदेश देखने चाहिए। कुछ इस तरह।

May 27 00:35:07 Mahesh kernel: [ 5054.646585] usb 2-1.1: new high-speed USB device number 5 using ehci_hcd
May 27 00:35:07 Mahesh kernel: [ 5054.741437] scsi8 : usb-storage 2-1.1:1.0
May 27 00:35:07 Mahesh mtp-probe: checking bus 2, device 5: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1"
May 27 00:35:07 Mahesh mtp-probe: bus: 2, device: 5 was not an MTP device
May 27 00:35:08 Mahesh kernel: [ 5055.739177] scsi 8:0:0:0: Direct-Access     JetFlash TS2GJFV30        8.07 PQ: 0 ANSI: 2
May 27 00:35:08 Mahesh kernel: [ 5055.740198] sd 8:0:0:0: Attached scsi generic sg3 type 0
May 27 00:35:08 Mahesh kernel: [ 5055.741593] sd 8:0:0:0: [sdc] 4005888 512-byte logical blocks: (2.05 GB/1.91 GiB)
May 27 00:35:08 Mahesh kernel: [ 5055.742214] sd 8:0:0:0: [sdc] Write Protect is off
May 27 00:35:08 Mahesh kernel: [ 5055.742218] sd 8:0:0:0: [sdc] Mode Sense: 03 00 00 00
May 27 00:35:08 Mahesh kernel: [ 5055.742712] sd 8:0:0:0: [sdc] No Caching mode page present
May 27 00:35:08 Mahesh kernel: [ 5055.742715] sd 8:0:0:0: [sdc] Assuming drive cache: write through
May 27 00:35:08 Mahesh kernel: [ 5055.745326] sd 8:0:0:0: [sdc] No Caching mode page present
May 27 00:35:08 Mahesh kernel: [ 5055.745329] sd 8:0:0:0: [sdc] Assuming drive cache: write through
May 27 00:35:08 Mahesh kernel: [ 5055.781564]  sdc: sdc1
May 27 00:35:08 Mahesh kernel: [ 5055.784191] sd 8:0:0:0: [sdc] No Caching mode page present
May 27 00:35:08 Mahesh kernel: [ 5055.784196] sd 8:0:0:0: [sdc] Assuming drive cache: write through
May 27 00:35:08 Mahesh kernel: [ 5055.784200] sd 8:0:0:0: [sdc] Attached SCSI removable disk

इसे देखो, और दोहराए जाने वाले वर्ग कोष्ठक में एक चीज ढूंढें? sdcइस मामले में। इसे एक कागज के टुकड़े पर नोट करें। प्रॉम्प्ट पर जाने के लिए Ctrl+ टाइप करें C

यूएसबी पर जलने के लिए आईएसओ फ़ाइल का पता लगाएँ।

अगर iso फ़ाइल है /path/to/iso/somecd.iso; कागज के एक टुकड़े पर इस रास्ते पर ध्यान दें।

USB पर लिखें

चेतावनी:

यह पूरी USB डिस्क को मिटा देगा । आगे बढ़ने से पहले बैकअप।

  • dd if=/path/to/iso/somecd.iso of=/dev/sdc ibs=20M obs=20M

/path/to/iso/somecd.isoअपनी iso फ़ाइल को वास्तविक पथ से बदलें ।

बदलें /dev/sdcजो कुछ भी आप पहले नोट के साथ। यदि दोहराव वाला हिस्सा है sdb; उपयोग /dev/sdbऔर इतने पर।

चेतावनी:

एक ड्राइव अक्षर गलत टाइप करने पर एक अलग ड्राइव पर स्थायी डेटा हानि होगी। ddआदेश जारी करते समय अतिरिक्त ध्यान दें ।


2
गलत डिस्क का चयन करके डेटा हानि से बचने के लिए, /dev/disk/by-label/LABELइसके बजाय का उपयोग करने की सलाह दी जाती है/dev/sdc
टोटी

1
समझदार सुझाव। लेकिन जब आप लेबल के बारे में सुनिश्चित नहीं होते हैं, या आपके पास 'न्यू वॉल्यूम' का एक टन होता है, तो यह एक दर्द बन जाता है। मैं हमेशा sdX को पसंद करता हूं, लेकिन यह एक व्यक्तिगत पसंद है।
महेश

1
सबसे बढ़िया उत्तर। एक सुझाव दिया गया है कि dd में इनपुट स्ट्रीम पर pv का उपयोग करना है, इसलिए उपयोगकर्ता को प्रगति प्रतिक्रिया मिलती है (यानी pv iso पढ़ता है, इसे dd पर स्ट्रीम करता है, और stderr पर प्रगति प्रदर्शित करता है)।
१०:३६ पर विकलांग

2

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

  • ubuntu.isoफ़ाइल को माउंट करें। इसके लिए टर्मिनल में नीचे दिए गए कमांड चलाएं,

    sudo mkdir /media/iso
    sudo mount -o loop /path/to/ubuntu.iso /media/iso
    
  • फिर /media/isoअपने माउंटेड यूएसबी फ्लैश ड्राइव फ़ोल्डर से सभी फाइलों को कॉपी करें /media

    अपनी USB फ्लैश ड्राइव डालें।

    यह स्वचालित रूप से माउंट हो जाएगा, जब भी आप इसे सम्मिलित /mediaकरते हैं। आपका usb विभाजन अंदर रखा जाना चाहिए । हमें मान लें कि आपकी usb ड्राइव /media/xxxxफ़ोल्डर के अंदर घुड़सवार है। फिर नीचे दिए गए कमांड को चलाएं।

    cp -a /media/iso/. /media/xxx
    

    lsblkUSB डिवाइस पार्टीशन को जानने के लिए रन कमांड।

  • फिर ldlinux.sysUSB फ्लैश ड्राइव पार्टीशन के अंदर फाइल पेस्ट करें ( us केस / dev / sdd1 में ) USB को बूट करने योग्य बनाने के लिए। इसके लिए नीचे दिए गए कमांड चलाएं,

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

       mv /media/xxx/isolinux /media/xxx/syslinux
       mv /media/xxx/syslinux/isolinux.cfg /media/xxx/syslinux/syslinux.cfg
    
  • अपने पीसी को रिबूट करें और boot-orderबायोस में यूएसबी में बदलें। अब आपका ubuntu यूएसबी फ्लैश ड्राइव बूट हो जाएगा और आप इसे इंस्टॉल कर सकते हैं।

यह विधि किसी भी लिनक्स वितरण के लिए काम करेगी, न कि केवल ubuntu।


1

मैंने उबंटू लाइव डेस्कटॉप सीडी का उपयोग करके इस विशेष समस्या को हल किया।

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


1

ऐसा करने के लिए आप usb-creator को हैक कर सकते हैं।

आपके पास usb डिवाइस पर विभाजन 1 के रूप में पहले से ही एक vfat विभाजन होना चाहिए (usb-creator-gtk का डिस्क डिस्क चरण ऐसा करता है) और इसे बूट करने योग्य होना चाहिए।

इसके बाद, हमें हमारी सहायता करने के लिए usb-creator python कोड मिलेगा।

$ sudo apt-get install usb-creator

या

$ bzr branch lp:usb-creator

इस सामग्री के साथ एक फ़ाइल बनाएं और इसे usb-creator-cli नाम दें, यदि आप अंतिम चरण में bzr का उपयोग करते हैं, तो इस फ़ाइल को usb-creator directory (bzr शाखा की जड़) में रखें।

#!/usr/bin/env python
from __future__ import print_function
from usbcreator.misc import sane_path, setup_gettext, setup_logging, text_type

from usbcreator.install import install

sane_path()
setup_logging()
setup_gettext()

#/dev/sdb1 should be mounted on /mnt
#iso should be mounted to /iso
dev = '/dev/sdb1'
source = '/iso'
target = '/mnt' 
ugh = install(source, target, False, device=dev)
ugh.success = print
ugh.failure = print
ugh.progress = print
ugh.progress_message = print
ugh.progress_pulse = print
ugh.progress_pulse_stop = print
ugh.retry = print
ugh.run()

इसे अमल में लाएं

$ chmod +x usb-creator-cli

अब अपने iso to / iso को माउंट करें और अपने usb डिवाइस को / mnt पर माउंट करें

$ sudo mkdir /iso ; sudo mount ubuntu-server-12.10-amd64.iso /iso
$ sudo mount /dev/sdb1 /mnt

यदि आप अपने कंसोल पर बहुत वर्बोज़ संदेश चाहते हैं तो आप ~ / .cache / usb-creator.log को पूंछ सकते हैं

$ tail -f ~/.cache/usb-creator.log &

अब उस usb-creator-cli स्क्रिप्ट को रन करें

$ sudo ./usb-creator-cli

और सभी संदेशों को स्क्रॉल करके देखें।

जब आप प्रॉम्प्ट पर लौटते हैं, तो अपने USB संग्रहण डिवाइस को yank करने से पहले अनमाउंट / mnt को न भूलें।


-2

आप एक कमांड लाइन (CLI) उबंटू को इनस्टॉल इनस्टॉल या मिनी आइसो (जो आपके 512mb स्टिक पर फिट होनी चाहिए) का उपयोग करके स्थापित कर सकते हैं

फिर वैकल्पिक विधि का उपयोग करके क्रंचबैंग स्थापित करें: http://crunchbanglinux.org/forums/topic/26/crunchbang-linux-81001-alternative-installation/

आप क्रंचबंग का लाइट संस्करण भी आज़मा सकते हैं, जो 512mb से कम है।

USB स्टिक तैयार करने के लिए आप Unetbootin का उपयोग कर सकते हैं।


crunchbang? haha?
RolandiXor

मुझे छड़ी पर आईएसओ फिट करने में कोई समस्या नहीं है (यह 16 जीबी है), यह अधिक सवाल है कि मैं पहली बार में आईएसओ में बूट करने वाली यूएसबी स्टिक कैसे बना सकता हूं और सीएलआई के अलावा कुछ भी नहीं बना रहा हूं।
jg-faustus

और unetbootin काम नहीं करता है, दुर्भाग्य से - जब आप इसे कमांड लाइन से चलाते हैं तब भी ग्राफिक्स समर्थन की आवश्यकता होती है।
jg-faustus
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.