快訊
2026-10-15
電腦疑難雜症

EFI 開機分割區壞掉怎麼辦?用 BCDBoot 重建 Windows 開機檔案

約 17 分鐘閱讀 · 38 次瀏覽
廣告

⚡ 站長快讀:核心重點

  • 文章屬性:疑難排除(⭐⭐⭐ 高風險:涉及磁碟分割與開機檔案)
  • 適用系統:Windows 10 / Windows 11(UEFI + GPT 安裝的機器)
  • 難易度 / 耗時:進階 / 約 30–60 分鐘(含開機到 WinRE 的時間)
  • 核心結論:動手前先問一句「ESP 還在不在」——這個分岔點決定你要下哪一組指令,也決定這次要不要碰到分割表。
  • 適用對象:開機卡在韌體畫面、或磁碟管理找不到那顆小分割區的人

📌 快速答案

一句話答案:EFI 開機分割區重建分兩種情況——ESP 還在就直接用 bcdboot 重寫開機檔;ESP 整個消失才用 diskpart 重建 FAT32 分割區,再跑 bcdboot 補回開機檔。


🧰 開始前的準備

  • 適用系統:Windows 10、Windows 11(以 UEFI 開機、系統碟為 GPT)
  • 權限需求:系統管理員;實際操作在 Windows RE 或安裝媒體的命令提示字元內進行
  • 需要工具:可開機的 Windows 安裝隨身碟(微軟官方下載 Windows 11 建立)、一支空白隨身碟(放備份)、若磁碟有加密則需要 BitLocker 復原金鑰
  • 預計耗時:約 30–60 分鐘

⚠️ 執行前必讀(⭐⭐⭐ 高風險段落)

本文會用到 diskpart 與 bcdboot,兩者都直接動到磁碟分割與開機檔案。diskpart 選錯磁碟或磁碟區編號,就會格式化到錯的分割區,該分割區的資料無法復原,而且沒有資源回收筒。 動手前:

1. 先接上電源(筆電請插著變壓器),過程中斷電可能讓分割表停在半完成狀態。

2. 資料先備份。若系統還進得去,先把重要檔案複製出來;若已經進不去,先用安裝隨身碟開機把資料抄到外接碟,再回來修開機。

3. 確認 BitLocker 狀態。微軟官方文件寫明,BitLocker 開機時會驗證安全性敏感的 BCD 設定,變更開機項目的設定值可能觸發復原模式;沒有復原金鑰就別動手。

🛑 停止條件清單(符合任一,請先停下)

  • 不確定這台是 UEFI 還是 Legacy BIOS 開機,也還沒查
  • 還沒完成資料備份
  • 磁碟有 BitLocker 加密,但手上沒有復原金鑰
  • 公司或學校控管的設備,未取得 IT 授權
  • 沒有可開機的安裝媒體或救援隨身碟
  • diskpart 的 list disk / list volume 輸出與本文描述明顯不符,你無法確定哪一顆是系統碟

🔍 症狀描述與錯誤訊息

直接結論:ESP 出問題的典型畫面,是「韌體找得到硬碟、卻找不到開機管理程式」,而不是硬碟完全沒反應。

EFI 系統分割區壞掉時,你會看到的通常是下面幾種其中之一:

  • 開機直接跳回主機板 LOGO,接著顯示 No bootable device 或 Default Boot Device Missing or Boot Failed 之類的訊息(這類字串由主機板或筆電廠商自訂,各家寫法不同)
  • 進到 Windows Boot Manager 的錯誤畫面,顯示 File: 加上某個開機檔路徑與一組狀態碼。常見的有 0xc000000f(微軟疑難排解文件以 File: \Boot\BCD、BCD 遺失或有誤為例)與 0xc0000225(同樣有官方疑難排解文件),以及站內另有專文的 0xc000000e
  • 開機時直接進入韌體設定畫面(BIOS/UEFI Setup),開機順序清單裡完全找不到「Windows Boot Manager」這一項
  • 用安裝隨身碟開機、進磁碟管理或 diskpart 後發現:Windows 那顆 NTFS 分割區還在、資料也在,但前面那個 100–300 MB 的小分割區不見了,或是變成 RAW、變成未配置空間

