技巧:解決winload 0xC000000E故障(圖)
使用集成 imagex 等小工具的 WinPE v3.0 工具盤可以說為很多朋友解決了不少的問題。gOxiA 一直以來也都擅長喜好使用 imagex 來執行系統備份,諸如此類的優勢說明在過去的日志中也經常提到,這里就不再復述。而今天要與大家分享的經驗是最近 gOxiA 遇到一個問題,而過去也曾經歷過只不過未有留意,而這次遭遇同類問題在解決之后認為有必要大家分享,幫助大家避免發生同類的問題。
起因是這樣,gOxiA 的 Blog 服務器前段時間曾出現不穩定的狀況,在對系統執行優化后決定對磁盤執行一次碎片整理,畢竟這個基于 Windows Server 2008 Web 的虛擬服務器已經運行了近17個月。隨即在夜間進行了磁盤整理工作,第二天一早發現悲劇降臨了,在執行碎片操作前,gOxiA 忽略了這臺虛擬服務器使用的是動態類型的磁盤,而虛擬磁盤文件所在的分區卷容量還小于這個動態類型磁盤的容量,結果可想而知。系統啟動后無法登錄,提示磁盤已滿,而存儲卷顯示剩余0字節。之前決定使用 VMWare 的壓縮工具進行壓縮,但都以失敗告終。現在唯一的可行辦法就是使用 WinPE 引導系統,掛載一個空的虛擬磁盤并使用 imagex 將原系統映像備份出來,因為 imagex 是以文件方式來執行數據拷貝的,所以新生成的映像恢復到新的虛擬磁盤上將不會有任何問題,初次之外還起到了磁盤整理的效果,因為 imagex 恢復后的文件時順序排列的。經過一番折騰,總算把備份的映像釋放到了新的虛擬磁盤上,然后掛載到虛擬機上啟動系統,但是出現了 winload.exe 0xC000000E 故障。
該故障引發的原因很簡單,因為 bcdboot 中的引導信息是與硬盤所關聯的,因為映像釋放到了新的虛擬磁盤上,就相當于更換了硬盤,那么勢必導致硬盤唯一標識變更,最終導致該故障的發生。而早先 gOxiA 使用 imagex 用于部署系統,不是將備份恢復到原硬盤就是使用 sysprep 后部署到其他硬盤上。此外,在部署 Windows 7 和 Windows Server 2008 R2 時因為系統設計的變化,默認安裝系統時會自動生成一個 100M 大小的分區存儲引導信息,而通常我們只備份系統盤,而在使用 imagex 恢復映像后都需要使用 bcdboot 命令創建引導信息。OK,到這里我們已經改如何解決這個故障信息了,除了使用 Windows 安裝光盤引導進行修復以外,我們還可以使用手頭現有的 WinPE 光盤進行命令行方式的修復。為此,我們使用 WinPE 引導盤引導系統,執行如下命令:
bcdboot c:\windows /s c:
執行完這條命令之后我們就可以進行正常的啟動了,但是問題還并未真正解決完。因為你會發現啟動過程會顯示 boot manager 菜單,而其中包含了兩個名稱相同的系統引導項,此外還會發現當前的引導菜單無法正確顯示出中文字符。所以我們在前面使用 bcdboot 命令創建完引導信息之后還需要再執行如下命令,使 boot manager 采用中文版本。
bcdboot c:\windows /l zh-cn
執行完上面兩行命令后再退出 WinPE 重新引導計算機,***使用 bcdedit 命令刪除之前失敗的系統引導項,整個恢復過程才算正式結束。
保持清醒的頭腦,認真分析之后再進行操作才能萬無一失!
【編輯推薦】