Cria instalador USB para instalar o Ubuntu a partir da linha de comando?

22

Estou tentando criar uma imagem USB inicializável para instalar o Ubuntu em um novo computador.

Eu fiz isso antes de seguir as instruções " criar drive USB " para o desktop Ubuntu, mas eu não tem um desktop Ubuntu disponível.

Como posso fazer o mesmo usando apenas a linha de comando?

Coisas que eu tentei:

  • Crie USB inicializável no Mac OS X seguindo as instruções do ubuntu.com "criar unidade USB" para Mac: não inicializa.
  • usb-creator : De acordo com apt-cache search usb-creator e o usb-creator da Wikipedia existe apenas como uma ferramenta gráfica.
  • "Crie manualmente" instruções em help.ubuntu.com: Nenhum dos arquivos e diretórios descritos (por exemplo, casper , filesystem.manifest , menu.lst ) existem na imagem ISO e não sei o que os substituiu.
  • scripts do unetbootin : Requer que o servidor X (suporte gráfico) seja executado, mesmo quando totalmente roteirizado. (O comando sudo unetbootin lang=en method=diskimage isofile=~/ubuntu-10.10-server-amd64.iso installtype=USB targetdrive=/dev/sdg1 autoinstall=yes fornece uma mensagem de erro unetbootin: cannot connect to X server .)

Atualizar

Também tentei mexer no GRUB: mesclar informações de

Eu consegui chegar no meio do caminho - ele inicializou a partir do USB, exibiu o menu do grub e iniciou a instalação, mas a instalação não foi concluída.

Para referência, este é o mais próximo que consegui:

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/

Eu editei /media/usb/boot/grub.cfg para adicionar um .iso loopback, exemplo de entrada do 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
}

Ao inicializar a partir do USB, isso me dava o menu de inicialização do Grub e iniciava o instalador, mas o instalador desistiu depois de algumas telas reclamando que não conseguiu encontrar a unidade de CD-ROM. (Naturalmente, como a caixa na qual estou instalando não tem uma unidade óptica).

Eu resolvi esse problema específico desistindo e fazendo a rotina "create USB drive" usando o CD de desktop do Ubuntu Live (em um computador que possui uma unidade óptica), então a instalação via USB funciona.

Mas eu espero que haja alguma maneira de fazer isso a partir da linha de comando de um sistema Ubuntu sem servidor X e sem uma unidade óptica, então a questão ainda permanece.

Alguém sabe como?

    
por j-g-faustus 13.01.2011 / 02:30

7 respostas

9

When booting from USB, this would give me the Grub boot menu and start the installer, but the installer gave up after a couple of screens complaining that it couldn't find the CD-ROM drive.

Este é um bug conhecido com o ubuntu server iso (a iso da área de trabalho funciona muito bem), mas há uma correção para obter os pacotes da iso na unidade usb: uma vez no instalador, Ctrl + Alt + f2 para abrir um tty e no terminal:

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

Em seguida, volte para o instalador e tente digitalizar os pacotes em cd. Deve funcionar.

    
por Orvidia 25.03.2011 / 15:32
10

Você já tentou com # dd if=path/to/image.iso of=/dev/sd# ?

    
por aqui_c 17.05.2011 / 22:56
5

Vamos supor que você não tenha nada além de um aviso antes de você. Se você tem uma GUI, você pode abrir um terminal e fazer tudo descrito aqui. Ou você pode usar um tty.

WARNING:
To avoid potential damage, follow the instructions very very carefully.

  • Mude para um prompt de root digitando sudo su

    Detectar o dispositivo que o usb é.

  • tail -f /var/log/syslog

Agora você está tendo uma visualização ao vivo no syslog. Conecte seu drive USB. Você deve ver algumas mensagens na tela. Algo parecido com isto.

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

olhe, e encontre uma coisa entre colchetes repetindo? sdc neste caso. Anote em um pedaço de papel. Digite Ctrl + C para chegar ao prompt.

Localize o arquivo iso para gravar em usb.

Se o arquivo iso estiver em /path/to/iso/somecd.iso ; observe este caminho em um pedaço de papel.

