Como gravar imagem ISO no cartão de memória USB na linha de comando do Linux?

23

Estou tendo problemas para descobrir como escreveria uma imagem de disco ISO em um dispositivo de memória flash USB a partir da linha de comando no Ubuntu. Eu tenho o utilitário Startup Disk Creator, mas preciso ser capaz de criar um script para este trabalho.

Encontrei o pacote usb-creator, mas não parece haver nenhuma documentação e python -m usbcreatorusbcreator is a package and cannot be directly executed.

Eu olhei para o unetbootin, mas parece outro utilitário apenas da GUI.

Existe alguma solução óbvia que eu estou ignorando?

mikepurvis
fonte

Respostas:

12

Eu sei que você pode fazer isso no UNetbootin gui. Eu ainda não tentei, mas parece que você também pode fazê-lo por linha de comando:

http://sourceforge.net/apps/trac/unetbootin/wiki/commands

método unetbootin = diskimage isofile = "my.iso" installtype = USB targetdrive = / dev / sdc1

Ian
fonte
^ a resposta que eu ia dar. unetbootinlida automaticamente com as etapas necessárias para mover a maioria dos arquivos ISO para a mídia USB.
MikeyB
Para mim, no Fedora Core 23, é lançado, unetbootin guimas com as configurações fornecidas na linha de comando.
Yaroslav Nikitenko
25

Tem certeza de que a imagem ISO funcionará em um dispositivo USB? Alguns ISOs que serão inicializados se estiverem em um CD / DVD não serão realmente inicializados a partir de um dispositivo USB.

Supondo que o ISO desejado tenha um gerenciador de inicialização que funcione, deve ser tão simples quanto dd if=filename.iso of=/dev/usbdeviceisso substituirá qualquer coisa que esteja atualmente no disco USB.

Se você deseja colocar o ISO em um sistema de arquivos existente na unidade USB e inicializá-lo, a configuração pode ser muito mais complicada.

Zoredache
fonte
Não, isso é perfeito; exatamente o que eu precisava. Obrigado!
Mikepurvis
1
Ack ... não exatamente. Esse método carrega o sistema de arquivos, mas parece não tornar a unidade inicializável, como a ferramenta Startup Disk Creator (com o mesmo ISO).
Mikepurvis #
2
Como mencionei, depende um pouco de qual gerenciador de inicialização está presente no ISO e como ele está configurado. Algumas imagens funcionarão apenas com dd, outras não. Por exemplo, um Debian Live funcionará bem usando o método dd. Para ter certeza de que você pode experimentá-lo, ou leia os documentos para qualquer iso que você esteja falando, para ver se é suportado.
Zoredache
2
@ Zoredache para verificar se isovocê pode inicializar file. Se inicializável, será impresso bootableno final da linha de saída.
Yaroslav Nikitenko
10

No Linux, existe uma maneira muito fácil de criar um cartão de memória inicializável a partir de uma imagem ISO - e isso deve funcionar para qualquer sistema operacional. Supondo que o cartão de memória seja /dev/sdbe a imagem seja /home/username/Downloads/system.iso.

Basta fazer isso (como root):

dd if=/home/username/Downloads/system.iso of=/dev/sdb

Muito mais fácil do que unetbootin ou qualquer outro método que eu já ouvi falar.

Paulo
fonte
Isso pressupõe que o carregador de inicialização esteja incluído no iso, o que geralmente não é o caso.
Mikepurvis # 25/13
6
O único passo importante é gravar / arquivo de saída no dispositivo, não em uma partição. Ou seja, of=/dev/sdbe NÃO of=/dev/sdb1. (Apenas queria comentar sobre este problema, não há nada errado com o seu post: o))
sjas
Isso funcionou para mim ao tentar instalar o Debian 9 em um netbook antigo do Asus Eee PC. O Unetbootin produziu unidades que não foram inicializadas nesse caso.
Unfa 24/11
0

Eu uso o seguinte procedimento:

1. Lendo o tamanho do bloco e o tamanho do volume:

[root@testserver ~]# isoinfo -d -i /path_to_iso | grep -i -E 'block size|volume size' 
Logical block size is: 2048
Volume size is: 327867

2. Executando dd com os parâmetros para tamanho do bloco e tamanho do volume:

root@testserver ~]# dd if=/path_to_iso of=/dev/your_usb_device bs=block-size-from-above count=volume-size-from-above
mixtou
fonte