Eu tenho uma cópia do Windows XP instalado em um disco rígido que gostaria de executar com o QEMU.
Quando eu inicio diretamente a partir do disco rígido, ele funciona bem:
qemu -m 256 -hda /dev/sdc
Starting Windows...etc...etc...
Embora a capacidade do HDD seja de 320 GB, meu sistema atualmente vive em uma partição de 4 GB no início do disco:
/sbin/fdisk -l /dev/sdc
Disk /dev/sdc: 320 GB, 320070320640 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdc1 * 1 510 4096543 b FAT32
Warning: Partition 1 does not end on cylinder boundary.
Então eu imaginei que só poderia copiar a tabela de partição e a primeira partição (8192000 setores) para uma imagem bruta para uso com o QEMU:
dd if=/dev/sdc of=winxp.img count=8192000
É claro que, como winxp.img
é uma cópia de /dev/sdc
, ela possui exatamente o mesmo layout de partição:
/sbin/fdisk -l winxp.img
Disk /mnt/windata/winxp.raw: 4 GB, 4186667520 bytes
255 heads, 63 sectors/track, 509 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/mnt/windata/winxp.raw1 * 1 510 4096543 b FAT32
Warning: Partition 1 does not end on cylinder boundary.
No entanto, quando tento usar a imagem não processada com o QEMU, o sistema convidado não inicia:
qemu -m 256 -hda winxp.img
Booting from hard disk...
NTLDR is missing
Quais configurações eu poderia alterar para tornar meu arquivo de imagem compatível com o QEMU? Devo alterar algo na tabela de partições ou na própria partição para que funcione? Existe uma opção QEMU que poderia ajudar?
Ou talvez seja possível usar uma cópia de /dev/sdc1
com o QEMU em vez de uma cópia de /dev/sdc
?