這幾種畫面的共通點很重要:你的 Windows 檔案通常一個都沒少。 壞掉的是那個負責「把韌體帶進 Windows」的小分割區,不是系統本身。這也是為什麼多數情況根本不需要重灌。

如果你的畫面是明確的錯誤碼,建議先看對應的專文分流,再回來做分割區層級的修復:錯誤碼 0xc0000225 的三種樣態拆解在Windows 出現 0xc0000225 無法開機?從 BCD 到 EFI 分割區完整修復,而 0xc000000e 的 UEFI/BIOS 分流則在Windows 開機錯誤 0xc000000e 怎麼修?先分清 UEFI 與 BIOS,再動 BCD。本文處理的是更上游的問題:分割區本身在不在、格式對不對。


🔎 問題根因

直接結論:ESP 會出事,常見的不是硬碟壞了,而是它被當成「莫名其妙的小分割區」給刪了、格式化了,或是裡面的開機檔案被覆蓋。

EFI 系統分割區是 UEFI 機器的固定成員。依微軟官方部署文件,UEFI 機器的預設分割配置是「系統分割區(ESP)+ MSR + Windows 分割區 + 修復工具分割區」四塊,ESP 就是韌體會去讀的那一塊,而 MSR 固定 16 MB、不會拿到磁碟代號。ESP 平常沒有磁碟代號、在檔案總管裡看不見,所以它最常見的死因有這幾種:

廣告
  • 被手動刪除:用第三方分割區工具「整理」磁碟時,看到一個沒有代號、只有一兩百 MB 的分割區,順手刪掉合併空間。
  • 被格式化成 NTFS:官方規格寫得很清楚,ESP 必須以 FAT32 格式化;有人手動把它改成 NTFS,韌體就再也讀不到。
  • 雙系統或還原軟體覆蓋:安裝 Linux、或用備份軟體還原整顆磁碟時,寫入的開機檔覆蓋掉原本的 Windows 開機項。
  • 韌體 NVRAM 的開機項掉了:分割區其實完好,是主機板裡記錄「Windows Boot Manager 在哪」的那筆資料被清掉(換主機板電池、清 CMOS、韌體更新後最常見)。

前三種要動分割區,第四種只要把開機項寫回去。先分清楚是哪一種,再決定下什麼指令,這是整篇文章最重要的一件事。


🔬 底層機制:UEFI 韌體到底怎麼找到 Windows?

直接結論:UEFI 開機不靠 MBR 的開機磁區,而是靠「NVRAM 裡的一筆開機項」加上「ESP 裡的 .efi 開機檔」;.efi 檔不見一定開不了,NVRAM 那筆不見則多半只剩 UEFI 規格的預設路徑可以勉強開。

傳統 BIOS 時代,韌體只認硬碟第一個磁區(MBR)的開機碼,所以修開機就是 bootrec /fixmbr 那一套。UEFI 完全不同:

  1. 韌體讀 NVRAM 的開機項清單。主機板上有一塊非揮發性記憶體,記錄著「開機項 X 指向某磁碟的某個分割區的某個 .efi 檔案」。Windows 安裝時建立的那筆就叫 Windows Boot Manager。
  2. 依路徑載入 ESP 裡的開機管理程式。以 Windows 來說,開機檔案就放在 ESP 的 \EFI\Microsoft\Boot\ 這個目錄底下——官方文件說明 bcdboot 的 /f UEFI 參數時明講,它建立的正是 \Efi\Microsoft\Boot 目錄並把所需的開機環境檔案複製進去。
  3. 開機管理程式讀同一個資料夾裡的 BCD 存放區,決定要載入哪一份 Windows,再把控制權交給系統核心。

