无法使 VHD 可启动

无法使 VHD 可启动

我无法使我的 VHD 可启动。

我正在跟进这个行会逐字逐句地尝试创建可启动的 VHD。

应该BCDboot创建启动配置条目,以便 Windows 引导加载程序可以从 VHD 启动,并且我已经看到它成功了,但是,它就是不起作用:

D:>P:\windows\system32\bcdboot P:\windows /s P:
Boot files successfully created.

D:>BCDEdit

Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  partition=\Device\HarddiskVolume1
path                    \EFI\MICROSOFT\BOOT\BOOTMGFW.EFI
description             Windows Boot Manager
locale                  en-US
inherit                 {globalsettings}
default                 {current}
resumeobject            {c605aeaf-...8}
displayorder            {current}
toolsdisplayorder       {memdiag}
timeout                 30

Windows Boot Loader
-------------------
identifier              {current}
device                  partition=C:
path                    \Windows\system32\winload.efi
description             Windows 10
locale                  en-US
inherit                 {bootloadersettings}
recoverysequence        {c605aeb1-...8}
displaymessageoverride  Recovery
recoveryenabled         Yes
isolatedcontext         Yes
allowedinmemorysettings 0x15000075
osdevice                partition=C:
systemroot              \Windows
resumeobject            {c605aeaf-...8}
nx                      OptIn
bootmenupolicy          Standard
hypervisorlaunchtype    Auto

也就是说,device partition=P:没有该条目。当我尝试从 Hyper-V 启动它时,Hyper-V 告诉我没有引导加载程序。

可能出现什么问题?我该如何解决?(再次,我被关注这个行会逐字逐句地成功,直到我来到bcdboot&BCDEdit步骤。也就是说,我的所有步骤都与那里显示的完全一样。)

更新:

我不确定我是否正在使用 UEFI,因为这些就是我创建磁盘所需的全部内容:

select vdisk file=e:\vhd\winboot.vhd
attach vdisk
create partition primary
assign letter=v
active
format quick FS=NTFS Label=VHD

最重要的是,当选择 hyper-v 的代数类型时,我选择了第 1 代,我认为它不支持 UEFI。

答案1

如果您使用的是 UEFI,则需要将附加的 VHD 的分区表转换为 GPT:

  1. 访问 WinPE

答案2

随后的教程省略了创建启动分区以及 WinRE 的步骤:

  1. 通过以下方式创建正确的分区结构DiskPart
    1. 清除VHD的分区表并重新分区更简单(视频高清disk 0:)
      # Select disk and clear the partition table:
        Sel Dis 0
        Clean
      
      # Create WinRE partition:
        Cre Par Pri Offset=1024 Size=665 Id=27
        Format Quick Fs=ntfs Label=WinRE
      
      # Create Boot partition:
        Cre Par Pri Size=100
        Format Quick Fs=ntfs Label=Boot
        Active
      
      # Create System partition:
        Cre Par Pri
        Format Quick Fs=ntfs Label=System
      
      # Verify:
        Lis Par
        Lis Vol
      
        Exit
      
    2. 如果保留 VHD 的 [OS] 系统分区上的现有数据:
      # Select disk and [OS] System partition:
        Sel Dis 0
        Sel Par 1
      
      # Shrink System partition by 765MB [RAW]:
        Shrink Desired=765 Minimum=750
          # WinRE: 665MB, min 650MB
            # WinRE partition must have 320MB free (WinRE.wim is ~300MB in size)
          # Boot: 100MB
      
      # Create WinRE partition:
        Cre Par Pri Offset=1024 Size=665 Id=27
          # If it fails, remove Offset=1024
        Format Quick Fs=ntfs Label=WinRE
      
      # Create Boot partition:
        Cre Par Pri Size=100
        Format Quick Fs=ntfs Label=Boot
        Active
      
      # Verify:
        Lis Par
        Lis Vol
      

  2. 配置启动分区:
    1. 在 VHD 的 VM 中启动到 Windows 时:
      BCDboot C:\Windows /v
      
    2. 从 WinPE/WinRE:
      1. 通过 Windows 安装 ISO 将 VHD 的 VM 启动到 WinPE
      2. 通过打开终端SHIFT+F10
        BootRec /FixMBR && BootRec /FixBoot && BootRec /RebuildBCD
        
        /RebuildBCD可能会或可能不会找到操作系统,都可以
      3. 重启虚拟机

  3. 通过配置 WinRE 分区回答:
    • #2:如果 VHD 中没有 WinRE C:\Recovery%WinDir%\System32\Recovery\请将主机的复制WinRE.wim到 VHD 的%WinDir%\System32\Recovery\
    • #3:跳过(WinRE 分区创建)

相关内容