當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分區
打開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位Win7或Win8PE,只有uefi啟動進入Win PE才可以
不用掛載esp分區,直接在cmd命令行下執行:
bcdboot c:\windows /l zh-cn
其中 c:\windows 硬盤系統目錄,根據實際情況修改
/l zh-cn 指定uefi啟動界面語言為簡體中文
註:在Win8 PE中,我們也可以在uefi啟動進入Win pe後,掛載esp分區用方法(一)修復
二、用bootice手動修復
從efi引導啟動過程來看,雖然它的文件很多,但主要用到的就是兩文件,我們完全可以在各Win pe下掛載esp分區,從硬盤系統中復制bootx64.efi文件,然後用用bootice制作好bcd,就完成efi引導修復。
1、啟動任一Win 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,要手工改過來
最後保存當前系統設置並退出。
註:Winxp PE不能識別gpt格式的硬盤分區,用2003PE中的disk.sys替換xpPE內核中的相應文件,就可以讓xpPE也能識別gpt磁盤格式分區
指定啟動分區不是esp分區所在分區,就是硬盤64位Win7、Win8 系統所在分區
指定啟動文件為:\Windows\system32\winload.efi, 是*.efi,不是*.exe,要手工改過來
三、其它問題
1、手工運行ghost並不會修復esp分區
2、用老大們的一鍵還原,現在慢慢加上了還原後esp引導修復功能,如實測深山的一鍵還原就自帶esp分區uefi引導修復
3、用微軟原版系統光盤安裝或PE下安裝,當然都會自動修復esp引導。
@echo off
:1
title BIOS+UEFI引導修復工具1.1
color 03
echo *******************************************************************************
echo * BIOS+UEFI引導修復工具1.1 *
echo * *
echo *******************************************************************************
echo * *
echo * 此工具主要用於修復Windows引導,兼容BIOS啟動和UEFI啟動。 *
echo * 同時也可以用於修復多系統引導 *
echo * *
echo *******************************************************************************
echo.
set /p A=請輸入Windows所在盤符:
echo.
set /p B=請輸入引導文件所在盤符:
echo.
echo Windwos所在盤符為%A%,引導文件所在盤符為%B%。確定要修復嗎?
pause
if exist "%HOMEDRIVE%\Program Files (x86)" (
goto x64
) else (
goto x86
)
:x64
echo 正在修復引導。。。
bcdboot64 %A%:\windows /s %B%: /f all /l zh-cn
echo 已完成修復
pause
cls
goto 1
:x86
echo 正在修復引導。。。
bcdboot32 %A%:\windows /s %B%: /f all /l zh-cn
echo 已完成修復
pause
cls
goto 1
Tags: microsoft windows 簡體中文 ghost 修復
文章來源: