最近在看筆記本的備份與還原,現在大多數的筆記本都採用的
efi型別的主機板以及
gpt磁碟分割槽格式,由於還原需要重新劃分分割槽或格式化磁碟,還原後的磁碟簽名、guid、分割槽guid、偏移等都可能發生改變,所以需要手動修改
efi啟動選項,才能保證還原過後系統能夠正常啟動。
設定efi
選項的具體做法是,首先使用
diskpart
命令列掛載
efi系統分割槽,這個分割槽一般都是
100m
,如分配到
h盤,然後使用
bcdedit
命令將系統啟動項、啟動管理器選項分別之前合適的分割槽。要設定啟動選項,必須找到
bcd檔案,一般對於
efi系統,
bcd檔案的路徑都比較固定,如
h:\efi\microsoft\boot\bcd
。設定啟動管理器選項的命令列如下:
bcdedit /store h:\efi\microsoft\boot\bcd/set device partition=h:
通過實驗發現,上面這個命令在傳統的
bios/mbr
系統上能夠起作用,但是對於
efi/gpt
系統並不能設定啟動裝置為
h:盤,原因是
efi/gpt
的啟動設定儲存在了主機板韌體
firmware
中了,所以需要改為命令:
bcdedit /set device partition=h:
假設系統分割槽為
c,要是還原後系統從
c啟動,需要執行的命令列如下:
bcdedit /store h:\efi\microsoft\boot\bcd/set device partition=c:
bcdedit /store h:\efi\microsoft\boot\bcd/set osdevice partition=c:
雖然以上兩個命令在大多數情況都是可行的,但是有時
bcd中並不包含
這個預設系統啟動選項,通過觀察發現,如果不存在
則往往存在
選項指向當前的啟動系統,因此可以使用
替換呼叫以上的命令。然而,這還有可能失敗,這時就需要找到備份時系統所在的啟動選項進行設定了,可先呼叫「
bcdeidt /store h:\efi\microsoft\boot\bcd /enum all
」檢視所有已存在選項,然後找到描述資訊為備份時系統的相關資訊,如一般預設的是
」windows 7」
、」windows 8」
等,然後設定該啟動也可以從
c盤啟動。
以上只是還原後修復啟動項的最簡單方法,如果要做到準確無誤,就需要在備份時記錄備份的各個磁碟、分割槽的
guid
、磁碟簽名、分割槽偏移等資訊,然後在還原後,將所有包含備份磁碟、分割槽的
guid
資訊改為新的磁碟、分割槽
guid
,這樣不僅能夠保證系統能夠正常啟動,還可以修復系統休眠、系統恢復等其他啟動選項。具體做法這裡就不詳細介紹了,有需要的可以聯絡本人。
在測試了幾台筆記本後,如dell、hp、msi等,發現還原後f3、f8等一鍵還原無法使用了,開機按f8後,啟動報錯,錯誤碼為0xc0000225,意思是找不到啟動裝置,但是通過windows的系統設定中,可以選擇重啟並成功進入系統恢復介面,之前也有發現f8進入的一鍵還原介面,和通過windows系統設定重啟進入的系統恢復介面是一樣的。通過掛載efi系統分割槽、並分析檔案、目錄結構發現,在efi系統分割槽中還藏有另外乙份bcd,如hp機器中的h:\efi\hp\boot\bcd,dell機器中h:\efi\dell\boot\bcd,通過手動修改其中的啟動選項,可發現f8一鍵還原已經可用。有興趣的朋友可以自己試試看。
本文出自 「jsl_mes」 部落格,請務必保留此出處
檔案系統啟動修復
1 指定 boot目錄所在的分割槽 grub set root hd0,msdos1 2 載入核心檔案,並以唯讀的方式載入根分割槽 3 指定initramfs檔案 grub initfd initramfs 4.18.0 80.e18.x86 64.img4 啟動 grub boot5 進入系統後重...
Ubuntu 10 04 雙系統啟動修復
在ubuntu系統之後安裝其他系統,會將ubuntu的grub破壞掉,導致非linux系統無法啟動,提示系統所在的分割槽不存在。下面是一些本人實驗過的修復方法。如果你能進入ubuntu,那麼恭喜,您只需敲入一句命令即可 情景1 原來的系統是xp,然後在空分割槽安裝了ubuntu10.04,雙系統可以...
完美修復xp vista雙系統啟動項
我的愛機是在c盤安裝的xp系統,然後在d全新安裝的vista系統,這樣裝好後啟動選單有兩個系統可以選擇進入,我估計不少人是這樣安裝的。後來我的xp系統出了些問題,我用ghost恢復後,啟動項被破壞,只能進入xp系統,無法進入vista系統,我看到論壇上不少人是這樣的狀況。首先,按照論壇裡面的介紹 1...