Tuesday, May 09, 2006

如何讓WinPE從CD開機到RAM裡頭

終於成功了,搞了好久好久..
在一次完整的研究加上乾淨的實驗之後..
好不容易完成啦!..

這樣做的優點:
1.可以完全不動到(或沒有)硬碟
2.從RAM開機,除了從CD Load到RAM的時間之外,開機超快
(也可以從硬碟載到RAM裡頭,會更快!)
3.從RAM啟動,開完之後,就可以把PE的CD拔出來啦

需準備的東西:
1.Windows Server 2003 SP1 CD(或是下載的3xxMB檔案也可以)
2.一個可以正常開機的WinPE ISO檔,這邊命名為PE.ISO
(可由WinXP或是Server 2003製作)
3.編輯ISO檔的軟體(UltraISO或WinISO.我是用UltraISO)
4.一張CD-RW光碟,因為要試很多次
5.用BartPE軟體,從WinXP SP2的光碟做出一個Source資料夾
(不是ISO檔)

步驟:
01.把Server 2003 SP1的更新檔解壓縮
02.在解開的資料夾中,找出“RAMDISK.SY_“,把它拷貝到C:(正常的位置I386\)
03.開一個DOS Prompt,執行“expand c:\ramdisk.sy_ c:\ramdisk.sys“
(直接重新命名好像沒用,解開的檔案大概22KB)
04.在解開的資料夾中,找出“SETUPLDR.BIN“,把它拷貝到C:\備用
05.用UltraISO把PE.ISO打開,把I386\SYSTEM32\DRIVERS裡的RAMDISK.SYS用
步驟3做出來的檔案替代掉
06.從PE.ISO中,從I386\取出NTDETECT.COM
07.從準備材料5的BartPE Source中,取出bootsect.bin檔
08.用以下資料建立一個叫WINNT.SIF的文字檔(PE.ISO是ISO檔名)
[SetupData]
BootDevice = "ramdisk(0)"
BootPath = "\i386\System32\"
OsLoadOptions = "/noguiboot /fastdetect /minint /rdexportascd /rdpath=PE.ISO"

09.建立一個資料夾,在其下建立一個"I386"的資料夾
10.把所有檔案如以下方式拷貝好
資料夾\BOOTSECT.BIN
資料夾\WINNT.SIF
資料夾\PE.ISO
資料夾\I386\NTDETECT.COM
資料夾\I386\SETUPLDR.BIN

11.在UltraISO建立一個新檔案,把資料夾下的所有檔案拉進去
12.在開機選項載入BOOTSECT.BIN當作開機檔
13.建立新的ISO檔
14.燒出ISO檔就可以測試囉~~

注意事項:
1.PE的ISO檔當初在建立時,最好PNP,WMI等的都要有選到
2.PE.ISO的檔名不可以太長,不然會找不到檔案