如何在 Windows Server 2008 中的 GUID 分区表 (GPT) 设置动态启动分区镜像

本文包含的步骤和示例介绍了如何在 Windows Server 2008 中的 GUID 分区表 (GPT) 上设置动态启动分区镜像。

适用于:  Windows Server 2012R2
原始 KB 编号:   951985

简介

此分步文章介绍如何在 Windows Server 2008 中的 GUID 分区表 (GPT) 磁盘上成功设置动态启动分区镜像。 与 32 位版本的 Windows 上的主启动记录 (MBR) 镜像不同,在 GPT 磁盘上成功创建和启动镜像启动卷需要执行更多步骤。 本文还介绍如何在主磁盘故障后恢复。

必须具有内置启动Diskpart.exeBcdedit.exe,在 Windows Server 2008 中的 GPT 磁盘上创建镜像启动卷。 可以使用磁盘管理控制台执行其中一些任务。 但对于其他任务,您必须使用内置Diskpart.exe实用工具。

为保持一致和易于使用,本文使用本文Diskpart.exe的"通用实用工具"。 有关任何命令的帮助,Diskpart.exe Diskmgmt.msc,然后打开"帮助"菜单上的" 帮助" 主题。 本文中的过程中描述的步骤使用真实示例。

本文中的过程显示了每个命令返回的预期结果。 在这些过程中,磁盘 0 是主系统和启动驱动器,磁盘 1 是辅助驱动器。

备注

有关Windows Server 2012,请参阅以下 TechNet 博客文章:
每日提示:为磁盘镜像配置Windows Server 2012

更多信息

准备用于镜像的辅助驱动器

在设置启动卷镜像之前,我们建议你在计算机中包含可扩展固件接口和 EFI 分区 (GPT) 。 EFI 分区包含用于启动操作系统的系统文件。 磁盘必须具有 EFI 分区以启动。 如果主系统驱动器 (磁盘 0) 失败,可以使用第 1 磁盘 (驱动器上的 EFI) 启动操作系统。 本部分介绍如何在辅助驱动器上创建和准备新的 EFI 和 Microsoft 保留 (MSR) 分区。 只能使用Diskpart.exe创建所需的 EFI 和 MSR 分区。 你不能使用磁盘管理控制台创建或镜像 EFI 或 MSR 分区。

在开始以下过程之前,请确保你有另一个未分配可用空间大于或等于系统容量和主磁盘启动分区的基本磁盘。 如果已将备用驱动器转换为动态磁盘,请按照以下步骤操作之前将其恢复为基本驱动器。

  1. 在命令提示符下,运行 Diskpart.exe 该实用工具。

    备注

    这将启动 diskpart 控制台。 初始化控制台后,将显示 DISKPART>。 diskpart 控制台现在已准备好输入命令。

  2. 选择要作为辅助驱动器的磁盘,然后将该驱动器转换为 GPT。 本示例中,磁盘 1 用于辅助 (镜像) 驱动器。

    备注

    选择的磁盘不得包含任何数据分区。 此外,磁盘必须是原始基本磁盘,其未分配空间大于或等于主系统磁盘的容量。

    以下是在命令提示符下键入的命令。 命令采用粗体格式,有关命令或屏幕内容的注释采用纯文本格式。

    DISKPART> Select disk 1
    Disk 1 is now the selected disk.
    
    DISKPART> Convert GPT  
    Diskpart successfully converted the selected disk to GPT format.
    
    DISKPART> List partition  
    
    Partition ###   Type             Size      Offset  
    --------------- ---------------- --------- -------  
    Partition 1     Reserved         128 MB    17 KB
    

    备注

    如果发现显示多个分区,则表明选择了错误的驱动器,或者没有从原始驱动器开始。 请更正此问题,然后再继续,否则可能发生数据丢失。

  3. 选择磁盘 1 上的分区 1,然后将其删除。 必须使用替代命令删除 MSR 分区中的 Microsoft (保留) 。 创建所需的 EFI 分区后,将重新创建一个新的 MSR 分区。

    DISKPART> Select partition 1  
    Partition 1 is now the selected partition.  
    
    DISKPART> Delete partition override  
    Diskpart successfully deleted the selected partition.  
    
  4. 选择磁盘 0,然后列出磁盘 0 上的分区。 通过列表命令的输出,在磁盘 1 上新建 EFI 和 MSR 分区,这些分区的大小与磁盘 0 上的 EFI 和 MSR 分区相同。

    DISKPART> Select disk 0  
    Disk 0 is now the selected disk.  
    
    DISKPART> List partition  
    
    Partition ###       Type             Size     Offset  
    ----------------- ---------------- --------- -------  
    Partition 1  System                 200 MB   1024 KB <- EFI PARTITION  
    Partition 2  Reserved               128 MB   201 MB <- MSR PARTITION  
    Partition 3  Primary                50 GB    329 MB
    
    DISKPART> select disk 1  
    Disk 1 is now the selected disk.  
    
    DISKPART> create partition efi size=200  
    Diskpart succeeded in creating the specified partition.  
    
    DISKPART> create partition msr size=128  
    Diskpart succeeded in creating the specified partition  
    
    DISKPART> list partition  
    
    Partition ### Type              Size   Offset
    ------------- ---------------- ------- -------
    Partition 1   System           200 MB  1024 KB
    *Partition 2  Reserved         128 MB  201 MB
    

将主驱动器和辅助驱动器转换为动态磁盘

必须先将主 (源) 驱动器 (磁盘 0) 和辅助 (目标) 驱动器 (磁盘 1) 转换为动态磁盘,然后才能创建镜像。 将两个磁盘转换为动态磁盘后,可以创建镜像。 可以使用磁盘管理控制台或Diskpart.exe将主驱动器和辅助驱动器转换为动态磁盘。

使用 Diskpart.exe 实用程序时,选择要转换为动态磁盘的驱动器,然后将该驱动器转换为动态磁盘。 你必须在辅助和主 GPT 驱动器上执行此步骤。 若要将主驱动器和辅助驱动器转换为动态磁盘,请按照以下步骤操作:

DISKPART> Select disk 1  
Disk 1 is now the selected disk  

DISKPART> Convert dynamic  
Diskpart successfully converted the selected disk to Dynamic format.  

DISKPART> Select disk 0  
Disk 0 is now the selected disk  

DISKPART> Convert dynamic  
DiskPart successfully converted the selected disk to dynamic format.  

DISKPART> Exit  
Leaving Diskpart...  

建立从启动卷到辅助驱动器的镜像

将主驱动器 (disk 0) 和辅助驱动器 (disk 1) 转换为动态磁盘后,你可以建立从启动卷到辅助驱动器的镜像。 为此,可以使用磁盘管理控制台或Diskpart.exe实用工具。 若要使用应用程序实用程序Diskpart.exe,请按照以下步骤操作。

  1. 在 DISKPART>提示符下,选择启动卷 (C:) ,然后将该卷镜像到磁盘 1 (辅助驱动器) 。

    DISKPART> Select volum
    Volume 1 is the selected volume.  
    
    DISKPART> add disk=1  
    Diskpart succeeded in adding a mirror to the volume.  
    
  2. 等待卷同步完成,然后退出Diskpart.exe。 您可以在 Diskmgmt.msc 控制台中检查同步进度。

设置 EFI 分区的格式

现在必须将 BCD 存储和 EFI 分区的内容从主驱动器 (磁盘 0) 复制到第 1 磁盘 (辅助驱动器) 。

备注

在任一驱动器上修改 BCD 存储时,必须执行这些步骤。

使用 Diskpart.exe实用程序选择辅助驱动器上的 EFI 分区,然后向 EFI 分区分配一个字母,以便可以设置该分区的格式。 在下面的示例中,驱动器号"S"分配给辅助驱动器上的 EFI 分区。 你可以将任何可用的驱动器号用于此步骤。

DISKPART> Select disk 1  
Disk 1 is now the selected disk.  

DISKPART> Select partition 1  
Partition 1 is now the selected partition.  

DISKPART> Assign letter=S  
DiskPart successfully assigned the drive letter or mount point.  