Escreva na USB

Warning:

This will erase the entire USB disk. Backup before proceed.

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

Substitua /path/to/iso/somecd.iso pelo caminho real do arquivo iso.

Substitua /dev/sdc pelo que você anotou anteriormente. Se a parte de repetição for sdb ; use /dev/sdb e assim por diante.

Warning:

Typing a drive letter wrong will result in permanent data loss on a different drive. Pay extra attention while issuing dd command.

    
por Mahesh 26.05.2012 / 21:17
2

Criando uma unidade flash USB inicializável do Ubuntu a partir do terminal

  • Monte o arquivo ubuntu.iso . Para isso, execute os comandos abaixo no terminal

    sudo mkdir /media/iso
    sudo mount -o loop /path/to/ubuntu.iso /media/iso
    
  • Copie todos os arquivos de /media/iso para a pasta da unidade flash USB montada em /media .

    Insira seu pen drive usb.

    Ele será montado automaticamente, sempre que você o inserir. Sua partição usb deve ser montada dentro de /media . Vamos supor que sua unidade USB esteja montada dentro da pasta /media/xxxx . Em seguida, execute o comando abaixo,

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

    Execute o comando lsblk para saber a partição do dispositivo usb.

  • Em seguida, cole o arquivo ldlinux.sys dentro da partição da unidade flash USB (no meu caso / dev / sdd1 ) para tornar o inicializável . comandos,

    sudo apt-get install syslinux mtools
    syslinux -s /dev/sdd1
    
  • Entre na pasta /media/xxx e renomeie o diretório isolinux para syslinux .Então, vá para a pasta syslinux renomeada e renomeie o arquivo isolinux.cfg para syslinux.cfg .

       mv /media/xxx/isolinux /media/xxx/syslinux
       mv /media/xxx/syslinux/isolinux.cfg /media/xxx/syslinux/syslinux.cfg
    
  • Reinicie o seu PC e mude o boot-order no BIOS para USB. Agora o seu ubuntu usb flash drive será inicializado e você poderá instalá-lo.

Este método funciona para qualquer distribuição linux, não apenas para o ubuntu.

    
por Avinash Raj 13.11.2013 / 13:50
1

Eu resolvi esse problema específico usando o CD de desktop do Ubuntu Live.

Ao inicializar o Live CD em um computador com uma unidade óptica, eu poderia usar as instruções da área de trabalho do Ubuntu para criar o instalador de pen USB sem tocar na instalação existente.

    
por j-g-faustus 13.01.2011 / 09:58
1

Você pode hackear o usb-creator para fazer isso.

Você já deve ter uma única partição vfat como partição 1 no dispositivo usb (a etapa do disco erase do usb-creator-gtk faz isso) e deve ser marcada como inicializável.

Em seguida, obteremos o código python do usb-creator para nos ajudar.

$ sudo apt-get install usb-creator

ou

$ bzr branch lp:usb-creator

crie um arquivo com este conteúdo e nomeie-o usb-creator-cli, se você usar bzr na última etapa, coloque este arquivo no diretório usb-creator (root of bzr branch)

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

Tornar executável

$ chmod +x usb-creator-cli

Agora monte seu iso em / iso e monte seu dispositivo usb em / mnt

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

Se você quiser mensagens muito detalhadas no seu console, você pode seguir ~ / .cache / usb-creator.log

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

Agora execute o script usb-creator-cli

$ sudo ./usb-creator-cli

E veja todas as mensagens passarem.

Quando você retornar ao prompt, não esqueça de desmontar / mnt antes de arrancar seu dispositivo de armazenamento usb.

    
por Jay _silly_evarlast_ Wren 20.02.2013 / 20:57
-2

Você pode instalar uma linha de comando (CLI) Ubuntu usando o Alternate Install ou o Mini iso (que deve caber no seu stick 512mb)

Em seguida, instale o Crunchbang usando o método alternativo: link

Você também pode experimentar a versão Lite do CrunchBang, que é inferior a 512mb.

Você pode usar o Unetbootin para preparar o pendrive.

    
por Sen 13.01.2011 / 03:55