Windows Software Raid - UEFI GPT
前言
延續之前 Windows Software Raid - Legacy MBR 的技術分享 ,Windows 2003年代還會有一些低階Server有機會那樣做,在Intel® 快速儲存技術(Intel RST / IRST / RSTe / VROC)技術出來之後,現在Windows Software Raid在實務上基本上完全沒有人會去使用,如今一台Workstation等級的機器就算沒有Harware Raid Card都完全支援Intel Software Raid,比起Windows Software Raid來說好用簡單太多Performance又好,這種Windows Software Raid可謂是時代的眼淚,此篇 Windows Software Raid - UEFI GPT 相較於 Legacy MBR 在設定上更加麻煩、實用性上更低,基本上就是分享一下現代的Windows Server還是可以在UEFI GPT上還是可以做Software Raid,但...你這輩子應該都不會這樣做。
設定方式
測試環境
鍵人我使用Hyperv第二代來模擬UEFI GPT環境,HDD0先安裝好Windows 2022 OS,HDD1為同大小完全新的HDD,同時先刪除Recover磁區 (你真的在Server上用過Recover嗎 ?) (¬_¬")


建立鏡像磁碟(Mirror)
至 "電腦管理" => "磁碟管理",可看到 磁碟1 (HDD1) 是完全乾淨的磁碟


點及右鍵 => 連線

初始化磁碟


以"系統管理者身分"執行Powershell / cmd

先刪除HDD1的MSR
diskpart
list disk
sel disk 1
list par
sel par 1
delete par override
list par

重新建立 EFI Boot磁區與MSR
sel disk 0
list par
sel disk 1
create par efi size=100
create par msr size=16
list par

將 磁碟0、磁碟1 轉換為"動態磁碟"後,離開diskpart
sel disk 1
convert dynamic
sel disk 0
convert dynamic
exit

回到 磁碟管理,點選 磁碟0 上新增鏡像


Mirror進行中

Mirror完成

處理EFI Boot
Mirror是處理好了,但是EFI可不像是MBR直接使用Active來指定開機的磁區,所以在這裡我們必須對HDD1的EFI磁區進行處理,這樣一但出問題HDD1才能夠獨立開機。
首先先進Diskpart,將剛剛未格式化的EFI磁碟格式化為FAT32,並把HDD0 EFI掛載為P、HDD1 EFI掛載為S
diskpart
sel disk 1
sel par 1
assign letter=S
format fs=FAT32 quick
sel disk 0
sel par 1
assign letter=P
exit

透過bcdedit /enum可以確認到現在EFI的開機的GUID
P:
cd EFI\Microsoft\Boot
bcdedit /enum

※此指令只能在CMD下執行※
將現有 {bootmgr} Clone一份出來,並把S設定為相同的{GUID}
cmd
bcdedit /copy {bootmgr} /d "Windows Boot Manager Cloned"
bcdedit /set {GUID} device partition=S:

透過 bcdedit /enum all 可看到剛剛建立出來的開機選項
bcdedit /enum all

將剛剛的變更匯出為BCD2
bcdedit /export P:\EFI\Microsoft\Boot\BCD2

將P的資料全部複製到S
robocopy p:\ s:\ /e /r:0

將S的BCD2更名為BCD,並刪除P的BCD2
S:
cd EFI\Microsoft\Boot
ren BCD2 BCD
del P:\EFI\Microsoft\Boot\BCD2

回到diskpart,將磁碟代號 P、S 移除
diskpart
list vol
sel vol 1
remove letter P
sel vol 2
remove letter S
exit

到此EFI開機設定全數完成 (累...)
磁碟故障測試
關機,到Hyperv "設定"=>"韌體"中已經可以看到HDD1的 "Windows Boot Manager Cloned"

移除HDD0

將Windows Boot Manager Cloned開機順序提高至1

開機,使用第一個選項 HDD0 開機

無法開機,正常

點選Enter,重新選擇HDD1開機

開機正常,磁碟管理顯示"備援失敗"

至此,磁碟故障測試完成,如此確認了就算失去任何一顆HDD都能夠正常開機
重建Mirror
關機,我們將HDD0掛回來

選擇HDD1開機

裝置管理員確認已認到2顆HDD

磁碟顯示Mirror Fail,來移除鏡像




點選HDD0,匯入外部磁碟



將HDD0的舊磁區刪除


點選HDD1,重新建立Mirror


Mirror中

Mirror完成

後話
僅以此分享一下即使是現在 UEFI Bios 年代,Windows Software Raid 依然還能用
只是你這輩子應該都不會再去用他 …… ╮(╯_╰)╭
No Comments