每隔一段時間就有朋友們發消息或者留言「分區/擴容 C 盤之后開不了機咋辦啊?」根據大家「動過分區」的這個描述,第一反應就知道,大概率是引導問題。而引導問題幾乎是每個人都會遇到的問題,時間早晚而已。
引導是一個非常「脆弱」的東西,對系統、分區的操作都有可能導致其出現問題。比如分區操作不當、不小心格式化某個分區、誤刪看不懂的文件,這與你用什么軟件操作無關(真不怪分區助手)。
而引導問題只要出現,你的電腦就無法進入系統,就是這么直接。但這個問題解決起來又非常簡單,很多人覺得這個名詞頭疼,只是源于未知的恐懼。
在解決問題之前我們先來了解一下什么是引導?系統引導指的是將操作系統內核裝入內存并啟動系統的過程。直白地來說,就是需要有程序告訴電腦怎樣一步步將系統啟動,引導這個名字也很貼切。
不需要完全理解,只要大概知道這是從你按下開機鍵到系統啟動完成中不可或缺的環節即可。
通過上圖,你應該也了解到了,引導其實有兩種類型:UEFI 引導和 Legacy 引導(傳統引導)。
Legacy 也就是傳統引導,是 Windows 8 之前常見的引導模式,通常搭配 MBR 磁盤分區表使用。
UEFI 引導則是新的引導模式,Windows 8 及以后推薦使用這種方式,通常搭配 GPT 磁盤分區表使用。
便于理解,系統引導有這重要的三部分:分區、引導文件、winload 程序。UEFI + GPT 模式下,磁盤將單獨劃分一個 FAT32 格式的 EFI (ESP)分區,系統啟動需要的引導文件都在 EFI 文件夾中。
不同廠商命名的文件夾下有對應的系統引導,Windows 的在 \EFI\Microsoft 下。
\Boot 下的 bootx64.efi 為通用引導文件,實際上就是其它操作系統的引導文件復制改名。
UEFI 模式引導啟動時直接到EFI 分區執行引導文件,再加載 C:\windows\system32 下的 winload.efi 啟動程序,三者缺一不可,即便前面都正常,只是丟失 winload.efi 也無法啟動。
Legacy + MBR 模式下,需要標記一個已有的分區為活動分區。活動分區內有如下引導文件:
引導啟動時將依次檢查磁盤分區,找到活動分區,再檢查執行其中的引導文件。接著加載? C:\windows\system32 下的 winload.exe 程序。總的流程就是這么簡單。
出現 Windows 引導問題一般情況下,我們只需要簡單使用一條 BCDBoot 命令即可解決,但我們起碼也要能打開 Windows 的命令行工具才行。
以下三種方式均可:
Windows 自帶的修復模式 WindowsRE? -- 不需要額外設備
U盤 PE? -- 功能強大,簡單
制作好的微軟官方系統安裝U盤 -- 不如以上兩種實用,進入后 Shift+F10 啟動命令行工具
只需要在開機顯示 Windows 圖標時切斷電源、連續三次即可進入。
選擇疑難解答
在高級選項中選擇命令提示符
通常直接輸入以下命令即可修復( Legacy 與 UEFI 通用):“bcdboot C:\windows”,會自動復制所需引導文件到 EFI 分區(UEFI)/ 活動分區 (Legacy),輸完命令瞬間完成,你就可以重啟開機了。
但如果遇到復雜的情況,光靠 BCDBoot 命令還是不夠的,因為它無法修復引導分區錯誤導致的問題。可以用 Diskpart 工具來創建所需要的分區,命令行輸入 diskpart 即可進入。
具體命令如下:“diskpart? ? #進入diskpart工具list disk? ?#列出現有磁盤 select disk *? # 選擇磁盤*(*代表要創建的EFI分區所在磁盤,我這里是0)list partition? #(可選)列出磁盤中的現有分區create partition efi size= *? ?#創建大小為*的EFI分區(*代表EFI分區大小,單位MB)format quick fs =fat32? ? #格式化EF? I分區為fat32格式exit? ? #退出diskpart工具”
Legacy 有所不同,不需要創建分區,只需要在 select disk 選擇磁盤 后打個活動分區的標記即可:“select patrition 1? ?#選擇第一個分區,分區號從1開始而是不是0active? ?#設置活動”
再使用BCD 工具修復即可,你也可以使用更詳細的命令來確保正確修復:“bcdboot C:\Windows/s H: /f uefi”
C盤為Windows 所在分區、H 盤為 EFI 分區盤符,更詳細的 BCDBoot 命令參見微軟手冊:“https://docs.microsoft.com/zh-cn/windows-hardware/manufacture/desktop/bcdboot-command-line-options-techref-di”
如果你不喜歡敲命令,那使用 PE 來進行修復就更加友好,并且如果你甚至將 WindowsRE 分區都給誤刪了,恢復模式是打不開的。
你可以先使用分區助手來檢查分區情況,UEFI 引導缺少 EFI 分區的話手動創建一個 FAT32 分區即可,Legacy 引導則需要有一個活動分區。
同樣也可以使用上面的 BCDBoot 命令來進行修復,還可以使用 PE 里的引導修復工具來進行操作。但需要注意分區盤符一定要選對哦。
方法是其次,只要你能理解引導的工作流程和所需條件,解決引導問題就非常簡單。不然就算你這次會了,下次又遇到其他情況。分區有問題的先解決分區問題,沒問題 BCDBoot 命令或者 PE 里的引導修復工具修復就完事了。
本文編輯:@ 小淙
?本文著作權歸電手所有,未經電手許可,不得轉載使用。