Utworzyć instalator USB, aby zainstalować Ubuntu z wiersza poleceń?

22

Próbuję utworzyć rozruchowy obraz USB, aby zainstalować Ubuntu na nowym komputerze.

Zrobiłem to przed wykonaniem instrukcji „ Utwórz dysk USB ” na pulpicie Ubuntu, ale nie mam dostępnego pulpitu Ubuntu.

Jak mogę zrobić to samo, używając tylko wiersza poleceń?

Rzeczy, których próbowałem:

  • Utwórz bootowalny dysk USB w systemie Mac OS X, postępując zgodnie z instrukcjami „tworzenia dysku USB” ubuntu.com dla komputerów Mac: Nie uruchamia się.
  • usb-creator: Według apt-cache search usb-creatori twórcy Wikipedii usb istnieje tylko jako narzędzie graficzne.
  • „Utwórz ręcznie” instrukcje w help.ubuntu.com: Żaden z plików i katalogów z opisem (np casper, filesystem.manifest, menu.lst) występują w obrazie ISO, a ja nie wiem, co się je wymienić.
  • unetbootin scripting : Wymaga uruchomienia serwera X (obsługa grafiki), nawet jeśli jest w pełni skryptowany. (Polecenie sudo unetbootin lang=en method=diskimage isofile=~/ubuntu-10.10-server-amd64.iso installtype=USB targetdrive=/dev/sdg1 autoinstall=yeswyświetla komunikat o błędzie unetbootin: cannot connect to X server).

Aktualizacja

Próbowałem także skrzypienia GRUB: Scalanie informacji z

Udało mi się dostać w połowie drogi - uruchomił się z USB, wyświetlił menu GRUB i rozpoczął instalację, ale instalacja się nie zakończyła.

Dla porównania, jest to najbliższy wynik:

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/

Następnie edytowałem, /media/usb/boot/grub.cfgaby dodać pętlę .iso, przykładowy wpis 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
}

Podczas uruchamiania z USB dałoby mi to menu rozruchowe Grub i uruchomił instalator, ale instalator zrezygnował po kilku ekranach, skarżąc się, że nie może znaleźć napędu CD-ROM. (Oczywiście, ponieważ pudełko, na którym instaluję, nie ma napędu optycznego.)

Rozwiązałem ten konkretny problem, rezygnując i wykonując procedurę „utwórz napęd USB” za pomocą dysku CD Ubuntu Live Desktop (na komputerze, który ma napęd optyczny), a następnie instalacja USB działa.

Ale spodziewam się, że można to zrobić z wiersza poleceń systemu Ubuntu bez serwera X i bez napędu optycznego, więc pytanie wciąż pozostaje aktualne.

Czy ktoś wie jak?

jg-faustus
źródło
spróbuj unetbootin.
RolandiXor
@Roland unetbootin: cannot connect to X server - wydaje się wymagać X, nawet gdy jest w pełni skryptowany ( unetbootin lang=en method=diskimage isofile=/srv/share/ubuntu-10.10-server-amd64.iso installtype=USB targetdrive=/dev/sdg1 autoinstall=yes) i wolałbym pozostać bez głowy. Dziękuję za podpowiedź; Mogę zainstalować X, jeśli skończą mi się inne opcje.
jg-faustus 13.01.11
Wyglądają obiecująco: pendrivelinux.com/install-grub2-on-usb-from-ubuntu-linux i unix.stackexchange.com/questions/665/… Potrzebuje trochę ulepszeń , ale wypróbuje to.
jg-faustus 13.01.11
@ jg-faustus: Gdyby sprawy były tak skomplikowane, może bym zrezygnował z Linuksa. użyć dd. To klejnot. nie mogę powiedzieć wystarczająco dużo. I każda dystrybucja Linuksa ma dd; więc masz uniwersalne rozwiązanie, bez skryptu / zapisu / konfiguracji. tylko jedna piękna linia.
Mahesh
Ten grub.cfgwpis musi zostać podany file=/cdrom/preseed/ubuntu-server.seedw linuxwierszu (i nie file=(loop)/preseed/ubuntu-server.seed), aby uniknąć krytycznego błędu „Nie udało się pobrać pliku konfiguracji wstępnej” po pomyślnym wykryciu obrazu płyty CD.
Paul Whittaker

Odpowiedzi:

9

