UEFI引導修復教程和工具


參考

http://bbs.wuyou.com/forum.php?mod=viewthread&tid=323759

1. MBR分區表:Master Boot Record,即硬盤主引導記錄分區表,只支持容量在 2.1TB 以下的硬盤,超過2.1TB的硬盤只能 
管理2.1TB,最多只支持4個主分區或三個主分區和一個擴展分區,擴展分區下可以有多個邏輯分區。 
2. GPT分區表:GPT,全局唯一標識分區表(GUID Partition Table),與MBR最大4個分區表項的限制相比,GPT對分區數量沒有
限制,但Windows最大僅支持128個GPT分區,GPT可管理硬盤大小達到了18EB。只有基於UEFI平台的主板才支持GPT 分區引導啟動。 
3. ESP分區:EFI system partition,該分區用於采用了EFI BIOS的電腦系統,用來啟動操作系統。分區內存放引導管理程序、 
驅動程序、系統維護工具等。如果電腦采用了EFI系統,或當前磁盤用於在EFI平台上啟動操作系統,則應建議ESP分區。4. MSR分區:即微軟保留分區,是GPT磁盤上用於保留空間以備用的分區,例如在將磁盤轉換為動態磁盤時需要使用這些 
分區空間。 
5. SECURE BOOT功能:Windows 8中增加了一個新的安全功能,Secure Boot內置於UEFI BIOS中,用來對抗感染MBR、BIOS的惡 
意軟件,  Windows 8 缺省將使用Secure Boot,在啟動過程中,任何要加載的模塊必須簽名(強制的),UEFI固件會進行驗證, 沒有簽名或者無法驗證的,將不會加載。



UEFI引導修復教程

當uefi引導文件損壞,或ghost還原64位系統到C盤,因無uefi引導還是不能啟動系統。
怎么修復UEFI引導呢?
○、UEFI引導基本原理
1.esp引導分區
esp磁盤分區是gpt格式硬盤放efi引導文件的磁盤,在mbr格式硬盤中也可以由任一fat
格式磁盤分區代替
2.efi文件結構
efi\boot\bootx64.efi
efi\microsoft\boot\bcd
3.efi啟動過程
uefi bios啟動時,自動查找硬盤下esp分區的bootx64.efi,然后由bootx64.efi引導
efi下的bcd文件,由bcd引導指定系統文件(一般為c:\windows\system32\winload.efi)

一、用bcbboot自動修復
我們建議大家啟動64位8PE,用它帶的bcdboot來修復。
(一)指定esp分區修復
環境為64位8PE,bios/uefi啟動進入下都可以
1.啟動64位8PE,並用esp分區掛載器或diskgenuis掛載esp分區
2.打開cmd命令行,輸入以下命令並運行
bcdboot c:\windows /s o: /f uefi /l zh-cn
其中:c:\windows  硬盤系統目錄,根據實際情況修改
/s o:     指定esp分區所在磁盤,根據實際情況修改
/f uefi   指定啟動方式為uefi
/l zh-cn  指定uefi啟動界面語言為簡體中文
注:64位7PE不帶/s參數,故7PE不支持bios啟動下修復

(二)不指定esp分區修復
環境為64位7或8PE,只有uefi啟動進入PE才可以
不用掛載esp分區,直接在cmd命令行下執行:
bcdboot c:\windows /l zh-cn
其中 c:\windows  硬盤系統目錄,根據實際情況修改
/l zh-cn  指定uefi啟動界面語言為簡體中文
注:在8PE中,我們也可以在uefi啟動進入pe后,掛載esp分區用方法(一)修復

(三)用“UEFI引導自動修復”腳本修復
這個腳本,其實就是用了8PE的bcdboot,來修復uefi引導。測試可以在2003 7 8 PE
中自動修復uefi引導。
附件提供兩套,第一套是程序版,為離棄制作;第二套是pecmd腳本版,由caocaofff制作,都相當完美。


二、用bootice手動修復
從efi引導啟動過程來看,雖然它的文件很多,但主要用到的就是兩文件,我們完全可以在
各pe下掛載esp分區,從硬盤系統中復制bootx64.efi文件,然后用用bootice制作好bcd,就
完成efi引導修復。
1.啟動任一pe,用esp分區掛載器或diskgenuis掛載esp分區
2.查看esp分區是否可正常讀寫,如不正常可重新格式化為fat16分區格式。
3.在esp分區中建立如下空文件夾結構
\efi\boot\   (bootx64.efi等復制)
\efi\microsoft\boot\ (bcd等建立)
4.復制硬盤系統中的bootmgfw.efi(一般在c:\windows\boot\efi下)到esp分區的\efi\boot\
下,並重命名為bootx64.efi
5.打開bootice軟件,有esp分區的\efi\microsoft\boot\下新建立一bcd文件,
打開並編輯bcd文件,添加“windows vista\7\8啟動項,
指定磁盤為硬盤系統盤在的盤,
指定啟動分區為硬盤系統分區(一般為c:)
指定啟動文件為:\Windows\system32\winload.efi, 是*.efi,不是*.exe,要手工改過來
最后保存當前系統設置並退出。
這樣子,精簡的UEFI引導就手工修復了,實機和虛擬機測試通過。
注:xpPE不能識別gpt格式的硬盤分區,用2003PE中的disk.sys替換xpPE內核中的相應文件,就
可以讓xpPE也能識別gpt磁盤格式分區
指定啟動分區不是esp分區所在分區,就是硬盤64位7 8 系統所在分區
指定啟動文件為:\Windows\system32\winload.efi, 是*.efi,不是*.exe,要手工改過來


三、其它問題
1.手工運行ghost並不會修復esp分區
2.用老大們的一鍵還原,現在慢慢加上了還原后esp引導修復功能,如實測深山的一鍵還原就
自帶esp分區uefi引導修復
3.用微軟原版系統光盤安裝或PE下安裝,當然都會自動修復esp引導。



以下純屬扯淡
以管理員身份運行cmd,輸入:
diskpart
sel disk 0
list part
sel part x (x為EFI分區分區號)
set id=07
assign letter=y (y為分配的盤符)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM