Crea un programma di installazione USB per installare Ubuntu dalla riga di comando?

21

Sto cercando di creare un'immagine USB avviabile per installare Ubuntu su un nuovo computer.

L'ho fatto prima di seguire le istruzioni " creare unità USB " per il desktop di Ubuntu, ma non hai un desktop Ubuntu disponibile.

Come posso fare lo stesso usando solo la riga di comando?

Cose che ho provato:

  • Crea USB avviabile su Mac OS X seguendo le istruzioni ubuntu.com "crea unità USB" per Mac: non si avvia.
  • usb-creator : in base a apt-cache search usb-creator e Wikipedia usb-creator esiste solo come strumento grafico.
  • istruzioni "Crea manualmente" su help.ubuntu.com: nessuno dei file e le directory descritte (ad esempio casper , filesystem.manifest , menu.lst ) esistono nell'immagine ISO e non so cosa le abbia sostituite.
  • scripting unetbootin : Richiede X server (supporto per la grafica) per l'esecuzione, anche se completamente programmato. (Il comando sudo unetbootin lang=en method=diskimage isofile=~/ubuntu-10.10-server-amd64.iso installtype=USB targetdrive=/dev/sdg1 autoinstall=yes fornisce un messaggio di errore unetbootin: cannot connect to X server .)

Aggiorna

Ho anche provato il giochino di GRUB: fusione delle informazioni da

Sono riuscito a ottenere a metà strada - è stato avviato da USB, visualizzato il menu di Grub e avviato l'installazione, ma l'installazione non è stata completata.

Per riferimento, questo è il più vicino che ho ricevuto:

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/

Ho quindi modificato /media/usb/boot/grub.cfg per aggiungere un loopback .iso, esempio grub:

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
}

Quando si avvia da USB, questo mi dà il menu di avvio di Grub e avvia l'installer, ma l'installer ha rinunciato dopo un paio di schermate lamentandosi del fatto che non riusciva a trovare l'unità CD-ROM. (Naturalmente, poiché la scatola su cui sto installando non ha un'unità ottica.)

