Por que o 'dd' nem sempre funciona para criar USB inicializável?

3

Atualização da pergunta TL; DR:

Eu tenho 2 máquinas A e B; ambos são inicializáveis a partir do usb. Quando eu crio um stick com dd na máquina A, o stick não é nem a máquina de inicialização A nem a máquina B nem qualquer outra máquina inicializável. Quando eu crio um stick de o mesmo iso com o muito mesmo stick USB na máquina B com o mesmo dd -command, o stick está inicializando a máquina A, a máquina B e qualquer outra máquina inicializável. Qual é o ingrediente secreto que torna um "dd-stick" realmente inicializável?

(TL; DR termina aqui.)

Primeiro: estou totalmente ciente dessa pergunta e da sua resposta: - no entanto, o problema apontado na resposta aceita (e também nas outras respostas) não é o que eu tenho.

Aviso adicional: essa resposta: link não é não respondendo a essa pergunta. Assume que diferentes ISOs com diferentes configurações são usados em diferentes sistemas. Como assinalei nos comentários, isso não é o caso . A única coisa que é diferente nos meus testes é a máquina onde o porta-bengala foi feito; o resto, ou seja, o ISO e a máquina que deve ser inicializada é a mesma . Por favor, não revele essa resposta, pois ela não está respondendo à pergunta que foi feita e, portanto, é uma resposta errada .

Eu sei que é um problema comum confundir o dispositivo correto com dd e muitas vezes o usuário confunde a primeira partição com o dispositivo inteiro.

Mas isso não é meu problema! Estou usando o comando de maneira correta, ou seja, não estou copiando para a primeira partição, mas para o dispositivo, como:

dd if=linux.iso of=/dev/disk3 bs=1m

( 1m está correto porque estou usando o bsd-dd que usa m em vez de capital M , então, por favor, nenhum comentário sobre isso. 1M não seria nem mesmo um parâmetro válido para minha versão de dd )

/dev/disk3 é o arquivo de dispositivo do stick e não de uma de suas partições.

Agora, embora, eu esteja fazendo tudo de acordo com a documentação e até da mesma forma que outras pessoas que conheço estão fazendo isso (com sucesso), minhas varas não são inicializáveis. Então, minha pergunta é como no outro: Qual é o ingrediente secreto que torna um stick dd -copied inicializável?

Update: O mesmo iso-File que estou usando funcionará no pc de outra pessoa. Update2: Este é o arquivo iso que eu estou falando: link Um amigo conseguiu criar um stick inicializável com dd dele enquanto eu não sou.

    
por ohcibi 02.11.2016 / 11:49

1 resposta

2

Geralmente o ingrediente secreto é isohybrid . .iso arquivos são realmente CD imagens - eles contêm um sistema de arquivos ISO 9660 (daí o nome), geralmente com extensões El Torito para torná-lo inicializável. No entanto, isso é um pouco diferente de como os discos regulares são inicializados (sejam eles internos ou USB).

(Para sistemas BIOS, é esperado que discos regulares tenham bootcode em seu 0º setor - parte do MBR. Enquanto o processo de inicialização de CD tenta emular que, de certa forma, seu bootcode inicial ainda é armazenado em outro lugar.)

Muitas distribuições Linux usam o isohybrid para combinar várias imagens de inicialização diferentes e até diferentes sistemas de arquivos (BIOS, El Torito e UEFI; ISO 9660 e FAT) em uma única imagem que de alguma forma ainda funciona .

Mas se a sua imagem não tiver sido construída dessa forma, ela terá apenas o CD bootcode, não o "disco" um.

Ou a imagem pode ser híbrida, mas pode ser compatível apenas com BIOS enquanto seu sistema requer UEFI ou vice-versa. Ou você pode estar tentando inicializá-lo em algo que não seja x86.

    
por 02.11.2016 / 12:01

Tags