|
(第 1 篇) 製作Win2000 xin1 多重標準啟動實例
我們利用模擬BIOS引導來製作多重啟動能表,其實原理很簡單,
就是用第一個引導檔模擬BIOS來引導其他啟動檔。
而不同於Win9x的啟動原理,Win2000的啟動關鍵就在於其引導檔
固化了i386目錄,只要修改其引導檔就可以從不同的地方來引導不同的
Win2000安裝。
Win2000啟動過程:
Boot->setupldr->ntdetect->引導驅動程式->讀txtsetup.sif->開始安裝
==============================================
看看我們要做個什麼樣的iso:
a)Windows 2000 3in1 en的iso,無需輸入sn,已經加上sp2了。
b)加上Windows2000 ResourceKit
其實這些東西都是能分別找到的,我們只是把它放在一起而已。
==============================================
首先你必須有以下工具檔
a.製作CD映像(ISO)的工具,如:cdimage
注意:cdimage必須在Win2000/XP命令提示字元下運行
b.製作啟動CD的工具,如:mkbootcd
c.空白的啟動區檔,一般是2048個空位元組,這裏假設為bootcat.bin
d.BIOS啟動模擬檔:diskemu.bin
e.還有二進位編輯工具,如:Winhex
f.解img文件工具,如:winimage
g. 你應該擁有Win2000的三個版本檔,最好每個版本都有bootimg
目錄,sp2你也應該有的吧。
h. 你應該有Win2000的啟動檔,這裏假設為w2ksect.dat。
將他一拷為三,這裏假設為wprosect.dat,wsvrsect.dat,asvrsect.dat
i.VMware,我們用它來檢驗iso是否做好了。
j.刻錄工具,如:nero.做好了當然刻盤用了。
==============================================
我們提供一個zip包,把上面提到的這些工具放在裏面。
(除了winhex<https://www.newhua.com/winhex.htm>,
winimage<https://www.newhua.com/winimage.htm>,
Win2000三個版本的檔<這個要靠你自己了>,
vmware<https://www.newhua.com/vmware.htm>,
nero<https://www.newhua.com/NeroBurning.htm>)
235731-3in1.zip
--------------------------------------------------------------------------------
工具都準備好了,下面開始製作:
在你的硬碟上建一個目錄3in1,在下面建子目錄2000,拷貝
cdimage,mkbootcd到3in1目錄下,在3in1目錄下建立一檔bootcd.txt,拷貝bootcat.bin,diskemu.bin,wprosect.dat,wsvrsect.dat,asvrsect.dat
到2000目錄下,在2000目錄下建立引導目錄WPRO,WSVR,ASVR,Win2000,在WIN2000下建立目錄PRO,WSVR,ASVR,
拷貝bootfont.bin,cdrom_ip.5,cdrom_is.5,cdrom_ia.5,cdrom_nt.5
到2000目錄下,拷貝各個版本的i386目錄到各自目錄下.
現在你的目錄結構應該如下:
3in1
3in1cdimage.exe
3in1mkbootcd.exe
3in1ootcd.txt
3in12000
3in12000ootcat.bin
3in12000diskemu.bin
3in12000wprosect.dat
3in12000wsvrsect.dat
3in12000asvrsect.dat
3in12000ootfont.bin
3in12000cdrom_ip.5
3in12000cdrom_is.5
3in12000cdrom_ia.5
3in12000cdrom_nt.5
3in12000CDROMSP2.TST
3in12000wpro
3in12000wsvr
3in12000asvr
3in12000win2000
3in12000win2000wpro
3in12000win2000wsvr
3in12000win2000asvr
3in12000RESKIT
RESKIT如果你有,就放上去,沒有就算了。。。呵呵
==============================================
現在把sp2加進去,w2ksp2.exe你已經有的了。你用WinZip打開它。
解壓縮檔到一個目錄(我使用i:sp2).它建立一個目錄i386。請你確認你
已經把SP2解壓縮到i:sp2並已經複製整個Win2K CD到i:3in12000win2000wpro,wsvr,asvr...)
進入命令提示符視窗(注意此時你必須在Win2K下集成SP2).鍵入
i:sp2i386updateupdate /s:i:3in12000win2000wpro
並核對無誤.一個視窗將彈出,顯示當前進度,直至完成.就這樣wpro已經集
成了SP2.
同樣,我們執行:
i:sp2i386updateupdate /s:i:3in12000win2000wsvr
i:sp2i386updateupdate /s:i:3in12000win2000asvr
給wsvr和asvr加上sp2。
==============================================
下面要做的就是跳過Windows 2000 序列號檢測,我們在安裝的時候
不再需要輸入sn。進入剛已經加過sp2的I386目錄中.找出setupp.ini文件.
點擊滑鼠右鍵,選擇屬性,去除"唯讀"鉤形符號.現在打開檔編輯它.你的setupp.ini檔應該像這樣:
[Pid]
ExtraData=646E77637A6F6D79626A1D94089595
Pid=51873XXX
替換3XXX處的XXX為270 象下面這樣:
[Pid]
ExtraData=6166656C736263737373B2574A0581
Pid=51873270
<ExtraData是什麼都無關緊要的。>
完成! 現在你安裝Windows 2000不再需要序列號!
對於wpro.wsvr.asvr的處理是一樣的。
==============================================
現在開始正經事情了,修改啟動檔。
用Winhex打開wprosect.dat,修改i386為WPRO,打開wsvrsect.dat,
修改i386為WSVR,打開asvrsect.dat,修改i386為ASVR。
<為什麼用winhex,而不是ultraedit?因為ultraedit有時候會自作主張,亂加東西!>
==============================================
然後製作引導驅動
如果光碟上已經有BOOTIMG的目錄,那麼只要將BOOTIMG目錄下的
四個img檔(啟動盤)用winimage解到各自的引導目錄下,如:PRO版本就
解到wpro目錄下,SERVER版本就解到wsvr目錄下,Adv版本就解到asvr目
錄下。
==============================================
不要以為這樣就結束了,還有一些東西要改。
修改setupldr.bin和txtsetup.sif!
進入各自的引導目錄wpro,wsvr,asvr(就是2000目錄下面的3個目
錄,而不是win2000下面的目錄),用Winhex打開setupldr.bin,
修改i386為各自的目錄WPRO,WSVR,ASVR,(各有3處,別少了)
用文本方式打開txtsetup.sif,找到SetupSourcePath = ""
(引號內有可能不同,但是只有一處),
修改為各自的安裝目錄,分別是:
SetupSourcePath = "WIN2000WPRO"
SetupSourcePath = "WIN2000WSVR"
SetupSourcePath = "WIN2000ASVR"
===============================
製作ISO檔
在Win2000/xp命令提示字元下進入3in1目錄,輸入以下命令:
cdimage -lWin2K3IN1 -t12/05/01,00:00:00 -h -n -o -m 2000 3IN1.ISO
這時會在3in1目錄下產生檔3in1.iso
直接運行CDIMAGE將顯示參數說明。下面簡單解釋一下常用參數意義:
-l : (是JKL的L,不是IBM的I)這是光碟的標籤
-t : 將所有檔設成指定的時間,看起來很專業
-h : 包括隱藏檔
-n : 允釭衋仵蛈W
-o : 這是最重要的,CDIMAGE的精華就是它。自動判斷重複檔,對重複檔只處理一次,並自動修改相關的檔指向。默認是使用檔大小和MD5演算法進行比較(我也不太懂,大概是和CHECKSUM差不多概念的方法吧)從概率角度來看準確性相當高,但並不是“逐位元組對比”。如果你要求逐位元組對比,用-oc參數。不過速度極慢。
-m : 不加這個參數的話,將不能產生大於650M的ISO映象
2000 : 這是光碟的根目錄。CDIMAGE將以此目錄開始構造光碟目錄結構,硬碟上的i:3in12000Win2000將變成光碟的x:Win2000
3IN1.ISO : 這是最後生成的ISO檔的名字。它已經是優化後的了。
==============================================
為了能夠做bios模擬啟動,我們還要編寫bootcd.txt
打開mkbootcd.txt,輸入如下文本:
;
; MKBOOTCD command file created by CoolJohn
; for DiskEmu.bin v0.8 Beta
;
; Center the MultiBoot Menu Title in a 24-character range
; /
-S Win2000SP2 MultiBoot Setup
bootcat.bin
;
;--- Boot entries ---
; Default boot image entry
; Boot Media Type = No Emulation
-T0
; Sector Count in 512-byte sectors
-C8
; Recommended DiskEmu.bin Load Segment is between 4000 and 9000
-L5000
diskemu.bin
; Continue with remaining boot image entries
; Only each Section's first bootable image will appear in DiskEmu.bin's
Menu
; 80x86 Platform ID w/high bit set to avoid PC BIOS multiboot menu
-P80
; Use Default Load Segment (07C0)
-L0
; Up to nine boot images may be listed here
; Left justify the Menu text for each entry in a 28-character range
; /
-t0
-c4
-SSetup Win2000 Professional
wprosect.dat
-SSetup Win2000 Server
wsvrsect.dat
-SSetup Win2000 Adv Server
asvrsect.dat
; etc...
==============================================
最後是製作啟動CD
進入3in1目錄,輸入以下命令:
mkbootcd 3in1.iso - < bootcd.txt
===============================
好了,大告成了,用vmware虛擬一下,就可以看到,這個多重啟動的iso好了。最後就是用nero來刻盤了。。。
https://www.3382.net/ut/attach/235731-3in1.zip
裏面的檔都是已經改好的。
SETUPLDR和TXTSETUP.SIF沒放在裏面,
|