Podczas uruchamiania z USB dałoby mi to menu rozruchowe Grub i uruchomił instalator, ale instalator zrezygnował po kilku ekranach, skarżąc się, że nie może znaleźć napędu CD-ROM.

Jest to znany błąd związany z serwerem ubuntu iso (iso na pulpicie działa dobrze), ale istnieje poprawka, aby pobrać pakiety z iso na dysku USB: raz w instalatorze, Ctrl + Alt + f2, aby otworzyć tty i w terminal:

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

Następnie wróć do instalatora i spróbuj ponownie przeskanować CD w poszukiwaniu pakietów. To powinno działać.

Orvidia
źródło
W tej chwili nie mam systemu, aby go wypróbować, ale tak - wygląda na to, że powinien działać :) Dzięki!
jg-faustus
Odkryłem, że opcja menu „Wykryj i zamontuj CD-ROM” cofnie się /dev/sr0, cofając lni przywracając pierwotny (uszkodzony) stan. Gdybym jednak czekał na „Spróbuj ponownie zamontować CD-ROM?” monit, zrobił lnw tty2, a następnie wrócił do naciśnięcia „Tak”, zadziałało. (To okno dialogowe „Ponawiać?” Pojawi się jednak dopiero po mountwydaniu polecenia.)
Paul Whittaker
10

Próbowałeś z # dd if=path/to/image.iso of=/dev/sd# ?

aqui_c
źródło
Ten jest klejnotem. Najlepszy. działa na dowolnej dystrybucji Linuksa. ale musisz być bardzo ostrożny. dodawanie bs=20Mlub inna odpowiednia wartość przyspiesza. po szczegóły patrzman dd
Mahesh
1
@Mahesh Nie, niektóre dystrybucje linuksa nie działają nawet z tym poleceniem, Jednym z nich jest OpenSUSE
Anwar
lub MeeGo i wyprowadza te obrazy nazywa się hybrydowymi
rzr
5

Załóżmy, że masz przed sobą jedynie podpowiedź. Jeśli masz GUI, możesz otworzyć terminal i zrobić wszystko, co tu opisano. Lub możesz użyć tty.

OSTRZEŻENIE:
Aby uniknąć potencjalnego uszkodzenia, postępuj bardzo ostrożnie zgodnie z instrukcjami.

  • Przejdź do monitu root, pisząc sudo su

    Wykryj, jakim urządzeniem jest usb.

  • tail -f /var/log/syslog

Masz teraz podgląd na żywo w syslog. Podłącz dysk USB. Powinieneś zobaczyć niektóre wiadomości na ekranie. Coś takiego.

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

spójrz na to i znajdź jedną rzecz w nawiasach kwadratowych powtarzającą się? sdcw tym przypadku. Zanotuj to na kartce papieru. Wpisz Ctrl+, Caby przejść do monitu.

Znajdź plik ISO, aby nagrać na USB.

Jeśli plik ISO ma wartość /path/to/iso/somecd.iso; zanotuj tę ścieżkę na kartce papieru.

Napisz na USB

Ostrzeżenie:

Spowoduje to skasowanie całego dysku USB. Utwórz kopię zapasową przed kontynuowaniem.

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

Zastąp /path/to/iso/somecd.isorzeczywistą ścieżką do pliku ISO.

Zastąp to, /dev/sdcco zapisałeś wcześniej. Jeśli powtarzającą się częścią jest sdb; używać /dev/sdbi tak dalej.

Ostrzeżenie:

Błędne wpisanie litery dysku spowoduje trwałą utratę danych na innym dysku. Zwróć szczególną uwagę podczas wydawania ddpolecenia.

Mahesh
źródło
2
Aby uniknąć utraty danych przez wybranie niewłaściwego dysku, zaleca się użycie /dev/disk/by-label/LABELzamiast/dev/sdc
totti
1
Rozsądna sugestia. Ale kiedy nie masz pewności co do etykiety lub masz mnóstwo „nowego tomu”, staje się to bólem. Zawsze wolę SDX, ale to osobisty wybór.
Mahesh
1
Najlepsza odpowiedź. Jednym z sugerowanych usprawnień jest użycie pv w strumieniu wejściowym do dd, aby użytkownik otrzymał informację zwrotną o postępie (tj. Pv odczytuje iso, przesyła strumieniowo do dd i wyświetla postęp na stderr).
Stabledog
2