這裡有一個多數中文教學不會講、但實務上很關鍵的機制:如果 NVRAM 裡那筆開機項不見了,UEFI 規格還留了一條退路。 微軟官方文件在說明 bcdboot /s 參數時明白寫著,依 UEFI 2.3.1 規格,韌體的預設行為會去開啟 EFI 系統分割區裡的 \efi\boot\bootx64.efi 這個檔案。這就是為什麼有些機器明明開機項掉了,插著隨身碟卻還是能開機——韌體走的是這條預設路徑。

理解這一層,你就會知道修復其實在做兩件事:把檔案放回 ESP 的正確路徑,以及把 NVRAM 那筆開機項寫回去。而 bcdboot 加不加 /s 參數,決定的正是「第二件事會不會被做」——下面方法一會詳細拆解。

想把開機的完整四階段補齊,可以延伸看按下電源鈕後發生什麼事?電腦開機流程完全解密。

廣告
EFI 開機分割區重建判斷流程:先確認 ESP 是否存在與格式,再決定用 bcdboot 重寫或 diskpart 重建

🛠️ 解決方案

⚠️ 以下所有指令都在 Windows RE 或安裝媒體的命令提示字元內執行。用安裝隨身碟開機後,在「立即安裝」畫面按 Shift + F10 即可叫出命令列(微軟官方文件亦以此方式進入)。進入後第一件事永遠是 diskpart → list volume,先看清楚哪個代號是誰,再下任何會寫入的指令。

步驟 0:先備份現有的 ESP(所有方法共用)

在改任何東西之前,先把現況留一份。這一步是後面「回退步驟」的唯一依據:

diskpart
list volume

從輸出裡找出兩個東西:Windows 所在的 NTFS 磁碟區(通常有 Windows 標籤、容量最大),以及 FAT32、容量約 100–300 MB、標籤多半是 System 或 ESP 的那個磁碟區。注意 WinRE 環境下的磁碟代號跟你平常在 Windows 裡看到的不一樣,不要預設 Windows 就是 C:。

找到後,替 ESP 指派一個沒被占用的代號(以下以 S: 為例),再退出:

select volume 2
assign letter=S
exit

接著把整個 ESP 內容複製到外接碟(以下假設外接碟是 F:):

xcopy S:\ F:\ESP_backup\ /s /e /h /k /y

如果 list volume 裡根本找不到 FAT32 的小分割區,代表 ESP 已經不存在,請直接跳到方法二。

方法一:ESP 還在,只是開機檔壞了(最常見)

直接結論:分割區還在、格式也還是 FAT32 的話,一行 bcdboot 就能把整組開機檔與 BCD 重建回去。

廣告

微軟官方在 BCDBoot 文件裡把這個情境列為明確用途之一:「修復系統分割區——若系統分割區已損毀,可用 BCDBoot 以 Windows 分割區內的新複本重新建立系統分割區檔案。」官方給的步驟是:開機到命令列 → 用 diskpart 確認代號 → 選擇性格式化系統分割區 → 執行 bcdboot。

假設步驟 0 查到 Windows 在 D:(WinRE 下常見),直接執行:

bcdboot D:\Windows

這裡是本文最想提醒你的一點:先不要加 /s S: /f UEFI。 中文圈教學幾乎一律要你打完整那一串,但官方文件對 /s 的說明是:「此選項不應用於典型的部署情境」,用途是「當你要設定一顆將在另一台電腦上開機的磁碟時」。更關鍵的是官方這句——BCDBoot 預設會在韌體 NVRAM 建立一筆 Windows Boot Manager 項目;但若使用 /s 選項,這筆項目就不會被建立,改為依賴韌體的預設設定去找 ESP 裡的 \efi\boot\bootx64.efi。

