如何在Windows 10/Server 2015上镜像(RAID1)启动GPT硬盘驱动器?

时间:2020-01-09 10:47:01  来源:igfitidea点击:

本文很好地向我们展示了如何通过两个GPT磁盘创建软件镜像(RAID1),其中两个Windows Server 2015/Windows 10安装了UEFI。考虑一下功能齐全的BCD引导加载程序配置,该配置可提供正确的Windows引导并在驱动器发生故障时保护OS和数据。

因此,我有一台简单的计算机,具有UEFI架构和两个相同的50GB磁盘,但没有内置RAID控制器。我们的任务是在第一个GPT磁盘上安装操作系统(Windows Server 2015,Windows 10或者免费的Hyper-V服务器),然后从两个磁盘创建软件镜像(RAID1)。

在大多数情况下,如果在软件和硬件RAID之间进行选择,则最好选择后者。如今,即使是家庭用户也可以使用带有集成物理RAID控制器的主板。

在DVD/U盘上写入安装Windows ISO镜像,从该设备启动计算机(以UEFI模式,而不是传统模式)并运行Windows Server 2015的安装。

安装完成后,打开"磁盘管理"管理单元(diskmgmt.msc),以确保第一个磁盘正在使用GPT("磁盘属性"->"卷"->"分区样式">" GUID分区表"),第二个磁盘是空(未分配)。

为磁盘2上的镜像准备GPT分区表

使用管理员权限运行命令提示符,然后运行diskpart。进入:

DISKPART>List disk

如我们所见,系统中有两个本地磁盘:

  • Disk 0– 具有GPT的磁盘,Windows安装在此
  • Disk 1– 空的未分配磁盘

以防万一,再次清洁第二张磁盘并将其转换为GPT:

Select disk 1  
clean  
Convert GPT  

显示第二个磁盘上的分区列表:

List part

如果磁盘2上至少有一个分区(在我的示例中为分区1,带有保留标签和大小为128 Mb),则将其删除:

Sel part 1  
Delete partition override  

显示第一个磁盘(磁盘0)上的分区列表。然后,我们将必须在磁盘1上创建相同的分区。

Select disk 0  
List part  

有4个分区:

  • 恢复450 MB,带有WinRE的恢复分区
  • 系统99MB,一个EFI分区(有关GPT磁盘上的分区结构的更多信息)
  • 保留16MB,MSR分区
  • 主49GB,Windows镜像的主分区

在磁盘1上创建相同的分区结构:

Select disk 1  
Create partition primary size=450  
format quick fs=ntfs label="WinRE"  
set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"  
create partition efi size=99  
create partition msr size=16  
list part  

如何将磁盘转换为动态磁盘并创建镜像磁盘?

然后将两个磁盘都转换为动态磁盘:

Select disk 0  
Convert dynamic  
Select disk 1  
Con dyn  

为系统驱动器(驱动器号C :)创建一个镜像。在磁盘0上选择一个分区,然后在磁盘1上为其创建镜像:

Select volume c  
Add disk=1  

将显示以下消息:

DiskPart succeeded in adding a mirror to the volume

打开磁盘管理,并确保驱动器C:同步已启动(重新同步)。请等到结束,最多可能需要几个小时,具体取决于C:分区的大小。

引导Windows时,将显示Windows引导管理器菜单,我们可以其中选择要引导的磁盘。如果未手动选择磁盘,则系统将尝试在30秒内从第一个磁盘引导:

  • Windows Server 2015
  • Windows Server 2015 第二plex

但是,问题在于,引导加载程序配置仅存储在第一个驱动器上,如果丢失,我们将无法从第二个驱动器引导Windows,而无需执行其他操作。实际上,我们仅在第二张磁盘发生故障时保护了数据(但未保护Windows Bootloader)。

无法使用软件Windows RAID创建完整功能的EFI分区镜像。由于操作系统启动文件位于EFI分区上,因此,如果"第一张"磁盘发生故障,那么我们将无法从"第二张"磁盘进行引导,而无需手动修复EFI引导加载程序。对于初学者来说这很难,并且要花一些时间(如果周围有很多生气的用户,我们可能没有时间)。

现在,很好地向我们展示如何将EFI分区复制到第二个磁盘并更改BCD引导加载程序配置,以启用从第一个驱动器和第二个驱动器引导Windows的能力。

如何为EFI分区创建GPT镜像?

然后,我们必须在镜像的第二个磁盘上准备EFI分区,以便计算机可以使用该分区来引导Windows。将驱动器号S:分配给磁盘1上的EFI分区,并将其格式化为FAT32:

Select disk 1  
Select part 2  
assign letter=S  
format fs=FAT32 quick  

然后将字母P:分配给磁盘0上的EFI分区:

select disk 0  
select partition 2  
assign letter=P  
exit  

如何将EFI分区和BCD存储复制到另一个驱动器?

使用以下命令显示当前的BCD引导程序配置:

bcdedit /enum

创建镜像时,VDS服务已自动为第二个镜像磁盘(标记为Windows Server 2015辅助plex)添加了BCD条目。

为了允许在第一个磁盘出现故障时从第二个磁盘上的EFI分区启动,必须更改BCD配置。

为此,请复制当前的Windows Boot Manager配置:

bcdedit /copy {bootmgr} /d "Windows Boot Manager Cloned"
The entry was successfully copied to {44d1d6bf-xxxxxxxxxxxxxxxx}

然后复制配置ID,并在以下命令中使用它:

bcdedit /set {44d1d6bf-xxxxxxxxxxxxxxxx} device partition=s:

如果正确完成,将显示以下消息:

The operation completed successfully.

列出当前的Windows启动管理器(

bcdedit /enum

) 配置。请注意,引导加载程序现在具有两个选项,可用于从不同磁盘上的EFI分区进行引导(默认和恢复对象)。

然后,我们必须将BCD存储从磁盘0的EFI分区复制到磁盘1:

P:  
bcdedit /export P:\EFI\Microsoft\Boot\BCD2  
robocopy p:\ s:\ /e /r:0  

重命名磁盘1上的BCD存储:

Rename s:\EFI\Microsoft\Boot\BCD2 BCD

并删除磁盘0上的副本:

Del P:\EFI\Microsoft\Boot\BCD2

如果第一个磁盘出现故障,则需要在Windows引导管理器(引导菜单)中选择" Windows引导管理器已克隆"项,然后选择Microsoft Windows Server 2015辅助plex才能正确引导Windows。

如果其中一个磁盘发生故障,我们将在"磁盘管理"管理单元中收到"失败的冗余"消息。

在这种情况下,我们将必须更换故障磁盘,删除镜像配置并从头开始创建软件RAID 1.