Grava uma imagem de disco em um USB

1

Estou seguindo o este guia para faça um bootloader simples. Ele gera um arquivo disk.img .

$ dd if=/dev/zero of=disk.img bs=1024 count=1440
$ dd if=vbr.bin of=disk.img count=512 conv=notrunc
$ file disk.img
disk.img: DOS/MBR boot sector

A execução de qemu-system-i386 e qemu-system-x86_64 on disk.img é inicializado corretamente exibe o texto desejado.

Eu quero ser capaz de inicializar meu real PC neste "sistema operacional". Eu imaginei que poderia simplesmente executar:

$ dd if=disk.img of=/dev/sdc1

... e reinicie meu PC, selecionando Boot from USB na BIOS, mas recebo este erro:

Invalid partition table!

No entanto, a execução de qemu-system-i386 /dev/sdc e qemu-system-x86_64 /dev/sdc funciona bem.

Como eu escrevo disk.img no meu dispositivo USB para que ele seja inicializado a partir do meu BIOS real?

    
por MD XF 12.04.2017 / 18:12

1 resposta

0

Por algum motivo, as etapas que tomei para criar disk.img fazem com que disk.img só possa ser gravado corretamente em um disquete. No entanto, eliminou completamente o arquivo de imagem (escrevendo diretamente para o USB) (certifique-se de estar usando /dev/sdX em vez de /dev/sdXY ):

$ dd if=/dev/zero of=/dev/sdc bs=1024 count=1440
$ dd if=vbr.bin of=/dev/sdc count=512 conv=notrunc
    
por 19.04.2017 / 22:48