我使用 KVM 在 Ubuntu Jaunty 上运行虚拟机,并使用 virt-manager 配置它们。我的机器是双启动的,我不想在偶尔使用 Windows 时重新启动。因此,我设置了一个使用 Windows 分区的块设备作为硬盘的 VM。但是当我启动它时,启动就永远挂起了。从 Windows 安装 CD 启动可以正常工作,然后硬盘被识别,因此重新安装可能会有效。
KVM 无法启动块设备的原因是什么?如果我重新安装,我还能使用该分区进行普通双启动吗?
注意:我以 root 身份运行 VM 管理器,因此应该没有权限问题。
答案1
您现有的 Windows XP 分区是在假设您的硬件(特定主板、CPU、芯片组等)具有某些特性的情况下安装的。
当您在虚拟机中启动该分区时,Windows 会看到一组完全不同的硬件。Windows 的安装配置不太可能与 KVM 呈现的虚拟硬件相匹配,因此无法启动。这就像您从一台计算机中取出硬盘,将其放在另一台完全不同的计算机上,然后尝试启动它(这不太可能成功)。
它可能通过在控制面板->系统->硬件->硬件配置文件中设置第二个硬件配置文件,可以让 Windows 识别不同的硬件配置,但对于真实硬件和虚拟化硬件之间的如此彻底的改变,可能就不行了。
答案2
这是错误的。可以从本机启动和从 VM 启动。
看看“如何操作:虚拟机和本机上的 Windows XP”或与 KVM 相关,您可以像上面描述的那样做“使用 Linux KVM 从原始磁盘启动 Windows XP”。
答案3
这个LinuxJournal视频描述了如何使用 VMWare 来实现这一点,即设置两个单独的硬件配置文件,一个用于本机,一个用于 VM,并让 Windows 等待启动,直到您选择了适当的硬件配置文件。我还不清楚这是否可以用 KVM 来实现,但如果可以的话,大概会使用类似的技术。
答案4
我会在 Windows 中说并运行“sysprep”(这会剥离 HW 标签和唯一标识符)然后启动虚拟机并将原始磁盘传递给虚拟机。