使用 Diskpart 格式化"S"分区以使用 FAT32 文件系统。 系统无法从 EFI 分区启动,除非系统已格式化为使用 FAT32 文件系统。 为此,请键入以下命令,然后按 Enter:

DISKPART> format fs=FAT32 quick  

Select the EFI partition on the primary drive (disk 0) , and then assign a drive letter to that EFI partition. 本示例中,驱动器号"P"分配给磁盘 0 上的主 EFI 分区。 你可以将任何可用的驱动器号用于此步骤。

DISKPART> Select disk 0  
Disk 0 is now the selected disk.  
  
DISKPART> Select partition 1  
Partition 1 is now the selected partition.  

DISKPART> Assign letter=P  
DiskPart successfully assigned the drive letter or mount point.  

退出 Diskpart。

使用Bcdedit.exe配置镜像磁盘的启动条目

使用 BCDedit 命令查看当前Windows条目。 在"添加磁盘"操作中创建镜像期间,卷磁盘服务 (VDS) 在 Windows Server 2008 启动配置(也称为 BCD 存储)中为磁盘 1 上的 Windows 启动加载程序创建了一个辅助条目。 若要查看当前启动Windows,请按照以下步骤操作:

  1. 打开命令提示符。

  2. 在命令提示符下,键入 P: ,然后按 Enter 更改为驱动器 P。

  3. 在命令提示符下,键入 cd EFI\Microsoft\Boot ,然后按 Enter 更改为 Boot 文件夹。

  4. 在命令提示符下,键入 bcdedit /enum ,然后按 Enter。 然后,你将看到类似于以下内容的输出:

    Windows启动管理器
    --------------------
    标识符 {bootmgr}
    device partition=P:
    path \EFI\Microsoft\Boot\bootmgfw.efi
    description Windows Boot Manager
    locale en-US
    继承 {globalsettings}
    默认 {current}
    displayorder {current}
    {1ba28ce6-d91e-11dc-bc7e-e72bb3afd58e}
    toolsdisplayorder {memdiag}
    timeout 30

    Windows启动加载程序
    -------------------
    标识符 {current}
    device partition=C:
    path \Windows\system32\winload.efi
    description Microsoft Windows Server 2008
    locale en-US
    继承 {bootloadersettings}
    osdevice partition=C:
    systemroot \Windows
    resumeobject {b158d5f9-d91f-11dc-bc7e-e72bb3afd58e}
    nx OptOut

    Windows启动加载程序
    -------------------
    标识符 {1ba28ce6-d91e-11dc-bc7e-e72bb3afd58e}
    device partition=C:
    path \Windows\system32\winload.efi
    description Microsoft Windows Server 2008 - 辅助 plex
    locale en-US
    继承 {bootloadersettings}
    osdevice partition=C:
    systemroot \Windows
    resumeobject {b158d5f9-d91f-11dc-bc7e-e72bb3afd58e}
    nx OptOut

    The Windows Boot Loader with the description, "Microsoft Windows Server 2008 - secondary plex," was created by VDS during the "add disk" operation. Windows 启动加载程序条目"Partition=C:"表示镜像的卷 C,并且此条目引用从磁盘 1 启动 Windows Server 2008 的磁盘 1 上的 Winload.efi 文件副本。接下来,创建当前 Windows 启动管理器的副本,以便可以从 EFI 固件启动菜单使用该文件使 Windows Server 2008 从磁盘 0 或磁盘 1 启动。 bcdedit /copy 命令将当前 Windows 启动管理器条目复制到一个新的 Windows 启动管理器条目,其说明为"Windows已克隆启动管理器"。 bcdedit /set 命令使用新的 Windows 启动管理器的 GUID,该命令将设备分区设置为引用位于磁盘 1 上"S"分区上的 Bootmgr.efi 文件的副本。 下面是 GUID 的示例:

    FD221F0A-5B5D-484A-99FE-DEB4B3F90C32

以下示例演示如何使用 bcdedit 命令。

  1. 在命令提示符下,键入 bcdedit /copy {bootmgr} /d "Windows Boot Manager Cloned" ,然后按 Enter。 将显示类似于以下内容的输出:

    条目已成功复制到 { GUID }。

  2. 在命令提示符下,键入 bcdedit /set { GUID } device partition=s:
    ,然后按 Enter。 在此命令中, 将 GUID 替换为上一个命令输出中的 GUID。 将显示类似于以下内容的输出:

    操作成功完成。

  3. 在命令提示符下,键入 bcdedit /enum all ,然后按 Enter 验证所做的更改。 然后,你将看到类似于以下内容的输出:

    固件启动管理器
    ---------------------
    标识符 {fwbootmgr}
    displayorder {bootmgr}
    {1ba28ce0-d91e-11dc-bc7e-e72bb3afd58e}
    {1ba28ce1-d91e-11dc-bc7e-e72bb3afd58e}
    {1ba28cdf-d91e-11dc-bc7e-e72bb3afd58e}
    {1ba28cde-d91e-11dc-bc7e-e72bb3afd58e}
    {1ba28ce2-d91e-11dc-bc7e-e72bb3afd58e}
    {1ba28ce3-d91e-11dc-bc7e-e72bb3afd58e}
    {1ba28ce5-d91e-11dc-bc7e-e72bb3afd58e}
    {1ba28ce4-d91e-11dc-bc7e-e72bb3afd58e}
    {1ba28ce8-d91e-11dc-bc7e-e72bb3afd58e}
    timeout 2

    Windows启动管理器
    --------------------
    标识符 {1ba28ce8-d91e-11dc-bc7e-e72bb3afd58e}
    device partition=S:
    path \EFI\Microsoft\Boot\bootmgfw.efi
    description Windows Boot Manager Cloned
    locale en-US
    继承 {globalsettings}
    默认 {current}
    displayorder {current}
    {1ba28ce6-d91e-11dc-bc7e-e72bb3afd58e}
    toolsdisplayorder {memdiag}
    timeout 30

    Windows启动管理器
    --------------------
    标识符 {bootmgr}
    device partition=P:
    path \EFI\Microsoft\Boot\bootmgfw.efi
    description Windows Boot Manager
    locale en-US
    继承 {globalsettings}
    默认 {current}
    displayorder {current}
    {1ba28ce6-d91e-11dc-bc7e-e72bb3afd58e}
    toolsdisplayorder {memdiag}
    timeout 30

  4. 关闭命令提示符窗口。

    备注

    固件启动管理器显示顺序中的最后一个 GUID 与"S"分区Windows启动管理器的辅助 GUID 相同。 这意味着,当 EFI 固件显示固件启动菜单时,将在固件使用的 NVRAM 中同步描述为"已克隆 Windows 启动管理器"的新 Windows 启动管理器。 现在,有两个 NVRAM 条目用于Windows启动管理器,一个位于"P"分区,另一个位于"S"分区上。 EFI 固件在 EFI 启动菜单中列出这些条目。

将 EFI 分区和 BCD 存储复制到第二个驱动器

若要将 EFI 分区和 BCD 存储导出到第二个驱动器,请按照以下步骤操作:

  1. 将 BCD 存储导出到磁盘 0 上的 EFI 分区。 这样,你可以将 BCD 存储从磁盘 0 复制到磁盘 1。 为此,请按照下列步骤操作:

    1. 打开命令提示符。

    2. 在命令提示符下,键入 ,然后按 Enter 将 BCD 存储导出到名为 bcdedit /export P:\EFI\Microsoft\Boot\BCD2 "BCD2"的文件。 将显示类似于以下内容的输出:

      操作成功完成。

  2. 使用 命令将系统文件从主驱动器 (上的 EFI 分区) 复制到辅助驱动器 (上的 EFI 分区上的 Robocopy "S") 。 必须这样做以确保在磁盘 0 出现故障时辅助驱动器可以启动系统。 如果对 EFI 分区使用不同的字母,请确保使用正确的驱动器号。 为此,请在 robocopy p:\ s:\ /e /r:0 命令提示符下键入 ,然后按 Enter。

  3. 重命名磁盘 1 上的 BCD 存储,以便其与磁盘 0 上的存储的名称相匹配。 为此,请在命令提示符下键入 rename S:\EFI\Microsoft\Boot\BCD2 BCD,然后按 Enter。

  4. 删除磁盘 0 上的重复 BCD 存储。 为此,请在命令提示符下键入 del P:\EFI\Microsoft\Boot\BCD2,然后按 Enter。

  5. 删除分配给两个 EFI 分区的驱动器号。 此步骤是可选的,因为在系统重新启动后不会重新分配驱动器号。 若要删除分配给两个 EFI 分区的驱动器号,请按照以下步骤操作:

    1. 在命令提示符下,键入 diskpart.exe ,然后按 Enter。

    2. 在提示 DISKPART> 符下,键入 Select volume P

      第 1 卷是所选卷。

    3. 在提示 DISKPART> 符下,键入 Remove

      Diskpart 已成功删除驱动器号或装入点。

    4. 对"S"分区重复步骤 5b 和 5c。

