我继承了一台 Windows Server 2003 R2 虚拟机,该虚拟机之前在出现故障的 Windows Virtual Server 2005 下运行。C: 和 D: VHD 都快满了几百兆。
我创建了一个新的基于 Hyper-V 的 VM 来移植旧 VM,并在使用之前通过将它们扩展 10Gigs 来编辑 VHD。
集成服务安装和 HAL 升级进展顺利,但是当我启动 VM 时,两个驱动器仍然显示几乎已满。
快速查看磁盘管理可以发现,它们都有额外的 10Gigs 未分配空间。
我认为一个简单的解决方法就是关闭 Win2k3 R2 VM 并将其 VHD 附加到在同一 Hyper-V 服务器上运行的另一个 Win2k8 R2 VM,然后使用其磁盘管理工具扩展分区以覆盖添加到其上的额外 10Gigs。
Win2k8 R2 是否会尝试将任何其他“内容”(驱动器签名等)添加到 VHD 上,从而阻止 Win2k3 R2 VM 运行?如果我可以使用内部已有的内容,我不愿意购买第三方分区实用程序。
答案1
是的,你可以这样做。我已经这样做过几次了(在 VMware vSphere 下),从来没有遇到任何问题。无论使用哪种虚拟化平台,此方法都应该同样有效。我刚才这样做只是为了确认一下,没有任何问题。
不太熟悉虚拟服务器或 Hyper-V,只需确保在扩展卷并将其从“占位符”VM 中删除后,仅删除它而不是删除它。
答案2
Microsoft 是否支持这些动态 VHD 在 HyperV 下成为“动态磁盘”?如果支持,您可以将它们转换为动态磁盘,然后以这种方式扩展它们。如果不支持,那么我认为您使用 2008R2 主机安全地扩展基本磁盘的想法可能是一种很好的安全方法。您也可以从 GPartEd(免费)启动服务器并执行此操作,但您的里程可能会有所不同,因为我以前曾用它完全堵塞磁盘,有时还会破坏 MBR。
答案3
我不知道如果将 VHD 附加到 2k8 系统,NTFS 版本是否会升级。如果在 2003 下它们显示有额外空间,您应该能够将分区直接扩展到 2003 下的新可用空间。您不需要任何第三方工具来扩展分区。
最简单的方法是使用 diskpart:
- 通过转到“开始 | 运行”打开命令提示符。
- 在打开文本框中输入diskpart,然后按{Enter}。
- 在 DISKPART 提示符下,输入 list volume。
- 输入 select volume x,其中 x 是列出的要扩展的卷编号。
- 输入 extend,然后按 {Enter}。