我需要将我的 Server 2012 R2 文件服务器(物理)迁移到另一台服务器(虚拟)。这就是为什么我需要创建 VHDX 文件以便稍后在 Hyper-V 中运行它们
除 C 盘外,所有驱动器都没有问题。
每当我启动创建的 C 盘时,都会出现此错误:
如果我只是在我的文件系统或任何服务器上打开 VHDX,我会收到以下错误you need to format the F: Drive before you can use it
:
如您所见,VHDX 奇怪地包含 2 个驱动器,其中一个 (F:) 未格式化。这就是我无法使用 VHDX 文件的原因,我猜是因为它无法识别此驱动器。我猜这是 EFI 所在的位置。
我尝试了 3 种不同的方式创建 VHDX。对于前两种方式,我尝试了磁盘2VHD
像这样(我尝试过使用\\?\volume
和不使用\\?\volume
分区):
我尝试的第三种方法是直接从 Hyper-V 进行,在那里我可以说我想从物理驱动器创建 VHDX。
但它们最终的结果都是相同的,即 VHDX 损坏。
我从某处读到过,我需要mountvol x: /s
首先使我的 EFI 分区对 disk2vhd 可见,但mountvol
似乎不再有了吗/s
?
我如何才能获得可用的 VHDX?谢谢
答案1
我建议在启动连接磁盘的虚拟机时bootrec /fixboot
这样做,但为了在您的案例中多写一些我的提示,因为我看到您的 C 盘实际上是 E 盘,也请检查一下;bootrec /rebuildbcd
bcdedit
从正确的 Microsoft Windows 安装介质(正确的体系结构和操作系统版本)启动虚拟机。 选择适当的键盘布局和语言选项,然后单击Next。单击修复您的计算机。 选择要修复的操作系统,然后单击Next。单击开始 > 运行,键入 cmd ,然后单击OK。键入bcdedit
并按 Enter。在标识符设置为 的 Windows 启动管理器标题下{bootmgr}
,您可能会看到设备已设置为启动。同样,在标识符设置为 的 Windows 启动加载程序下{default}
,您可能会看到设备和 osdevice 已设置为启动。 应根据您的环境正确设置这些项。通常它们显示为partition=C:
。在某些情况下,{default}
标识符可能将它们设置为partition=E:
。
运行以下命令来更正配置:
笔记:bcdedit
位于此路径:c:\windows\system32
。
bcdedit /set {bootmgr} device partition=C:
bcdedit /set {default} device partition=C:
bcdedit /set {default} osdevice partition=C:
在命令提示符下输入 exit 并选择关机。重新配置现在应该成功完成。如果再次失败,请重复步骤 1 至 7,然后运行这些命令将默认设备设置为partition=E:
bcdedit /set {bootmgr} device partition=C:
bcdedit /set {default} device partition=E:
bcdedit /set {default} osdevice partition=E: