将我的 Vista 安装转换为虚拟机

将我的 Vista 安装转换为虚拟机

我对虚拟机还不太熟悉,所以请多多包涵。我目前正在双启动 Windows 7 和 Windows Vista。我想将 Vista 安装转换为虚拟机,然后删除该物理分区(虚拟硬盘将位于我的 USB 驱动器上)。

我设法使用“Disk2vhd”应用程序创建了 Vista 的虚拟硬盘。但是,当我尝试在 Virtual PC 2007(在我的 Windows 7 上运行)中创建虚拟机时,Vista 无法加载。安全加载也不起作用,并卡在 crcdisk.sys 上。

对于可能发生的事情有什么想法吗?

答案1

你可以尝试VMWare 转换器进而VMDK2VHD。注意:您可以在网上找到 VMDK2VHD 的副本,而无需登录该网站。

我没有使用 VMWare 转换器进行 P2V 转换,但我使用 VMDK2VHD 将 VMware 映像转换为 HyperV。

YMMV,但这可能会对你有所帮助。

此外,像 clonezilla 或 ghost 这样的克隆工具可以帮助创建磁盘映像,然后您可以在虚拟机内部恢复它。

答案2

如果您希望当前的 Vista 映像在 VPC 中启动,则需要更改两件事。您需要告诉 Vista 在启动时检测正确的 HAL 并使用标准(旧)IDE 驱动程序。

首先在机器上启动 Vista,打开命令窗口并输入:

bcdedit /设置detecthal

执行第二步,进入设备管理器并将存储驱动程序更改为基本 IDE。

然后使用disk2vhd。

答案3

1)这篇博文可能会有所帮助:

http://hawflakes.unoc.net/?tag=fix_hdc

2)还有这个:

Start VM with the XP cdrom in the player.
boot from cd-rom and press R this will load the recovery console
login with local administrator password of the VM
goto system32 directory, cd system32
type:  expand d:\i386\halacpi.dl_  and press enter
type:  copy halacpi.dll hal.dll  and press enter, type Y to overwrite
reboot the VM
boot in normal mode and update all drivers, this is a automated proces, but check it
reboot again in normal mode
install VM additions

3)或者这样:

Problem: if the VM you created using Disk2vhd is XP and during boot the screen goes black after the bios boot and never finishes booting, you probably have a HAL issue.  This has happened on every physical XP that I've used disk2vhd to make a VM.
Solution that has worked for me was to copy NTOSKRNL.EXE and HAL.DLL files from a known good VM to the bad VM.  Abreaviated instructions using VPC2007Sp1 are:  
1. Mount or add the VHD file from the VM you are having problems to a known good VM, should show up as a secondary hard drive, for example D: when you boot.    
2. From the known good VM, do a search for NTOSKRNL.EXE and HAL.DLL files, you'll find many versions in a couple of different directories.  Find the most recent and copy those files and replace the files on the VHD VM that you were having problems with, ensure to replace all the files in all directories.  Shut down the VM.
3. Start the VM you were having problems with, it should now boot because you replaced the NTOSKRNL.EXE and HAL.DLL files within the VM with known good NTOSKRNL.EXE and HAL.DLL files from a known good VM.

http://forum.sysinternals.com/forum_posts.asp?TID=20716&PN=2

答案4

我也遇到过这个问题。原始物理系统有一个 SATA 接口。我进行了 HAL 交换,但在启动虚拟实例时 crcdisk.sys 之后仍然出现 BSOD。为了使其正常工作,我在此处进行了注册表更改:

http://www.minasi.com/forum/topic.asp?TOPIC_ID=31980

HKLM/系统/CurrentControlSet/服务/pciide/启动 = 3 HKLM/系统/CurrentControlSet/服务/intelide/启动 = 0

另一个问题是我已经制作了一个 VHD 映像。为了更改注册表值,我使用 NT 脱机密码工具(也是一个脱机注册表编辑器)启动了虚拟实例。谢天谢地,我不必重新创建 VHD 文件。在此工具中,ControlSet001 与 CurrentControlSet 相同(至少在我的情况下)。

http://www.pogostick.net/~pnh/ntpasswd

相关内容