重建Windows引導分割槽

立体风發表於2024-05-15

windows+linux 雙啟動 解除安裝linux,重建windows引導(UEFI)
以下內容操作具有風險,操作前請提前備份資料。建議由有豐富經驗的人使用,需要掌握diskpart。

背景

使用ubuntu+win10 dual boot後,需要重置回純淨win10系統。

BCD是Boot Config Data的縮寫。
UEFI模式安裝win10 + Ubuntu雙系統後,由於Ubuntu會使用grub2託管啟動項,所以解除安裝最大的難點在於如何重建windows啟動索引。

步驟

  1. 重建windows啟動
  2. 刪除ubuntu安裝分割槽並歸入windows磁碟
  3. 刪除bios menu
  4. 刪除efi/ubuntu

解除安裝殘留主要包括:

  1. bios的boot選單,可以直接在bios的boot設定中,使用delete刪除ubuntu啟動項,
  2. efi/ubuntu中的殘留檔案。可透過DiskGenius圖形化介面瀏覽分割槽中檔案進行刪除,
    也可使用windows的diskpart掛載efi分割槽,刪除efi/ubuntu目錄,詳細操作如下:
cmd #管理員許可權執行,下同
diskpart
list volume
select volume x #選擇efi對應卷,fat32的,x為卷id
assign letter=p
exit

p:
dir
cd efi
rd /s ubuntu

#去除efi分割槽載入點(不手動去除,重啟後也會消失)
diskpart
list volume
select volume p
remove letter=p

重建引導推薦使用windows自帶的命令列工具:bcdboot、bootrec。

bcdboot windows安裝後都會攜帶,各類PE中也包含。使用也較為簡單,但使用後高階啟動選項中會丟失Windows RE(Recovery Environment,恢復環境)相關功能選項。

bootrec 恢復較為完整,不過必須進入完整的Windows RE才能使用。

UEFI引導方式,啟動是由EFI分割槽控制的,EFI分割槽目錄結構如下:

EFI
-Boot
--bootx64.efi
-Microsoft
-Ubuntu
-fedora
...

efi分割槽中的檔案,可使用diskgenius工具直接管理,也可透過diskpart掛載管理。

bcdboot

bcdboot是重建 Windows 啟動項的最簡方式。找到windows安裝卷,並在命令列中指定。即可重新生成 Boot 與 Microsoft 目錄

diskpart
list volume
exit

#注意如果是PE啟動,此處一般不是c盤而是d盤,需要使用list volume顯示的系統分割槽所在磁碟機代號
bcdboot c:\windows
#完整命令,p:為efi分割槽磁碟機代號,需要使用diskpart掛載efi分割槽並分配磁碟機代號,在前文解除安裝殘留內容中有命令列樣例
bcdboot c:\windows /s p: /f UEFI 

bcdboot執行後即可去除 Ubuntu 啟動項,重啟可透過Windows啟動。

相關文章