如何将现有的Win7 64位转换为虚拟机?

如何将现有的Win7 64位转换为虚拟机?

由于我已经从旧磁盘升级到新磁盘,并决定重新安装操作系统,而不是复制映像并拖动多年来积累的所有“垃圾”,我认为在虚拟机中运行“旧”操作系统是个好主意,从而使过渡更容易:如果需要的话,在我设置新机器时,我仍然可以访问“旧机器”,而并不是所有内容都已迁移。

我以前用 WindowsXP 机器做过这样的事,所以没想到会出什么问题。我错了 =) 我花了大半天时间才弄清楚问题出在哪里,在网上寻求帮助大多都是徒劳的 =(

因此,我将在下面写下我做了什么来使它工作,以便其他人可以从中受益......

答案1

以下是我为实现此目的所做的事情的列表,我保留了一些“关键错误”,但省略了我尝试过的大多数死胡同。如果有人想添加建议,请随意,因为我在虚拟化方面绝对是个业余爱好者。

  1. (可选)尽可能多地卸载当前操作系统中的程序(不需要的程序,还有视频驱动程序/音频驱动程序等,因为虚拟机中的硬件无论如何都是不可见的……)。磁盘上的数据越少,虚拟磁盘以后就会越小,从而占用更少的宝贵空间。

  2. 创建当前操作系统的映像。您可以使用 SysInternals 的 Disk2Vhd 在线执行此操作。只需连接外部磁盘,选择要转换的操作系统分区并在外部磁盘上创建 VHD。理论上您可以同时使用该机器,但我建议不要这样做。

    => 备注:源磁盘不得超过 127Gb(或曾经有过?)。由于我当前的磁盘只有 120Gb,因此我没有遇到任何问题,我也不知道问题是否仍然存在...

    => 备注:我很久以前就已经删除了 BitLocker 分区,不确定如果存在 BitLocker 分区,是否可以虚拟化,更不用说如果它正在使用中。在网上查找,你会发现一些关于如何摆脱它的指南。

  3. 交换磁盘并启动“新”操作系统。使用 Windows Virtual PC 在新虚拟机中加载 .vhd。

    => 这不会像 WinVPC 那样工作不是支持 64 位并模拟 32 位机器。因此操作系统尝试启动并失败 =(

  4. 获取 VMWare Player 并安装它(免费软件)。

  5. 从 Starwind 获取 V2V 图像转换器(免费软件但需要注册)并安装它。

  6. 将.vhd 转换为.vmdk 映像(需要一段时间,最好从一个磁盘转换到另一个磁盘)。

  7. 在 VMPlayer 中创建一个新的虚拟机,表示稍后您将在其上安装 Win7 64 位。将机器放在文件夹 X 中,选择单文件虚拟磁盘。
  8. 用上面创建的 .vmdk 替换文件夹 X 中创建的 .vmdk。=> 像这样启动虚拟机会让我得到“变形窗口”,然后出现蓝屏和重新启动......一遍又一遍。

  9. 使用文本编辑器打开 .vmx 文件并查找以下条目:

    scsi0.present = "TRUE"
    scsi0.virtualDev = "lsisas1068"
    scsi0:0.present = "TRUE"
    scsi0:0.fileName = "<filename>.vmdk"
    ide1:0.present = "TRUE"
    ide1:0.autodetect = "TRUE"
    ide1:0.deviceType = "cdrom-raw"
    

    并将信息替换为以下内容:

    bios.bootDelay = "5000" 
    scsi0:0.present = "FALSE"
    ide0:0.present = "TRUE"
    ide0:0.fileName = "<filename>.vmdk"
    ide0:0.virtualDev = "lsisas1068"
    ide1:0.present = "TRUE"
    ide1:0.autodetect = "TRUE"
    ide1:0.deviceType = "cdrom-raw"
    
  10. 保存并启动虚拟机,然后祈祷一切顺利。对我来说,从这里开始一切都很完美。

备注:由于操作系统注意到“硬件”已更改,因此需要重新激活。就我而言,此操作失败,因为我重新使用了“新”操作系统的密钥。YMMV。

答案2

我目前对虚拟机还没有太多的了解,但我想说的是,VMware 已经有了针对此问题的解决方案:VMware vCenter 转换器。从他们的主页:

VMware vCenter Converter 将基于 Windows 和 Linux 的物理机和第三方映像格式转换为 VMware 虚拟机。

相关内容