estou seguindoesseguia para fazer 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
Executando qemu-system-i386
e qemu-system-x86_64
inicializando disk.img
bem, exibe o texto desejado.
Eu quero poder inicializar meurealPC neste "sistema operacional". Achei 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, funcionando qemu-system-i386 /dev/sdc
e qemu-system-x86_64 /dev/sdc
funciona bem.
Como escrevo disk.img
no meu pendrive para que ele inicialize a partir do meu BIOS real?
Responder1
Por alguma razão, as etapas que executei para criá disk.img
-lo disk.img
só podem ser gravadas corretamente em um disquete. No entanto, eliminar totalmente o arquivo de imagem (gravar diretamente no USB) funcionou (certifique-se de usar /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