換句話說,你正在修的是這台機器自己,而且很可能連 NVRAM 開機項都掉了,這時候加 /s 反而會讓最需要被重建的那一筆不會生成。不加 /s 時,BCDBoot 會自行寫入 EFI 系統分割區並建立韌體項目——這才是單機修復要的行為。

真正需要 /s 的是這兩種場合:把硬碟接到另一台電腦上修、或是要做成能同時支援 UEFI 與 BIOS 開機的隨身碟(官方範例為 bcdboot C:\Windows /s S: /f ALL)。

執行完會顯示開機檔案建立成功的訊息(實際字串為工具輸出,官方文件未收錄訊息文字);想看詳細過程可加 /v 啟用詳細模式。若你希望保留原本的 UEFI 開機順序,官方另提供 /p(保留現有位置)與 /addlast(加在最後)兩個參數,兩者不可同時使用。

方法二:ESP 整個消失了,先用 diskpart 重建

直接結論:ESP 不見時要自己建一個新的 FAT32 分割區,大小依官方最低規格為 200 MB(4K 原生磁碟為 300 MB),建完再回頭跑方法一的 bcdboot。

先確認磁碟有沒有足夠的未配置空間。若沒有,得先從 Windows 分割區壓縮出一塊——這一步請用能保留資料的工具處理,不要在 diskpart 裡硬幹。

🛑 這一段是全文最危險的地方。 接下來要下 select disk,選錯編號後續指令就會寫到別顆硬碟。請務必先跑 list disk,用容量確認你要的是哪一顆;有外接碟的話,建議先把外接碟拔掉再操作。

本文不使用、也請你不要使用官方部署腳本裡的 clean 指令。 微軟的 CreatePartitions-UEFI.txt 是給全新機器部署用的,開頭就是 select disk 0 接 clean,那會清空整顆磁碟的分割表。修復情境只需要借用其中建立 ESP 的那三行。

在 diskpart 內依序執行:

list disk
select disk 0
create partition efi size=200
format quick fs=fat32 label="System"
assign letter=S
exit

幾個必須說清楚的細節:

  • size=200 的來源:微軟官方 UEFI/GPT 分割區文件明訂 ESP 的最低大小為——512 native / 512e 磁區的磁碟至少 200 MB,4K native 磁區的磁碟至少 300 MB;官方部署腳本 CreatePartitions-UEFI.txt 內的值同樣是 create partition efi size=200,並註明 4Kn 磁碟改為 300。若你手上的教學寫 size=100,那是更早期的寫法,依現行官方文件已不符最低規格。
  • 原廠配置各機不同:OEM 出貨的 ESP 實際大小、以及磁碟區編號排列,各品牌各版次都不一樣,不要拿別台機器的截圖數字直接套用;以你自己 list volume 的輸出為準。
  • 檔案系統只能是 FAT32:官方文件寫明「EFI 系統分割區必須使用 FAT32 檔案格式」,格式化成 NTFS 或 exFAT 一律開不了機。
  • ESP 不要放別的東西:官方同一份文件說明,這個分割區由作業系統管理,不應存放任何其他檔案,包含 Windows RE 工具。

建好之後,回到方法一執行 bcdboot D:\Windows(把 D: 換成你實際的 Windows 磁碟代號)。

方法三:分割區沒事,是韌體開機項掉了

直接結論:若 ESP 完好、檔案也都在,卻在韌體開機順序裡找不到 Windows Boot Manager,問題出在 NVRAM,重跑一次不帶 /s 的 bcdboot 通常就會把項目補回去。

判斷方式很簡單:步驟 0 裡指派代號後,檢查這個路徑存不存在:

dir S:\EFI\Microsoft\Boot\

