本教程的說明採用了grub4dos來作為引導說明,如果你不喜歡grub4dos你也可以採用其它的引導來作為引導。另外,這個一鍵還原採用的是熱鍵的方式。
下面進入教程說明:
首先是下載需要的套裝軟體,可以到這裡下載:
http://www.vdisk.cn/down/index/8864671A8538
或者:http://www.vdisk.cn/beikel在這裡選擇BeiKel_DIY.zip包下載
下載後解壓就可以看到如下一些檔:
皮膚生成器、beikel、bkimage、bsldr、bsldr.mbr、beikel.cfg和oem.png。
下面說明一下這些檔怎麼使用。
這個一鍵還原的方式是這樣的:啟動電腦,按下熱鍵,然後可以進行系統的備份或者還原。
那麼我們就需要兩個參數,一個是系統磁碟分割,一個是存放鏡像檔的分區,這兩個分區必須是在同一個硬碟裡的,例如不能系統磁碟分割在第一個硬碟,存放鏡像檔的分區在另一個硬碟下。
下面我以我自己的XP系統來作為說明。
我的系統磁碟分割是C盤,我存放鏡像文件的分區是E盤,注意C盤和E盤都是在同一個硬碟裡的。
1、在E盤下創建beikelsystem目錄(當然你也可以命名成其它名字,這個名字的修改在後面說明),然後把下載下來的beikel和bkimage檔拷貝到這個資料夾下。
2、在E盤下創建BeiKelSystemBackupImage目錄(當然你也可以命名成其它名字,這個名字的修改在後面說明),這個資料夾是用來存放備份的鏡像檔的。
3、將bsldr拷貝到E盤的根目錄下。
4、用軟體修改bsldr.mbr裡的熱鍵和等待時間(不懂可以看grub4dos的教程),然後將這個檔寫入硬碟的引導磁區裡,即是mbr磁區裡,也就是第0個磁區(不懂可以看grub4dos的教程)。
5、下面是DIY最重要的地方了,這個地方就是menu.lst的編寫。menu.lst可以分兩種,一種是內置的menu.lst,一種是外置的menu.lst,我這裡採用了內置的menu.lst,外置的也一樣,等下說明。
我們用二進位軟體打開bsldr檔找到0x3f660位置可以看到這個內置的menu.lst。如果採用外置的menu.lst,它將是下面這樣的(其內容和內置的一樣)。
default 0
timeout 0
hiddenmenu
title beikel system recover 2.0.0
find --set-root /beikelsystem/bkimage
kernel /beikelsystem/bkimage quit vga=791 LG=0 BT=0 ST=0 RT=0 INO=0 DID=3314271627 DSIZE=20964825 SPT=4 SPID=0 SPO=63 SPS=10233336 DPT=4 DPID=0 DPO=10233468 DPS=90715288 DST_PATH=/BeiKelSystemBackupImage
initrd /beikelsystem/beikel
bsldr裡的內置功能表如下所示,你可以根據自己的情況修改這個功能表:
下面來說明這個menu.lst的寫法,它直接關係到個人DIY自己一鍵還原的關鍵。
首先是
title beikel system recover 2.0.0
這個是啟動時的title,這個不多說。
find --set-root /beikelsystem/bkimage
這個是查找所有分區的beikelsystem目錄下的bkimage檔,如果找到就設這個分區為root分區。上面第一步說的,如果你想改別的目錄名就可以在這裡改。例如在上面第一步說的在E盤下創建mysystem目錄然後把下載下來的beikel和bkimage檔拷貝到這個資料夾下。那麼在這裡就應該是find --set-root /mysystem/bkimage,另外也把initrd /beikelsystem/beikel改成initrd /mysystem/beikel
kernel /beikelsystem/bkimage quit vga=791 LG=0 BT=0 ST=0 RT=0 INO=0 DID=3314271627 DSIZE=20964825 SPT=4 SPID=0 SPO=63 SPS=10233336 DPT=4 DPID=0 DPO=10233468 DPS=90715288 DST_PATH=/BeiKelSystemBackupImage
非常重要的注意:這句話是一整句話,中間只有空格,沒有任何的換行,千萬千萬不要換行,不然就出錯的了。
這句話就是關鍵了(如果你改了上面的目錄,這裡的beikelsystem也相應的改成mysystem)。
基本上kernel /beikelsystem/bkimage quit vga=791 這句是不需要改的,注意千萬不要改quit vga=791 這兩句,而這句話後面LG=0開始的這些就可以改,而且也是diy的關鍵。
下面解釋後面參數的意思:
LG=0 :這個是多語言的選擇,0:是簡體中文,1:是繁體中文,2:英文。
BT=0 :這個是備份的類型,0:會彈出有“系統備份”和“系統還原”的選擇對話方塊(如下圖)
下圖是用戶自己選擇備份還是還原
1:直接備份,會直接彈出“是否備份系統”的對話方塊,不會彈出“系統備份”和“系統還原”的選擇對話方塊。
2:直接還原,會直接彈出“是否還原系統”的對話方塊,不會彈出“系統備份”和“系統還原”的選擇對話方塊。
ST=0 :暫時不用,置0。
RT=0 :暫時不用,置0。
INO=0:暫時不用,置0。
DID=3314271627 :硬碟id號,在硬碟第0磁區的0x1b8偏移處的4個位元組,我的如下圖,轉換成10進制數就是3314271627。
我的是0xc58bc58b(和二進位軟體顯示的是反過來的,這個注意了)。
DSIZE=20964825 :硬碟的大小(磁區數)。
SPT=4 :暫時不用,可以置0。
SPID=0:暫時不用,置0。
SPO=63:源分區(即我要備份的C分區)的偏移量(單位是磁區)。
SPS=10233336 :源分區(即我要備份的C分區)的大小(單位是磁區)。
DPT=4 :暫時不用,可以置0。
DPID=0:暫時不用,置0。
DPO=10233468:目的分區(即我要存放鏡像檔的E分區)的偏移量(單位是磁區)。
DPS=90715288 目的分區(即我要存放鏡像檔的E分區)的大小(單位是磁區)。
DST_PATH=/BeiKelSystemBackupImage :存放鏡像檔的目錄,上面第2步驟裡創建的目錄,注意了,前面一個斜杠後面目錄名,最後面沒有斜杠的,如果你第2步驟在E盤創建保存鏡像檔的目錄名改變了,這裡也需要相應的改變。
最後的E盤就是這樣的:
這些參數就說完了,現在在總結一下。貝殼一鍵還原會根據硬碟的ID和大小找到這個硬碟,然後在這個硬碟裡遍歷所有的分區,找到符合源分區的偏移位置和大小的源分區,找到符合目的分區的偏移位置和大小的目的分區,如果源分區和目的分區中的任何一個沒有找到,就會查找下一個硬碟,直到找到硬碟的ID和大小都符合的硬碟,然後在去找這個硬碟裡的符合源分區的偏移位置和大小的源分區和符合目的分區的偏移位置和大小的目的分區。
即是說,只有硬碟的ID和大小和源分區的偏移位置和大小和目的分區的偏移位置和大小都符合的,才進行備份和還原。
如果參數出錯,將退出程式,重新開機電腦。
注意了,源分區是要備份和還原的分區,目的分區是保存鏡像檔的分區。
分區偏移磁區數是分區在整個硬碟的絕對偏移量,以磁區為單位
分區的大小是整個分區的總磁區數,也是以磁區為單位,相差一些無所謂,但誤差不要太大太離譜
備份會將源分區備份到目的分區的DST_PATH變數指定的目錄下,鏡像檔的命名是固定的,不要改動
還原將會從目的分區中的DST_PATH變數指定的目錄下找到鏡像檔,然後還原到源分區
變數之間用空格隔開,不能換行
變數原理說明:
找到硬碟id為DID大小為DSIZE的硬碟裡的需要備份或者還原的源分區,這個分區用分區偏移量SPO和分區大小SPS標識,將這個分區備份到以DPO為偏移量以DPS為大小的目的分區中的以DST_PATH變數標識的目錄下(還原相反)。
如果BT變數設置為0,則按熱鍵進入後,由用戶自己選擇是備份還是還原。
如果BT變數是1,則是備份,按確定後直接備份
如果BT變數是2,則是還原,按確定後直接還原
另外,這個DIY版和貝殼系統還原熱鍵版有些不一樣,增加了一些東西
,雖然變數一樣,但變數的解釋是不一樣的,不要混淆了。
喜歡1jf9ky引導的,可以用1jf9ky來作為MBR引導,然後用grldr作為分區的DBR引導,menu.lst還是上面說的那樣。
最後剩下的是皮膚和diy的oem圖片資訊。
進入“皮膚生成器“目錄,運行“皮膚生成器.exe“,如下圖:
然後自己選擇喜歡的軟體各個位置的顏色,然後點擊另存為生成皮膚檔,把這個皮膚檔命名位beikel.cfg,一定要這個名字,然後拷貝到beikelsystem的目錄下,如果beikelsystem目錄下沒有beikel.cfg這個檔將會採用默認的膚色。
另外oem.png是oem圖片資訊,可以將這個檔拷貝到beikelsystem目錄下,名字一定是oem.png,圖片格式一定是png的格式,如果beikelsystem目錄下沒有這個圖片,將會採用預設的oem圖片。
最後看下beikelsystem目錄下的檔:
如果你參數設置正確,那麼你啟動電腦,按下熱鍵就可以進行備份或還原了:
最後如果你是軟體愛好者,那你可以寫軟體來做自己的一鍵還原了,如果你是手動愛好者,那你也可以按照上面說的自己動手製作一個屬於自己的一鍵還原軟體了。
http://sas.tw/sas/up/BeiKel/1.exe][url=http://sas.tw/sas/up/BeiKel/1.exe]http://sas.tw/sas/up/BeiKel/1.exe |