Por que o 'dd' não funciona para criar USB inicializável?

30

Recentemente eu quis criar um USB inicializável do Linux mint. Eu descobri que havia um monte de conselhos / experiências conflitantes sobre se o comando 'dd' poderia ser usado para criar um USB inicializável. Eu decidi baixar um ISO e tentar. Enquanto dd definitivamente colocar a imagem no stick USB não foi inicializável. Então, minha pergunta é qual é o ingrediente mágico que fará isso funcionar ou por que essa abordagem persistiu se não funcionar?

Este é o comando que eu usei,

dd if=/mint/iso/image of=/dev/sdb1 oflag=direct 
    
por jdowner 01.04.2012 / 14:33

5 respostas

28

Você está escrevendo a imagem na partição 1 do / dev / sdb

Altere isso para o seguinte comando:

dd if=/mint/iso/image of=/dev/sdb oflag=direct

essas informações foram obtidas de aqui

    
por 01.04.2012 / 14:45
9

Você copiou a imagem para a primeira partição. Tente copiar para / dev / sdb em vez de / dev / sdb1.

O mecanismo real varia um pouco dependendo do tipo de imagem que você está usando, mas para imagens DOS / MBR simples você precisa obter uma tabela de partição correta (com a partição inicializável marcada como inicializável e o MBR - o parte dos 512 bytes iniciais que não são a tabela de partição - contendo o código de inicialização inicial.

    
por 01.04.2012 / 14:43
2

Da minha experiência com outra distro Linux, tudo o que você precisa fazer é alterar o arquivo do carregador de inicialização do syslinux e modificá-lo para inicializar o USB. Há informações mais detalhadas sobre este no wiki do syslinux .

Veja também esta pesquisa do Google .

    
por 26.11.2012 / 14:34
1

Você pode precisar ter um BPB escrito em seu gerenciador de inicialização. Veja o post de Dex de Sex 24 de abril de 2009 9:06 no link

A essência é que "se [seu usb firmware] emulação de disquete de usuários e você não tem um BPB, ele NÃO será inicializado"

Armado com esse conselho, pude resolver esse problema. Eu uso linux, então meu comando dd foi:

sudo dd bs=512 count=2880 if=IMG.bin of=/dev/sdb

Você desejará substituir o sdb pelo seu dispositivo usb. Você pode encontrá-lo executando

ls -l /dev/ | grep sd

antes e depois de inserir seu usb enquanto o linux está rodando. Se você receber, por exemplo sdb1 e sdb, escolheu a opção não indexada.

    
por 01.01.2016 / 00:40
0

Você se certificou de que sua placa-mãe está configurada para inicializar a partir do dispositivo USB antes de tentar inicializar a partir do seu HDD? Eu acho que pode ser seu único problema - não há muito a usar dd como você pode ver.

    
por 01.04.2012 / 14:42

Tags