這個目錄與裡面的開機檔案都在、但機器就是不認,那就是 NVRAM 的開機項問題。處理順序建議這樣:

  1. 先在 WinRE 執行 bcdboot D:\Windows(不加 /s),讓它重新寫入韌體項目。
  2. 重開機進韌體設定(BIOS/UEFI Setup),確認開機順序清單裡出現 Windows Boot Manager,並把它排到第一順位。不熟悉韌體介面的話,建議先查一下自家主機板的開機順序設定位置。
  3. 若韌體開啟了 Secure Boot 而修復後仍無法開機,先確認開機檔案是完整的原廠簽章版本;不要為了「先開起來再說」就長期關閉 Secure Boot。

另外補充兩個與 Secure Boot 憑證更新有關的參數:針對 CVE-2023-24932 的 Secure Boot 變更,BCDBoot 提供 /bootex 參數,在條件符合時改用 bootex 二進位檔進行維護;而 /offline 參數依官方文件自 Windows 11 24H2 與 25H2 的 Build 26100.8037 起支援,用來強制以離線方式處理開機檔案維護。一般家用修復用不到這兩個參數,但若你是從較舊的安裝媒體開機、去修一台已套用新憑證的機器,遇到怪狀況時可以往這個方向查。


✅ 驗證修復結果

直接結論:別只看「開機成功」就收工,要確認開機檔案路徑、韌體項目、以及磁碟管理裡的分割區狀態三件事都正常。

  1. 能正常開進 Windows,而且是拔掉安裝隨身碟之後還能開——這一點很多人漏掉,插著隨身碟開得起來可能只是走了 \efi\boot\bootx64.efi 的預設路徑。
  2. 檢查韌體開機項。進 Windows 後開啟系統管理員權限的命令提示字元執行:
bcdedit /enum firmware

清單裡應該看得到 Windows Boot Manager 的項目。

  1. 檢查分割區狀態。在磁碟管理(diskmgmt.msc)裡,ESP 應顯示為「EFI 系統分割區」、沒有磁碟代號、狀態正常。若你在步驟 0 指派過代號而重開機後代號仍在,請在 Windows 內以系統管理員身分執行 mountvol S:\ /D 移除掛載點(/D 即官方文件所載之移除掛載點參數)(注意:diskpart 的 remove 對 EFI 系統分割區這類受保護的非資料 GPT 分割區無效,官方文件已明列此限制),避免它出現在檔案總管被誤刪。
  2. 確認修復分割區還在。順手看一下 WinRE 狀態:
reagentc /info

官方文件說明 reagentc /info 顯示 Windows RE 目前狀態與可用的修復映像;輸出中的 Enabled 表示 Windows RE 仍可用,Disabled 則代表修復環境需要另外處理(狀態字串為工具輸出,不影響本次開機修復)。


🔙 萬一翻車:回退步驟

直接結論:回退的依據是步驟 0 那份 ESP 備份,不是任何「預設值」——因為每台機器的 ESP 內容本來就不一樣。

  • 情況 A:修完更糟、原本至少還進得了韌體畫面

用安裝媒體開機 → diskpart 指派 ESP 代號(同步驟 0)→ 把備份複製回去:

xcopy F:\ESP_backup\ S:\ /s /e /h /k /y

這會把 ESP 還原成你動手前的實際內容。請注意:不要憑記憶去「填回預設值」,各版本、各 OEM 的 ESP 內容並不相同。

  • 情況 B:方法二建錯分割區(選錯磁碟或大小填錯)

只要還沒有對其他分割區下過任何寫入指令,可在 diskpart 內先 select disk <編號>、再 select partition <編號>(官方 delete partition 文件要求焦點落在分割區、以 select partition 指定),然後執行 delete partition override,再重新建立。確認你選到的是剛剛新建的那一個,list partition 的容量欄位是判斷依據。

  • 情況 C:還原備份後仍然開不了機

這時請不要直接跳到「硬碟壞了」或「主機板掛了」的結論。依序回頭確認三件事:①韌體開機順序裡有沒有 Windows Boot Manager(bcdedit /enum firmware);②Secure Boot 與 CSM 的設定是否在維修過程中被改動;③磁碟本身的健康狀態(SMART)與連接線。三項都排除後,再考慮硬體層面的可能。

  • 情況 D:出現 BitLocker 復原畫面