Tworzenie rozruchowego dysku flash USB Ubuntu z terminala

  • Zamontuj ubuntu.isoplik. W tym celu uruchom poniższe polecenia w terminalu,

    sudo mkdir /media/iso
    sudo mount -o loop /path/to/ubuntu.iso /media/iso
    
  • Następnie skopiuj wszystkie pliki z /media/isodo zamontowanego folderu dysku flash USB w /media.

    Włóż dysk flash USB.

    Będzie montowany automatycznie po każdym włożeniu. Twoja partycja USB musi być zamontowana wewnątrz. /mediaZałóżmy, że dysk USB jest zamontowany w /media/xxxxfolderze. Następnie uruchom poniższe polecenie,

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

    Uruchom lsblkpolecenie, aby poznać partycję urządzenia USB.

  • Następnie wklej ldlinux.sysplik do partycji dysku flash USB (w moim przypadku / dev / sdd1 ), aby umożliwić rozruch systemu USB. Aby uruchomić poniższe polecenia,

    sudo apt-get install syslinux mtools
    syslinux -s /dev/sdd1
    
  • Przejdź do /media/xxxfolderu i zmień nazwę isolinuxkatalogu na. syslinuxNastępnie przejdź do folderu syslinux o zmienionej nazwie i zmień nazwę pliku isolinux.cfgna syslinux.cfg.

       mv /media/xxx/isolinux /media/xxx/syslinux
       mv /media/xxx/syslinux/isolinux.cfg /media/xxx/syslinux/syslinux.cfg
    
  • Uruchom ponownie komputer i zmień boot-orderbios na USB. Teraz dysk flash USB z Ubuntu zostanie uruchomiony i będzie można go zainstalować.

Ta metoda działa dla wszystkich dystrybucji Linuksa, nie tylko dla Ubuntu.

Avinash Raj
źródło
1

Rozwiązałem ten konkretny problem, korzystając z dysku CD Ubuntu Live Desktop.

Uruchamiając Live CD na komputerze z napędem optycznym, mogłem użyć instrukcji na pulpicie Ubuntu, aby utworzyć instalator pióra USB bez dotykania istniejącej instalacji.

jg-faustus
źródło
1

Aby to zrobić, możesz zhakować twórcę USB.

Powinieneś już mieć pojedynczą partycję vfat jako partycję 1 na urządzeniu USB (robi to krok usuwania dysku w usb-creator-gtk) i powinna być oznaczona jako bootowalna.

Następnie otrzymamy kod python-twórca USB, który nam pomoże.

$ sudo apt-get install usb-creator

lub

$ bzr branch lp:usb-creator

utwórz plik z tą zawartością i nazwij go usb-creator-cli, jeśli używasz bzr w ostatnim kroku, umieść ten plik w katalogu usb-creator (root oddziału 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()

Zrób to

$ chmod +x usb-creator-cli

Teraz zamontuj iso na / iso i podłącz urządzenie USB do / mnt

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

Jeśli chcesz bardzo szczegółowe wiadomości na konsoli, możesz tail ~ / .cache / usb-creator.log

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

Teraz uruchom ten skrypt usb-creator-cli

$ sudo ./usb-creator-cli

I patrz, jak przewijają się wszystkie wiadomości.

Po powrocie do monitu nie zapomnij odmontować / mnt przed wyrwaniem urządzenia pamięci USB.

Jay _silly_evarlast_ Wren
źródło
-2

Możesz zainstalować Ubuntu z wiersza poleceń (CLI) za pomocą Alternate Install lub Mini iso (które powinno pasować do twojego dysku 512 MB)

Następnie zainstaluj Crunchbang przy użyciu alternatywnej metody: http://crunchbanglinux.org/forums/topic/26/crunchbang-linux-81001-alternative-installation/

Możesz także wypróbować wersję CrunchBang w wersji Lite, która ma mniej niż 512 MB.

Możesz użyć Unetbootin do przygotowania pamięci USB.

Sen
źródło
crunchbang? ha ha?
RolandiXor
Nie mam problemu z dopasowaniem ISO na patyku (jest to 16 GB), chodzi raczej o to, jak mogę stworzyć pamięć USB, która w pierwszej kolejności uruchamia się w ISO i tworzy ją przy użyciu wyłącznie CLI.
jg-faustus 13.01.11
I unetbootin nie działa, niestety - wydaje się, że wymaga obsługi grafiki, nawet jeśli uruchamiasz go z wiersza poleceń.
jg-faustus