У меня на жестком диске установлена копия Windows XP, которую я хотел бы запустить с QEMU.
Когда я запускаю его прямо с жесткого диска, он работает нормально:
qemu -m 256 -hda /dev/sdc
Starting Windows...etc...etc...
Хотя емкость жесткого диска составляет 320 ГБ, моя система фактически находится в разделе 4 ГБ в начале диска:
/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.
Поэтому я решил, что могу скопировать только таблицу разделов и первый раздел (8192000 секторов) в необработанный образ для использования с QEMU:
dd if=/dev/sdc of=winxp.img count=8192000
Конечно, поскольку winxp.img
является копией /dev/sdc
, он имеет точно такую же структуру разделов:
/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.
Однако, когда я пытаюсь использовать необработанный образ с QEMU, гостевая система не запускается:
qemu -m 256 -hda winxp.img
Booting from hard disk...
NTLDR is missing
Какие настройки я могу изменить, чтобы сделать мой файл изображения совместимым с QEMU? Должен ли я что-то изменить в таблице разделов или в самом разделе, чтобы это работало? Есть ли вариант QEMU, который может помочь?
Или, возможно, возможно использовать копию /dev/sdc1
с QEMU вместо копии /dev/sdc
?