Ho risolto questo particolare problema abbandonando e facendo la routine "crea unità USB" utilizzando il CD desktop di Ubuntu Live (su un computer dotato di un'unità ottica), quindi l'installazione USB funziona.

Ma mi aspetto che ci sia un modo per farlo dalla riga di comando di un sistema Ubuntu senza X server e senza un'unità ottica, quindi la domanda rimane valida.

Qualcuno sa come?

    
posta j-g-faustus 13.01.2011 - 02:30

7 risposte

9
% Bl0ck_qu0te%

Questo è un bug noto con ubuntu server iso (l'iso desktop funziona bene), ma c'è una soluzione per ottenere i pacchetti dagli iso sull'unità USB: una volta sul programma di installazione, Ctrl + Alt + f2 per aprire una tty e nel terminale:

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

Quindi torna al programma di installazione e riprova a eseguire la scansione di cd per i pacchetti. Dovrebbe funzionare.

    
risposta data Orvidia 25.03.2011 - 15:32
10

Hai provato con # dd if=path/to/image.iso of=/dev/sd# ?

    
risposta data aqui_c 17.05.2011 - 22:56
5

Supponiamo che tu non abbia altro che una richiesta prima di te. Se si dispone di una GUI, è possibile aprire un terminale e fare tutto quanto descritto qui. Oppure puoi usare un tty.

% Bl0ck_qu0te%
  • Passare a un prompt di root digitando sudo su

    Rileva il dispositivo USB.

  • tail -f /var/log/syslog

Ora hai una visualizzazione live su syslog. Collega la tua chiavetta USB. Dovresti vedere alcuni messaggi sullo schermo. Qualcosa di simile.

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

guardalo e trova una cosa tra parentesi quadre che si ripete? sdc in questo caso. Annota su un pezzo di carta. Digita Ctrl + C per arrivare al prompt.

Trova il file ISO da masterizzare su USB.

Se il file iso è a /path/to/iso/somecd.iso ; nota questo percorso su un pezzo di carta.

Scrivi su USB

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

Sostituisci /path/to/iso/somecd.iso con il percorso effettivo del tuo file iso.

Sostituisci /dev/sdc con quello che hai annotato prima. Se la parte ripetitiva è sdb ; usa /dev/sdb e così via.

% Bl0ck_qu0te%     
risposta data Mahesh 26.05.2012 - 21:17
2

Creazione di un'unità flash USB Ubuntu avviabile dal terminale

  • Monta il file ubuntu.iso . Per questo esegui i comandi sottostanti nel terminale,

    sudo mkdir /media/iso
    sudo mount -o loop /path/to/ubuntu.iso /media/iso
    
  • Quindi copia tutti i file da /media/iso nella cartella unità flash USB montata in /media .

    Inserisci la tua chiavetta USB.

    Verrà automaticamente montato, ogni volta che lo inserisci. La tua partizione USB deve essere montata all'interno di /media . Supponiamo che la tua unità USB sia montata all'interno della cartella /media/xxxx . Quindi esegui il comando seguente,

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

    Esegui il comando lsblk per conoscere la partizione del dispositivo USB.

  • Quindi incolla il file ldlinux.sys all'interno della partizione dell'unità flash USB (nel mio caso / dev / sdd1 ) per rendere il usb avviabile . Per eseguire il seguente comandi,

    sudo apt-get install syslinux mtools
    syslinux -s /dev/sdd1
    
  • Vai nella cartella /media/xxx e rinomina la directory isolinux in syslinux . Quindi vai nella cartella syslinux rinominata e rinomina il file isolinux.cfg in syslinux.cfg .

       mv /media/xxx/isolinux /media/xxx/syslinux
       mv /media/xxx/syslinux/isolinux.cfg /media/xxx/syslinux/syslinux.cfg
    
  • Riavvia il PC e modifica boot-order nel BIOS in USB. Ora la tua chiavetta usb ubuntu verrà avviata e potrai installarla.

Questo metodo funziona per tutte le distribuzioni Linux, non solo per ubuntu.

    
risposta data Avinash Raj 13.11.2013 - 13:50
1

Ho risolto questo particolare problema utilizzando il CD desktop di Ubuntu Live.

Avviando il Live CD su un computer con un'unità ottica, potrei utilizzare le istruzioni desktop di Ubuntu per creare il programma di installazione penna USB senza toccare l'installazione esistente.

    
risposta data j-g-faustus 13.01.2011 - 09:58
1

Puoi hackerare usb-creator per farlo.

Dovresti già avere una singola partizione vfat come partizione 1 sul dispositivo USB (il passo del disco di cancellazione di usb-creator-gtk lo fa) e dovrebbe essere contrassegnato come avviabile.

Successivamente, otterremo il codice python di usb-creator per aiutarci.

$ sudo apt-get install usb-creator

o

$ bzr branch lp:usb-creator

crea un file con questo contenuto e chiamalo usb-creator-cli, se usi bzr nell'ultimo passaggio, metti questo file nella directory usb-creator (root del ramo 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()

Rendilo eseguibile

$ chmod +x usb-creator-cli

Ora monta i tuoi iso su / iso e monta il tuo dispositivo usb su / mnt

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

Se vuoi messaggi molto dettagliati sulla tua console puoi tail ~ / .cache / usb-creator.log

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

Ora esegui lo script usb-creator-cli

$ sudo ./usb-creator-cli

E guarda tutti i messaggi scorrere.

Quando torni al prompt, non dimenticare di smontare / mnt prima di tirare il tuo dispositivo di archiviazione usb.

    
risposta data Jay _silly_evarlast_ Wren 20.02.2013 - 20:57
-1

Puoi installare una riga di comando (CLI) Ubuntu usando l'installazione alternativa o Mini iso (che dovrebbe adattarsi alla tua chiavetta da 512mb)

Quindi installa Crunchbang usando il metodo alternativo: link

Potresti anche provare la versione Lite di CrunchBang, che è inferiore a 512mb.

Potresti usare Unetbootin per preparare la chiavetta USB.

    
risposta data Sen 13.01.2011 - 03:55

Leggi altre domande sui tag