輸入復原金鑰即可進入系統,這是保護機制正常作動,不是修壞了。進系統後可視需要重新啟用保護。


💡 總結:預防再次發生

直接結論:ESP 這種東西,最好的維護方式就是「不要碰它」,以及在動任何分割區之前先有一份能開機的救援媒體。

站長我處理這類求助時,最常見的開場白都不是「電腦突然壞了」,而是「我昨天整理了一下磁碟」。ESP 沒有磁碟代號、容量又小,在分割區工具裡看起來就像個沒用的殘留物,這是它最大的風險來源。所以我的習慣是:在磁碟管理裡看到不認得的小分割區,一律先查清楚再動作,而不是先刪再說。

具體的預防動作有三個:

  1. 平常就準備好一支 Windows 安裝隨身碟,並且每年更新一次。開不了機的當下才去別台電腦做隨身碟,是最浪費時間的環節。
  2. 動分割區前先關掉或暫停 BitLocker,並確認復原金鑰已備份。官方文件明講 BitLocker 會驗證安全性敏感的 BCD 設定,開機設定被改動時可能觸發復原;先備好金鑰,遇到復原畫面就只是多輸入一串字,而不是災難。
  3. 做整機層級的備份,而不只是複製檔案。分割區結構壞掉時,只有整機映像才救得回原本的配置;單純複製檔案救得回資料,救不回開機。

最後一句實話:如果你的機器是公司資產、或磁碟上有無可取代的資料,把硬碟交給專業處理的期望值,遠高於自己在 WinRE 裡多試一次指令。修開機的每一次嘗試都在動分割表,錯一次的代價不是重來一次那麼簡單。


❓ 常見問題

Q:ESP 被我刪掉了,資料還在嗎?

只刪掉 ESP 的話,Windows 分割區的資料通常完好無損——ESP 裡只有開機檔案,沒有你的文件。先用安裝媒體開機把資料抄出來,再照方法二重建,是最穩的順序。

Q:一定要重灌嗎?

多數情況不用。開機檔案可以從 Windows 分割區重新產生,這正是 BCDBoot 的設計用途(官方文件明列「修復系統分割區」為其使用情境之一)。只有在 Windows 分割區本身也毀損時,才需要考慮重灌。

Q:bcdboot 到底要不要加 /s S: /f UEFI?

修這台機器自己時建議不加。官方文件說明 /s 不應用於典型部署情境,且使用 /s 時不會建立韌體 NVRAM 的開機項目。要把硬碟拿到另一台機器上開機、或製作跨 UEFI/BIOS 的隨身碟時才需要加。

Q:ESP 要建多大?網路上說 100 MB。

依微軟現行官方文件,最低要求是 512e 磁碟 200 MB、4K native 磁碟 300 MB,官方部署腳本用的也是 size=200。size=100 是更早期的寫法。多給一點空間不會有壞處,但別把其他檔案塞進去——官方明訂這個分割區不應存放其他檔案。

Q:修完之後又復發怎麼辦?

反覆掉開機項通常有更上游的原因:CMOS 電池沒電導致韌體設定被重置為預設值、開機順序連帶被改掉,或是韌體更新後清空開機項、雙系統的開機管理程式互相覆蓋。先從主機板電池與韌體版本查起。若是每次開機都跑進自動修復迴圈,那屬於另一類問題,要從修復環境本身查起。


🔗 延伸閱讀


📎 參考資料來源

📖 第一級|廠商官方:

⚠️ 本文核心事實以第一級為準,第二級為補充。

📅 本文查證戳記:2026-09-07 依微軟官方文件撰寫,適用 Windows 10 / Windows 11 之 UEFI + GPT 安裝。

若你在後續版本遇到步驟失效,歡迎在留言區回報,站長會更新文章。


廣告