Ubuntu'yu komut satırından yüklemek için USB yükleyici oluştur?


22

Ubuntu'yu yeni bir bilgisayara kurmak için önyüklenebilir bir USB görüntüsü oluşturmaya çalışıyorum.

Bunu Ubuntu masaüstü için " USB sürücüsü oluştur " yönergelerini izlemeden önce yaptım , ancak uygun bir Ubuntu masaüstü yok.

Aynısını sadece komut satırını kullanarak nasıl yapabilirim?

Denediğim şeyler:

  • Mac OS X'te ubuntu.com'un "USB sürücü oluştur" talimatlarını izleyerek Mac için önyüklenebilir USB oluşturun: Önyükleme yapmaz.
  • usb-creator: apt-cache search usb-creatorVe Wikipedia'ya göre usb yaratıcısı sadece grafiksel bir araç olarak var.
  • Help.ubuntu.com adresindeki "el ile oluştur" talimatları : ISO görüntüsünde açıklanan dosya ve dizinlerin hiçbiri (örn casper. filesystem.manifest, menu.lst) Yoktur ve bunların yerini ne değiştirdiğini bilmiyorum.
  • unetbootin komut dosyası : Tam komut dosyası olsa bile çalıştırmak için X sunucusu (grafik desteği) gerekir. (Komut sudo unetbootin lang=en method=diskimage isofile=~/ubuntu-10.10-server-amd64.iso installtype=USB targetdrive=/dev/sdg1 autoinstall=yesbir hata mesajı veriyor unetbootin: cannot connect to X server.)

Güncelleştirme

GRUB kemanını da denedim:

Oraya yarıya kadar girebildim - USB'den başlattım, grub menüsünü görüntüledim ve kurulumu başlattım, ancak kurulum tamamlanmadı.

Referans için, bu en yakınım:

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/

Sonra /media/usb/boot/grub.cfgbir .iso loopback, örneğin grub girişi eklemek için düzenleme yaptım :

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'den önyükleme yaparken, bu bana Grub önyükleme menüsünü verir ve yükleyiciyi başlatır, ancak yükleyici birkaç ekrandan sonra CD-ROM sürücüsünü bulamadığından şikâyet ederdi. (Doğal olarak, kurmakta olduğum kutunun optik bir sürücüsü olmadığından.)

Bu özel sorunu, Ubuntu Live masaüstü CD'sini (optik sürücüye sahip bir bilgisayarda) kullanarak "USB sürücü oluştur" yordamını bırakıp yaparak, ardından USB kurulumu işe yarıyor.

Ancak bunu, X sunucusu olmayan ve optik sürücüsü olmayan bir Ubuntu sisteminin komut satırından yapmanın bir yolu olduğunu umuyorum, bu yüzden soru hala geçerli.

Nasıl bilen var mı?


unetbootin'i dene.
RolandiXor

@Roland unetbootin: cannot connect to X server - tam olarak yazıldığında bile X'e ihtiyaç duyuyor ( unetbootin lang=en method=diskimage isofile=/srv/share/ubuntu-10.10-server-amd64.iso installtype=USB targetdrive=/dev/sdg1 autoinstall=yes) ve başsız kalmayı tercih ediyorum. Yine de bahşiş için teşekkürler; Diğer seçeneklerin tükenmesi durumunda X'i yükleyebilirim.
jg-faustus,

Bunlar umut verici görünüyor: pendrivelinux.com/install-grub2-on-usb-from-ubuntu-linux ve unix.stackexchange.com/questions/665/… Biraz tweaking gerekiyor, ancak deneyecek.
jg-faustus,

@ jg-faustus: Eğer işler çok karmaşık olsaydı, belki de linux'u terk ederdim. kullanın dd. Onun bir mücevher. yeterince söyleyemem. Ve her linux dağıtımında dd; Bu nedenle, komut dosyası / yazma / configure için hiçbir şey olmadan, evrensel bir çözüm var. sadece bir güzel çizgi.
Mahesh

CD grub.cfggirişi başarılı bir şekilde algılandığında, bu girişimin ölümcül bir 'Ön yapılandırma dosyası alınamadı' hatasını önlemek file=/cdrom/preseed/ubuntu-server.seediçin linuxsatırda söylenmesi gerekir file=(loop)/preseed/ubuntu-server.seed.
Paul Whittaker

Yanıtlar:


9

USB'den önyükleme yaparken, bu bana Grub önyükleme menüsünü verir ve yükleyiciyi başlatır, ancak yükleyici birkaç ekrandan sonra CD-ROM sürücüsünü bulamadığından şikâyet ederdi.

Bu, ubuntu server iso ile bilinen bir hatadır (masaüstü iso gayet iyi çalışır), ancak usb sürücüdeki iso paketlerini almak için bir düzeltme vardır: bir kez yükleyicide, Ctrl + Alt + f2'yi açmak için Durak:

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

Ardından kurulum programına geri dönün ve paketleri aramak için yeniden deneyin. İşe yaramalı.


Şu anda denemek için bir sistem yok, ama evet - çalışması gerektiği gibi geliyor :) Teşekkürler!
jg-faustus

"CD-ROM'u Algıla ve Bağla" menü seçeneğinin geri döneceğini /dev/sr0, geri aldığını lnve özgün (bozuk) durumuna geri döndürdüğünü gördüm . Ancak, "CD-ROM'u takmayı tekrar dene?" De beklemişsem istemi, lntty2 yaptı ve sonra "Evet" e geri döndü, işe yaradı. (Bu "Yeniden dene?" İletişim kutusu yalnızca mountkomut verildikten sonra ortaya çıkacaktı .)
Paul Whittaker

10

# İle denediniz dd if=path/to/image.iso of=/dev/sd# mi?


Bu bir mücevher. En iyisi. herhangi bir linux dağıtımında çalışır. ama çok dikkatli olmalısın. eklemek bs=20Mya da başka uygun bir değer, işleri hızlandırır. Ayrıntılar için, bakınızman dd
Mahesh

1
@Mahesh Hayır, bazı linux dağıtımları bu komutla bile çalışmıyor, bunlardan biri OpenSUSE
Anwar

veya MeeGo ve bu görüntüleri hibrit olanlar denir
türetir

5

Senden önce istekten başka bir şeyin olmadığını varsayalım. Bir GUI'niz varsa, bir terminal açabilir ve burada açıklanan her şeyi yapabilirsiniz. Ya da bir tty kullanabilirsiniz.

UYARI:
Potansiyel bir hasarı önlemek için talimatları çok dikkatli bir şekilde izleyin.

  • Yazarak bir kök istemine geçin sudo su

    USB'nin hangi cihaz olduğunu tespit edin.

  • tail -f /var/log/syslog

Şimdi syslog'da canlı bir görüntüye sahipsin. USB sürücünüzü takın. Ekranda bazı mesajlar görmelisiniz. Bunun gibi bir şey.

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

Şuna bak ve köşeli parantez içinde yinelenen bir şey buldun mu? sdcbu durumda. Bir kağıda not edin. Tip Ctrl+ Cistemi almak için.

USB'ye yazmak için iso dosyasını bulun.

İso dosyası ise /path/to/iso/somecd.iso; bu yolu bir kağıda not edin.

USB'ye yaz

Uyarı:

Bu , tüm USB diskini silecektir . Devam etmeden önce yedekle.

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

/path/to/iso/somecd.isoISO dosyanızın asıl yoluyla değiştirin .

/dev/sdcDaha önce not ettiğiniz her şeyi değiştirin . Yinelenen kısım ise sdb; kullanın /dev/sdbvb.

Uyarı:

Bir sürücü harfini yanlış yazmak, farklı bir sürücüde kalıcı veri kaybına neden olur. ddKomut verirken fazladan dikkat edin .


2
Yanlış diski seçerek önlemek veri kaybına amacıyla kullanımı tavsiye edilir /dev/disk/by-label/LABELyerine/dev/sdc
totti

1
Mantıklı öneri. Ancak, etiketten emin değilseniz veya bir ton 'Yeni cilt' varsa, bu bir acıya dönüşür. Her zaman sdX'i tercih ederim, ama bu kişisel bir seçim.
Mahesh

1
En iyi cevap. Önerilen bir iyileştirme, dd'ye giriş akışında pv'nin kullanılmasıdır, böylece kullanıcı ilerleme geri bildirimi alır (yani pv, isoyu okur, dd'ye aktarır ve stderr'de ilerlemeyi gösterir).
Stabledog

2