使用新的 Windows Server 2008 启动条目测试辅助驱动器

更新 BCD 配置后,测试条目以确保在磁盘 0 出现故障时系统可以使用辅助驱动器启动。 为此,请按照下列步骤操作:

  1. 关闭计算机,然后重新启动计算机。

  2. 在启动菜单上,选择 EFI 中名为"已克隆启动管理器Windows启动条目。 此选项允许你重新启动到辅助Windows EFI 分区上的启动管理器。 然后,选择"Microsoft Windows Server 2008 - 辅助 plex"以从辅助驱动器启动 Windows Server 2008。

    备注

    在 MUI 环境中,Windows启动管理器中的辅助 plex 条目可能显示为"Microsoft Windows Server 2008 - ????? ?????". 可以使用 bcdedit /set { GUID } description "Description" 命令为辅助 plex 条目指定更有意义的名称。 例如,可以使用以下命令:bcdedit /set {7e4632e7-0b4d-11dd-813b-bcbfbfe8b578} description "Microsoft Windows Server 2008 - Secondary Plex"

    完成此步骤为辅助 plex 条目指定更有意义的名称后,请确保使用"将 EFI 分区和 BCD 存储复制到第二个驱动器"部分中介绍的步骤将 BCD 存储复制到辅助驱动器。

重新建立主启动驱动器镜像

