无需启动 Windows 即可更新/更改硬盘驱动程序

无需启动 Windows 即可更新/更改硬盘驱动程序

我正在尝试将物理服务器转换为虚拟服务器。我知道有一些工具可以做到这一点,但它们要么成本高昂,要么要求极高。

我曾尝试使用诺顿幽灵复制磁盘,然后在虚拟机内恢复该副本。我成功了,但恢复后,Windows 无法启动。我可以启动到 PE 磁盘并验证文件系统是否完好无损,但我认为 Windows 的硬盘驱动程序有问题。物理服务器是带有 SCSI PowerEdge RAID 控制器 (PERC) 6 卡的 Dell PowerEdge 1950。

有没有办法将虚拟机的硬盘驱动程序从 Windows PE 磁盘添加到驱动器中,而无需启动 Windows?我正在使用 Virtual Server 2005。

我知道在拍摄图像之前可以在物理机器上进行此操作,但这是一台生产机器,我不想冒险。

编辑 1:Virtual Server 2005 迁移工具包有极高的要求,因为它需要安装 ADS。我唯一一次成功使用它时,我不得不围绕它构建一个完整的临时测试网络(大的麻烦)。还有 System Center 的 VMMC(非常昂贵)。

当我尝试启动新的虚拟机时,我看到邮政屏幕,如果我加载了可启动 CD,它将启动到 CD。如果没有,则 CPU 使用率降至 0,并且 VM 锁定。我尝试更新文件夹hal.dll中的system32,但并没有解决问题。
我认为我需要禁用正在尝试加载的 1950 的 SCSI 驱动程序。
我正在转换的 VM/物理机正在运行 Windows 2003。

答案1

是的。

大多数虚拟化系统支持 IDE 设备,因此替换 HAL 和 Miniport 驱动程序通常就足够了:

  1. 启动恢复控制台
  2. 使用EXPAND HAL.DL_ C:\WINDOWS\SYSTEM32
  3. 使用EXPAND NTOSKRNL.EX_ C:\WINDOWS\SYSTEM32
  4. 使用以下方式启用 ATAPI 驱动程序ENABLE ATAPI SERVICE_BOOT_START

请注意,大多数虚拟机管理器都有一些虚拟磁盘驱动程序(称为 VMWare VMSCSI.SYS),您可以简单地复制系统ATAPI.SYS文件。

  5. 禁用旧磁盘驱动程序(取决于您的虚拟机)。尝试LISTSVC查找标记为 的驱动程序SERVICE_BOOT_START,例如:DISABLE MYSCSIVENDOR

当然,如果你决定复制虚拟磁盘驱动程序,你可以简单地将其复制到旧的磁盘驱动程序上

此时,您应该能够正常启动您的客户端。

答案2

您所说的转换“极端要求”是什么意思?转换过程中 VM 主机上所需的一切肯定与之后实际运行 VM 的要求相同?或者您是想在试图制作 VM 的机器上运行 VM?(我可以想象后者会使工具拒绝运行)。

另外关于成本:上次我使用官方的 VMWare 转换工具时,它是免费的(合法免费,而不是五指折扣免费),所以我想也应该有一个适用于 vserver 的等效工具。

Windows 启动到什么程度了?此时您会收到哪些消息?在此之前有任何错误消息吗?“无法启动”涵盖了伟大的问题很多,所以只能猜测,没有更多细节。另外,Windows 的版本和版本是什么?此外,有关原始硬件和 VM 设置的更多详细信息可能有助于诊断 - CPU 规格?分配给 VM 的 vCPU 数量?等等。

问题可能不在于控制器驱动程序:Windows 对单处理器和多处理器设置使用不同的 HAL,我认为对于某些其他硬件差异也是如此。至少 WinNT/2K/XP/2003 是这样的 - 我没有对 Vista/2K8/7 进行过如此详细的修改。如果像这样移动到不同的硬件(从物理硬件到 VM 硬件),它会响应不佳。

让 Windows 从一个硬件平台手动移动到另一个硬件平台通常不是一件容易的事,因此您可能必须不管要求如何都使用自动化工具,或者在 VM 中安装免费的操作系统,然后将机器执行的任务手动移动到 VM。

答案3

您是否尝试过将虚拟机启动到 2003 安装盘并运行修复设置?我所做的每个 P2V 操作都不同,但有一次,这帮我解决了问题。

我还得为 VMWare Converter 投一票。我正在运行 Hyper-V并且必须使用 VMWare 进行 2 次 P2V 转换,其他任何方法都行不通。

答案4

您可以尝试 vizioncore 的 P2V 产品,它旨在为 VMware 创建 VM,但具有相当多有用的功能并且可以免费使用。

相关内容