Terminalden önyüklenebilir Ubuntu USB flash sürücü oluşturma

  • Monte ubuntu.isoterminali içinde file.For komutları Aşağıda bu run,

    sudo mkdir /media/iso
    sudo mount -o loop /path/to/ubuntu.iso /media/iso
    
  • Ardından, tüm dosyaları /media/isobağlı USB flash sürücü klasörünüze kopyalayın /media.

    USB flash sürücünüzü yerleştirin.

    Ne zaman /mediataktıysanız otomatik olarak monte edilir. USB bölümünüzün içine monte edilmesi gerekir. Bize usb sürücünüzün klasörün içine monte edildiğini varsayalım. Sonra /media/xxxxaşağıdaki komutu çalıştırın,

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

    lsblkUsb aygıtı bölümünü bilmek için komutu çalıştırın .

  • Sonra usb önyüklenebilir yapmak için ldlinux.sysdosyayı USB flash sürücü bölümünün içine (benim durumumda / dev / sdd1 ) yapıştırın . Bunun için aşağıdaki komutları çalıştırın,

    sudo apt-get install syslinux mtools
    syslinux -s /dev/sdd1
    
  • Gidin /media/xxxklasörü ve yeniden adlandırmak isolinuxiçin dizin syslinux.sonra yeniden adlandırılmış syslinux.cfg klasörüne gidin ve dosyayı yeniden adlandırmak isolinux.cfgiçin syslinux.cfg.

       mv /media/xxx/isolinux /media/xxx/syslinux
       mv /media/xxx/syslinux/isolinux.cfg /media/xxx/syslinux/syslinux.cfg
    
  • boot-orderPC'nizi yeniden başlatın ve giriş bios'unu USB olarak değiştirin . Şimdi ubuntu usb flash sürücünüz açılacak ve onu yükleyebilirsiniz.

Bu yöntem sadece ubuntu için değil linux dağıtımları için de işe yarar.


1

Bu sorunu Ubuntu Live masaüstü CD'sini kullanarak çözmüştüm.

Optik CD'si olan bir bilgisayarda Live CD'yi önyükleyerek, mevcut yüklemeye dokunmadan USB kalem yükleyicisini oluşturmak için Ubuntu masaüstü talimatlarını kullanabilirim.


1

Bunu yapmak için usb oluşturucuyu hackleyebilirsiniz.

USB cihazında bölüm 1 olarak tek bir vfat bölümünüz olmalıdır (usb-creator-gtk'nin silme diski adımı bunu yapar) ve önyüklenebilir olarak işaretlenmelidir.

Sonra, bize yardımcı olmak için usb-yaratıcısı python kodunu alacağız.

$ sudo apt-get install usb-creator

veya

$ bzr branch lp:usb-creator

Bu içeriğe sahip bir dosya oluşturun ve son adımda bzr kullanıyorsanız, bu dosyayı usb-creator dizinine yerleştirin (bzr dalının kökü)

#!/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()

Yürütülebilir yap

$ chmod +x usb-creator-cli

Şimdi iso'nuzu / iso'ya monte edin ve usb cihazınızı / mnt'ye monte edin

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

Konsolunuzda çok ayrıntılı mesajlar istiyorsanız ~ / .cache / usb-creator.log

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

Şimdi şu usb-creator-cli komut dosyasını çalıştır

$ sudo ./usb-creator-cli

Ve tüm mesajları kaydırıp izleyin.

Bilgi istemine geri döndüğünüzde, usb depolama aygıtınızı kullanmadan önce / mnt bağlantısını kesmeyi unutmayın.


-2

Alternate Install veya Mini iso'yu (512mb çubuğunuza sığması gerekir) kullanarak bir komut satırı (CLI) Ubuntu yükleyebilirsiniz.

Ardından alternatif yöntemi kullanarak Crunchbang'ı kurun: http://crunchbanglinux.org/forums/topic/26/crunchbang-linux-81001-alternative-installation/

Ayrıca 512 MB'den daha küçük olan CrunchBang'ın Lite sürümünü de deneyebilirsiniz.

USB çubuğunu hazırlamak için Unetbootin kullanabilirsiniz.


CrunchBang? haha?
RolandiXor

ISO'yu çubuğa takma konusunda bir sorunum yok (16GB), bu daha önce ISO'ya önyükleme yapan ve CLI'dan başka bir şey kullanarak onu yaratan bir USB çubuğu nasıl oluşturabileceğimle ilgili bir soru.
jg-faustus,

Ve unetbootin çalışmıyor, ne yazık ki - komut satırından çalıştırdığınızda bile grafik desteği gerektiriyor.
jg-faustus,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.