如果主驱动器 (磁盘 0) 出现故障,则必须在辅助驱动器 (disk 1) 中启动计算机,然后重新创建镜像以将启动卷返回到容错状态。 为此,请按照下列步骤操作。

  1. 使用硬件供应商提供的方向替换故障的动态磁盘 0。 确保磁盘没有分区信息。 diskpart clean 命令可用于销毁磁盘上的任何现有分区信息。

    备注

    • 运行 diskpart clean 命令时请务必小心,因为它会损坏选定磁盘上的分区表,并且会使磁盘的内容不可访问。
    • 在此部分中,以前的主磁盘将继续称为磁盘 0,以前的辅助磁盘将继续称为磁盘 1。 但是,执行这些步骤后,磁盘 1 将成为新的主磁盘,磁盘 0 将是新的辅助磁盘。
  2. Select Windows Boot Manager Cloned to start the computer by using the EFI partition on the secondary drive. 当启动管理器出现时,选择 Microsoft Windows Server 2008 - 辅助 plex

  3. 导入位于磁盘 1 上 EFI 分区上的 BCD 存储。 这会将磁盘 1 上的 BCD 存储设置为活动系统存储,并允许对其进行修改。 为此,请按照下列步骤操作:

    1. 启动 DiskPart。

    2. 运行以下命令以选择磁盘 1 上的 EFI 分区,并为其分配驱动器号"S"。

      DISKPART> select disk 1  
      DISKPART> select partition 1  
      DISKPART> assign letter=s  
      
    3. 退出 DiskPart。

    4. 运行命令 bcdedit /import S:\EFI\Microsoft\Boot\BCD /clean 以从磁盘 1 上的 EFI 分区导入存储。

  4. 您必须破坏损坏的镜像。 但是,您必须先确定哪个磁盘是运行 diskpart 中断命令的正确磁盘。 完成此操作后,选择镜像卷 (Volume #) ,然后查看详细信息以确定您必须从哪个缺失的磁盘 (m#) 中断镜像。 为此,请按照下列步骤操作:

    1. 启动 DiskPart。

    2. 选择镜像卷,通常是C#卷(启动卷) :

      DISKPART> select volume c  
      
    3. 使用详细卷或列表磁盘命令确定缺失磁盘的标识符,通常为 m0:

      DISKPART> detail volume  
      
    4. 通过指定在步骤 5c 中获取的缺失磁盘的标识符来中断镜像 (例如,m0) :

      DISKPART> break disk=m0 nokeep  
      
    5. 列出卷以确保镜像已消失,并且该卷现在作为简单卷列出:

      DISKPART> list volume  
      
    6. 删除缺少的磁盘 (m0) :

      DISKPART> select disk m0  
      DISKPART> delete disk  
      
    7. 退出 DiskPart。

  5. 从 BCD 存储中删除所有过时的条目,以将系统返回到已知的干净状态。 此外,重命名条目以准确反映系统的当前状态。 为此,请按照下列步骤操作:

    1. 运行命令以确定 NVRAM 中描述为"Windows Boot Manager"且设备参数未知或缺少设备参数的条目的 bcdedit /enum all /v GUID。 确定此项的 GUID 后,使用命令设备 bcdedit /set {GUID} partition=s: 将条目指向磁盘 1。
    2. 使用命令的输出确定 NVRAM 中"Windows克隆启动管理器"条目的 bcdedit /enum all /v GUID。 确定此项的 GUID 后,使用 命令从 NVRAM 中删除磁盘 bcdedit /delete {GUID} 1 的旧条目。
    3. 在命令的输出中,查找一个名为"Windows Resume Application"的条目,该条目的设备参数未知 bcdedit /enum all /v 或缺少设备参数。 使用 命令删除 bcdedit /delete {GUID} 此条目。
    4. bcdedit /enum all /v 输出中,查找说明为"Windows Resume Application - Secondary Plex"的条目。 使用命令可重命名条目,以反映这现在是Windows plex 的 bcdedit /set {GUID} description "Windows Resume Application" Resume 应用程序条目。
    5. 在命令的输出中,查找描述为 bcdedit /enum all /v "Windows Server 2008"且设备参数未知或缺少设备参数的条目。 使用 bcdedit /delete {GUID} 命令删除此条目。
    6. bcdedit /enum all /v 输出中,查找说明为"Windows Server 2008 - Secondary Plex"的条目。 使用 命令重命名条目以反映这现在是主镜像 plex 的启动 bcdedit /set {GUID} description "Windows Server 2008" 管理器条目。
    7. 查找描述为"内存诊断Windows BCD 条目。 使用命令 bcdedit /set {GUID} device partition=s: 将条目指向位于磁盘 1 的内存测试人员。
    8. 运行命令 bcdedit /enum all /v 以验证 NVRAM 和 BCD 条目。
    9. 重启计算机。 选择"Windows启动管理器"和"Windows Server 2008"以在磁盘 1 中启动。
  6. 将新添加的磁盘转换为 GPT 格式,然后创建分区结构。 为此,请按照下列步骤操作:

    1. 启动 DiskPart。

    2. 将磁盘 0 转换为 GPT 格式:

      DISKPART> select disk 0  
      DISKPART> convert GPT  
      
    3. 删除磁盘 0 上自动创建的分区:

      DISKPART> list partition  
      DISKPART> select partition 1  
      DISKPART> delete partition override
      
    4. 记录磁盘 1 的分区布局以复制磁盘 0 上的布局:

      DISKPART> select disk 1  
      DISKPART> list partition  
      
    5. 复制磁盘 0 上磁盘 1 的布局。 若要计算此步骤的 MSR 分区的大小,请同时添加 MSR"保留"分区和 DiskPart for disk 1 中列出的"动态保留"分区的大小。 例如,如果 MSR 分区在磁盘 1 上为 127 MB,并且磁盘 1 上的"动态保留"分区为 1 MB,则磁盘 0 上创建一个 128 MB MSR 分区。 通常,EFI 分区应为 200 MB,MSR 分区应为 128 MB。 若要复制磁盘 1 的布局,请运行以下命令:

      DISKPART> select disk 0  
      DISKPART> create partition efi size=200  
      DISKPART> create partition msr size=128  
      
    6. 列出系统上的分区,以验证磁盘 0 是否同时包含 EFI 和 MSR 分区:

      DISKPART> list partition  
      
  7. 如果两个磁盘不是动态磁盘,请将这两个磁盘转换为动态磁盘:

    DISKPART> select disk 0  
    DISKPART> convert dynamic  
    DISKPART> select disk 1  
    DISKPART> convert dynamic  
    
  8. 将新磁盘 0 添加到启动卷的镜像:

    DISKPART> select volume c  
    DISKPART> add disk=0  
    
  9. 进行镜像重新同步时,在磁盘 0 上准备 EFI 分区:

    DISKPART> select disk 0  
    DISKPART> select partition 1  
    DISKPART> format fs=fat32 quick  
    

    Exit DiskPart

  10. 等待镜像重新同步完成。 您可以使用磁盘管理检查重新同步过程。

  11. 如果磁盘 0 上的 EFI 分区尚未分配驱动器号"P",并且磁盘 1 上的 EFI 分区尚未分配驱动器号"S",则向磁盘 0 和磁盘 1 上的 EFI 分区分配相应的驱动器号:启动 Diskpart。

     DISKPART> select disk 0  
     DISKPART> select partition 1  
     DISKPART> assign letter=p  
     DISKPART> select disk 1  
     DISKPART> select partition 1  
     DISKPART> assign letter=s  
    

    退出 DiskPart。

  12. 克隆 NVRAM 中磁盘 1 的启动管理器条目:

    1. 使用 命令克隆启动管理器 bcdedit /copy {bootmgr} /d "Windows Boot Manager Cloned" 条目。 记录此命令的输出中提供的新条目的 GUID。
    2. 使用 命令将克隆条目中的 device 参数设置为指向磁盘 0 上的 EFI bcdedit /set {GUID} device partition=p: 分区。 使用命令输出中的 bcdedit /copy GUID。
    3. 运行命令 bcdedit /enum all /v 以验证更改。
  13. 将磁盘 1 上的 EFI 分区的内容复制到磁盘 0 上的 EFI 分区,以便可以从磁盘 0 启动:

    1. 使用 命令导出活动 BCD 存储 bcdedit /export S:\EFI\Microsoft\Boot\BCD2
    2. 使用 命令将 EFI 分区从磁盘 1 复制到磁盘 0 robocopy s:\ p:\ /e /r:0
    3. 使用 命令 将磁盘上复制的 BCD 存储重命名为 rename P:\EFI\Microsoft\Boot\BCD2 BCD BCD。
    4. 使用 命令删除磁盘 1 上导出的重复 BCD 存储 del S:\EFI\Microsoft\Boot\BCD2
  14. 请按以下步骤操作:

    1. 删除在 DiskPart 中分配的驱动器号:

      DISKPART> select volume p  
      DISKPART> remove  
      DISKPART> select volume s  
      DISKPART> remove  
      
    2. 重新启动计算机以验证能否从磁盘 0 或磁盘 1 启动。

备注

默认情况下,启动条目将指向磁盘 1。 如果从磁盘 0 启动,并且如果在磁盘 0 中启动时必须修改 BCD 存储,则首先必须导入该存储:

  1. 启动 DiskPart。

  2. 选择磁盘 0 上的 EFI 分区,然后为其分配驱动器号"P":

    DISKPART> select disk 0
    DISKPART> select partition 1
    DISKPART> assign letter=p
    
  3. 退出 DiskPart。

  4. 运行命令 bcdedit /import P:\EFI\Microsoft\Boot\BCD /clean 以从磁盘 0 上的 EFI 分区导入存储。

备注

应始终从与启动计算机时选择的 NVRAM 条目对应的 BCD 条目启动。 例如,如果你选择了"Windows 启动管理器" (主磁盘) NVRAM 条目,你可能必须选择"Windows Server 2008" (主磁盘) BCD 条目,系统必须正确启动。 如果你选择了"Windows Boot Manager Cloned" (secondary disk) NVRAM 条目,你应该选择"Microsoft Windows Server 2008 - secondary plex" (secondary disk) BCD 条目。