我有一个安装在硬盘驱动器上的Windows XP副本,我想与QEMU一起运行。
当我直接从硬盘驱动器启动它运行良好:
qemu -m 256 -hda /dev/sdc
Starting Windows...etc...etc...
虽然硬盘容量为320GB,但我的系统实际上位于磁盘开头的4GB分区中:
/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一起使用时,guest虚拟机系统将无法启动:
qemu -m 256 -hda winxp.img
Booting from hard disk...
NTLDR is missing
我可以更改哪些设置以使我的图像文件与QEMU兼容?我应该在分区表中还是在分区本身中更改某些内容以使其正常工作?是否有QEMU选项可以提供帮助?
或者是否可以使用/dev/sdc1QEMU的副本而不是副本/dev/sdc?
sdc很好 - 为什么你复制sdb呢?为什么只有8192000块?你是否试图sdc整体复制?另外,根据你的fdisk输出,磁盘“几何”略有改变,我不会对NTLDR对barf感到惊讶: -  \另一件事:qemu你在使用时会启动sdc1吗?如果是这样,请尝试sdc1仅复制,而不是整个磁盘。
                qemu -hdachs  选项来设置正确的几何图形。