|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2004-05-19, 10:12 PM | #1 |
榮譽會員
|
啟動光碟製作完全手冊
貼自:INTERNET
一、前言 隨著燒錄機價格的暴降和燒錄軟體的更加容易使用,我們要燒錄一張普通CDR盤,早已不是什麼難事了,但要刻可啟動光碟燒錄,卻未必人人能夠做到。 國外有許多討論BOOTDISK的網站,如果你的E文足夠好的話,我的教程你完全可以不看了,去看這個兩個站: http://www.nu2.nu/ 和 http://www.tech-hints.com/,這兩...資料啊。 當然,你可以看我的教程,完全FREE。 我先說說啟盤的原理和由來。(其中部分內容摘自一篇網上教程,作者不詳) 我們都知道,Windows 98直到Windows XP系列的安裝光碟都是可啟動的,但Windows 95安裝光碟卻不能啟動,你知道為什麼嗎?要想知道事情的原因,我們就必須要探尋一下可啟動CD-ROM的起源。 可啟動CD-ROM(或稱可引導光碟)的概念早在1994年(輝煌的DOS年代)就被提出來了,當時CD-ROM還是PC機的一個昂貴的附屬設備(CD-ROM加音效卡在當時被成為多媒體套件,帶多媒體套件的電腦被成為多媒體電腦),而且在DOS平台下實現光碟引導還存在一些技術上的困難:要在載入DOS之前就必須檢測到CD-ROM,而這一點,當時從軟體上是無法實現的,惟一的解決之道就是修改電腦主機板上的BIOS(或是SCSI與IDE控制器上的BIOS),使之在硬體級而不是軟體級首先識別CD-ROM,並自動載入CD-ROM上的啟動引導器(存放在CD-ROM上特定區域的一段特殊程式碼,用以控制CD-ROM的啟動)。 1995年1月25日,Phoenix Technologies與IBM聯合發表了可啟動CD-ROM格式規範(Bootable CD-ROM Format Specification)1.0——El Torito規範,該規範中定義了可啟動CD-ROM的資料結構與映像資料的配置及光碟製作的一些詳細說明。實際上,該規範也隱含地制定了能夠讀取可啟動CD-ROM光碟的BIOS的規範,使得符合El Torito規範的可啟動CD-ROM在電腦上能夠正常啟動。如果可啟動CD-ROM有了,但在電腦上無法讀取,豈不還是白搭?! 隨後,Phoenix又獨自或聯合其他廠家相繼發佈了一系列支持可啟動CD-ROM的規範和標準,其中值得一提的是1996年1月11日COMPAQ、Phoenix與Intel聯合發佈的BIOS啟動規範(BIOS Boot Specification)1.01,該規範為BIOS廠家提供了製造支持可啟動CD-ROM的BIOS的標準。 El Torito規範原本參見[url]http://www.phoenix.com/resources/specs-cdrom.pdf︴/url]]英文)。 BIOS啟動規範原本參見[url]http://www.phoenix.com/resources/specs-bbs101.pdf︴/url]]英文)。 如果你想瞭解更多有關El Torito的故事,比如為什麼稱為「El Torito」,都有誰參與了規範的起草,等等,你可以從下述文件中找到答案: [url]http://www.cdpage.com/Compact_Disc_Variations/danaboot.html︴/url]]英文) 自從El Torito規範推出之後,採用單重啟動映像的可啟動CD-ROM大量湧現,El Torito規範也成為事實上的工業標準。 可啟動CD-ROM仍遵循ISO 9660的規範,簡單地說,普通CD-ROM+開機功能=可啟動CD-ROM。 這也就是為什麼Windows 95安裝光碟不可啟動的根本原因——Windows 95發佈時El Torito規範還沒有誕生。 El Torito規範定義了CD-ROM中啟動映像(bootable image)的配置,還提供了有關可啟動CD-ROM的製作與結構的一些詳細說明。這些說明的技術性很強,要想弄得很明白需要花費一番大力氣。但我們的目的是製作出符合El Torito規範的可啟動CD-ROM,所以沒有必要在理論上瞭解那麼多,很多現成的燒錄軟體以能夠說明 我們製作出完美的單啟動CD-ROM。 多重啟動CD-ROM的工作原理 El Torito規範中不僅定義了單重啟動映像(single boot image)的配置,而且非常富有遠見地定義了多重啟動映像(multiple boot images)的配置。 上圖是El Torito規範中定義的普通CD-ROM、單重啟動CD-ROM和多重啟動CD-ROM的啟動映像配置圖(圖片來源:http://www.phoenix.com/resources/specs-cdrom.pdf)。從圖中可以看出,可啟動CD-ROM的工作原理如下: BIOS首先檢查光碟的第17個扇區(sector 17),搜尋其中的程式碼,若發現其中的啟動記錄磁碟區描述表(Boot Record Volume Descripter),它就根據表中的位址繼續搜尋啟動目錄(Booting Catalog),找到啟動目錄後 ,再根據其中描述的啟動入口(Boot Entry)找到相應的啟動磁牒映像(Bootable Disk Image)或啟動啟始文件,找到啟動磁牒映像後,讀取其中的資料,並執行相應的開機動作。 相對於單重啟動CD-ROM而言,多重啟動CD-ROM的啟動目錄中包含多個啟動入口,指向多個啟動磁牒映像。 圖1所描述的多重啟動配置是El Torito規範所描述的多重啟動映像配置,但由於多重啟動CD-ROM在實際工作中的套用較少,目前大多數主機板的BIOS對此支持得不是很好。在這類主機板上,用遵循El Torito規範所製作的多重啟動CD-ROM往往只能引導第1個(預設啟動出口所指向的)啟動映像,而其他的啟動映像莫名其妙地消失了! 為了解決這個問題,人們又相繼研究出了一些辦法來實現CD-ROM的多重啟動,目前最流行的辦法是「非模擬」(軟碟、硬碟)式BIOS模擬法。其工作原理與El Torito規範所描述的單重啟動映像配置原理基本相同,只是預設啟動的不是軟碟映像,而是1個啟動啟始文件,該啟動啟始文件引導光碟啟動,再由它去搜尋其他的啟動磁牒映像或啟始文件,根據配置文件列出啟動選項共用戶選項。 目前採用這種方法的工具軟體主要有3個:Diskemu、ISOLINUX/MEMDISK和Boot Scriptor。實際上,Boot Scriptor是Michael K Ter Louw在ISOLINUX的基礎上二次開發的產品,但它對ISOLINUX的功能和效能都進行了非常大的擴充,與ISOLINUX的差別較大,特別是從1.2.3b版開始引入了Diskemu,使其相容性大大提高,所以我們將其作為第3種方法加以介紹。 這3個軟體的網址分列如下: Diskemu: http://www.nu2.nu/diskemu/ ISOLINUX: http://syslinux.zytor.com/iso.php Boot Scriptor: http://www.bootscriptor.org/ 工欲善其事,必先利其器。 做啟動光碟離不開工具,合適的工具使你事半功倍,當然詳細的用法,參考後面幾課及範例. 1、CDImage.exe(指令行界面)或CDImagegui.exe(圖形界面) 必須。可啟動光碟鏡像製作工具,產生標準的ISO文件,同時具有最佳化光碟上文件的功能,使相同的文件只燒錄1個,其他的文件都連線到該檔案,是做N合1的核心軟體。 下載位址:http://www.tech-hints.com/prog/cdimage.zip http://www.tech-hints.com/prog/cdimagegui.zip 國內的飛力也有相應的GUI界面,中文的。 http://www.mesky.net/felixqu/down/in...so_chs_min.exe 2、WinImg 解安裝軟碟的img文件。 下載位址:http://www.winimage.com/winimage/winima60.zip 3、UltraEdit 十六進制編輯器,修改啟動啟始文件中的顯示文字。 下載位址:ftp://ultraedit.com/uedit32.zip 4、VMware(或Virtual PC) 測試製作完成的鏡像文件,不用燒刻就試能不能啟動了。你可以在XP下裝LINUX,9X及DOS等。 5、NERO 燒刻工具,不用多說,當然你也可以用別的燒錄軟體。 以上工具,除了CDIMaGE外,其它的我都不會寫詳細的教程,請參照網上其它教程。 系統要求: 1、最好是WIN2K或XP的系統,因為上述工具有的不能在9X下執行。 2、硬碟最好有2G以上的空間,多多益善。 3、最好有個燒錄機,不過沒有也沒關係,可以用做ISO。 今天就寫這麼多,明天從最簡單的單系統啟動講起。 第二章 單系統啟動碟的製作 書接上回,你如果有了我提到的一些工具,那麼我們就可製作啟動碟了。啟動分為單系統的和多重啟動碟。我們先從最簡單的單系統碟講起。 單系統的盤可以是DOS,WIN9X,WINNT,WIN2K,WINXP,LINUX等,但DOS和LINUX不在我們的討論之列。 一、WIN9X的啟動安裝碟的製作 主要是WIN98的啟動安裝碟製作,包括WINME和WIN95,WIN97等。上一章我們說到,原版WIN95不支持光碟啟動,但我們可以通過上述方法實現光碟啟動。所以我下面以WIN98為例。 你要有做一個WIN98軟碟啟動碟(或者其鏡像).在Win 98系統下可以通過兩種方式製作啟動碟:第一種方式就是在Win 98系統安裝程序中,系統將自動詢問是否需要在此新增啟動碟,你只要選項需要在此時新增。插入軟碟,按螢幕提示操作,就可以新增成功。 第二種方式就是在Win 98使用程序中隨時新增啟動碟,方法是: 按下「控制台」,雙按「增加刪除程式」,然後在出現的視窗中選項「啟動碟」選擇項,就會進入如圖1所顯示的「新增啟動碟」對話視窗。插入磁牒,然後按下「新增啟動碟」按鈕就可以了,系統同時將顯示製作進度。 然後用WINIMAGE,做成IMG或IMA格式,放到硬碟上。很簡單,不詳細說了。 如果你很懶的話,或者你根本沒有98的系統,我做好了一個,你可以去下載 這是98的 http://www.yihongtai.com/xjf/boot/WIN98.img 這是WINME的。 http://www.yihongtai.com/xjf/boot/winme.img 在IMG中可以集合好多工具,如你不愛用FDISK,你可以將PQ7做進去,還可以將殺毒軟體做進去。這有個2.88M的IMG,集合了好多工具,可以去下載,來自飛力的網站。 http://www.mesky.net/felixqu/down/Boot98.img 如果你想做成引導後,自動SETUP的,將AUTOEXEC.BAT從WIN98.IMG中用WINIMAGE解開,調整SETUP的路徑。預設的我設為\SIMPCHIN\WIN98\WIN98.你可以設為自已的實際光碟路徑。修改後,將其再匯入到WIN98.IMG中。 上面的東東都有了,我們可以用NERO燒刻了。 選BOOTDISK,如圖所顯示,我就不多說什麼了,如果對NERO不太懂,請參見其相關教程。 需要注意的是,我沒有燒成光碟,而是直接產生了一個ISO文件。因為你不知道你做的盤能不能滿足要求,所以做成ISO,讓VMware Workstation模擬一下. 如果直接做光碟,可以不採用ISO9600格式,可以用JOLIET格式。 如果測試沒問題,你可以刻自已的第一張安裝啟動碟了。 二、WIN2K起始碟的製作。 WIN2K啟動碟的製作需要用到一個WIN2K的啟始文件。來自飛力的網站。 下載位址:http://www.mesky.net/felixqu/down/bootw2k.abf。 (當然這個東東可以從正版WIN2K或XP的碟上,用WINISO提出來。)還需要一個重要的工具,就是CDIMAGE,在後幾課裡,它也是重要角色。下載位址上一章裡有。 1、準備一個有1.4G左右的剩餘空間的分區(這個問題很重要,不然會無法完成製作)和一張WIN2K的來源碟。 2、建立一個目錄,如目錄WIN2K,在WIN2K目錄下拷入 cdimage.exe 和 bootw2k.abf 3、在WIN2K目錄下建立子目錄,如CD. 4、CD目錄下拷入 WINDOWS 2000 所有的文件,必須確保複製了全部文件和子目錄,包括具有系統和隱藏內容的。複製完畢後,清除cd\下全部文件和子目錄的系統、隱藏和只讀內容。 BOOTFONT.BIN CDROM_IP.5 (這是專業版的文件,伺服器版用Cdrom_is.5,進階伺服器版用Cdrom_ia.5) CDROM_NT.5 CDROMSP3.TST (你的I386目錄集成了sp3,才需要這個文件) I386 I386\WINNT.EXE ...... 5、在windows 2000 的DOS提示號下,進入WIN2K目錄。 執行 cdimage -lWin2000 -t09/15/2002,00:00:00 -h -m -n -bootw2k.abf CD win2000.ISO 6、程序將會在WIN2K目錄下自動產生一個win2000.ISO. 7、為了保證成功,可以先用VMWARE和virtual daemon tool對win2000.ISO進行引導測試。 注意事項: 1)、根目錄下面必須有cdrom_ia.5、cdrom_is.5、cdrom_ip.5和cdrom_nt.5文件,這是我們欺騙安裝程序的標誌,它告訴安裝程序,這張光碟是Windows 2000的原始安裝碟。 2)、關於集成SP3的事項。Windows 2000 Service Pack 3集成進Windows 2000的安裝碟中,這樣安裝完畢的Windows 2000就集成了Service Pack 3,不必再單獨安裝了。 下載位址:http://download.microsoft.com/download/win2000platform/SP/SP3/NT5/CN/W2Ksp3.exe 下載後執行:假設你的實際路徑是:d:\win2k\cd 在DOS下執行:w2ksp3.exe -s:d:\win2k\cd 3)關於CDIMAGE的參數說明。 上述指令中各參數含義分別為: -l:設定光碟卷冊。此處為「Win2000」。 -t:設定光碟上所有文件的產生日期。 -g:轉換本機時間與格林威治時間(GMT)。 但如果是在Windows XP系統下,該參數似乎不起作用,「-t」參數指定的是GMT時間,而文件的產生時間是「-t」指定的時間加上時區轉換後的本機時間。如,上例中的文件產生本機時間是「20:00:00」,即GMT+8=北京時間。 -h:包含隱藏的目錄和文件。 -n:允許長檔案名。 -o:最佳化相同的文件,最重要的參數,這將是我們下一課做N合1的關鍵。 -m:允許產生的ISO文件超過640 MB。 -b:光碟啟動啟始程序 d:\win2k\cd:源文件路徑,將作為光碟的根目錄。 win2000.iso:最後產生的ISO文件,我們要的就是它。 cdimage /?可顯示所有選項。CDImagegui提供了一個圖形界面,使用更直觀,功能是一樣的。 三、WINXP啟動光碟的製作 和WIN2K的差不多,啟始文件還是可以用WIN2K的。不寫的太詳細了。 1、準備一個有1.4G左右的剩餘空間的分區(這個問題很重要,不然會無法完成製作)和一張WIN2K的來源碟。 2、建立一個目錄,如目錄WINXP,在WINXP目錄下拷入 cdimage.exe 和 bootw2k.abf 3、在WINXP目錄下建立子目錄,如CD. 4、CD目錄下拷入 WINDOWS XP 所有的文件,必須確保複製了全部文件和子目錄,包括具有系統和隱藏內容的。複製完畢後,清除cd\下全部文件和子目錄的系統、隱藏和只讀內容。 WIN51IP(這是專業版的文件,伺服器版用WIN51IS,進階伺服器版用WIN51IA,家庭版用WIN51IC) WIN51 I386 I386\WINNT.EXE ...... 5、在windows 2000 的DOS提示號下,進入WINXP目錄。 執行 cdimage -lWinXP -t09/15/2002,00:00:00 -h -m -n -bw2ksect.bin CD winxp.ISO 6、程序將會在WINXP目錄下自動產生一個winxp.ISO. 7、為了保證成功,可以先用VMWARE和virtual daemon tool對winxp.ISO進行引導測試。 還有WINNT的製作,和WIN2K的差不多,就不寫了,大家有興趣舉一反三,自已試試吧。 第三章 多重系統啟動碟的製作 上回我們講單系統的啟動光碟的製作,現在我們來講多重啟動光碟製作。目前採用這種方法的工具軟體主要有3個:Diskemu、ISOLINUX/MEMDISK和Boot Scriptor。實際上,Boot sriptor是Michael K Ter Louw在ISOLINUX的基礎上二次開發的產品,但它對ISOLINUX的功能和效能都進行了非常大的擴充,與ISOLINUX的差別較大,特別是從1.2.3b版開始引入了Diskemu,使其相容性大大提高,所以我們重點是Diskemu和Boot Scriptor。 可以毫不誇張地說,Diskemu是個劃時代的傳統之作。在Diskemu被開發出來之前,人們要製作1張多重啟動CD-ROM真的需要花費九牛二虎之力:按照El Torito規範需要進行繁瑣的位址計算,找到位址後再去修改ISO文件,最後辛辛苦苦製作出來的多重啟動CD-ROM還不能保證相容所有的BIOS!後來,Gary Tong為了解決可啟動CD-ROM無法瀏覽CD-ROM上文件的問題而開發了Diskemu(支持單重啟動CD-ROM),BIOS模擬法這時才真正誕生。Bart Lagerweij繼續這項工作,使Diskemu能夠最多支持20個啟動磁牒映像!但非常可惜,2001年11月,Bart在寫完Diskem1x.bin v1.1 BETA後便停止了對Diskemu的繼續開發(參見[url]http://www.nu2.nu/diskemu,茉/url]^文)。但不可否認,直到現在,Diskemu仍然是非常優秀的,其相容性最好。下面是Diskemu的主要特點: (1)支持ISO 9660文件系統。 (2)使用一種簡單的類似批次處理形式的指令碼語言來執行一定的動作,例如:清屏,顯示提示資訊,等待按鍵,執行特定磁牒映像,等等。 (3)可以快速地編寫自己定制的啟動表單,並啟動相應的磁牒映像。 (4)為專業人員提供一個指令行偵錯模式,手工執行一些操作。 (5)自動檢查軟碟映像類型。支持多種軟碟映像:160 KB,180 KB,320 KB,360 KB,1.2 MB,720 KB,820 KB,1.44 MB,1.68 MB,1.72 MB,2.88 MB。 (6)使用1張可啟動的Diskemu CD-Rom,你甚至可以從另外不能啟動的CD-ROM上啟動磁牒映像文件。當然需要首先用可啟動的Diskemu CD-Rom啟動,然後進入指令行模式,再更換光碟,鍵入「cd \」,再執行光碟上的映像文件(在實際工作中這項功能套用得並不多)。 (7)它使用一個單獨的引導器(loader.bin),將能夠正確地載入diskem1x.bin,甚至在BIOS不完全相容El-Torito規範的主機板上,也能保證正確引導。 Bart還有幾個計劃沒有完成,當然也是Diskemu的主要不足: (1)檢測第1快硬碟是否看似能夠啟動。 (2)讓diskem1x直接將資訊寫入螢幕緩衝。 (3)增加顏色功能。 (4)鍵盤映射(以支持其他國家的鍵盤)。 (5)增加軟碟映像熱交換功能。 (6)載入COM文件(COM文件一定不能用DOS功能)。 「非模擬」式BIOS模擬法要求有1個引導器和1套啟動映像/表單管理器。引導器必須以非模擬方式載入,即啟動後不能模擬為軟碟或硬碟,這是製作BIOS模擬法多重啟動CD-ROM的關鍵。下面以Diskemu為例簡述其執行流程,ISOLINUX與Boot Scriptor的執行流程與此基本類似。 Diskemu包含3個主要文件: loader.bin:啟動引導器; diskem1x.bin:啟動映像/表單管理器; diskemu.cmd:預設的啟動表單配置文件,純文本文件,需要用戶手工新增。 啟動引導器loader.bin是啟動目錄中預設的啟動入口,loader.bin將最先被載入到預設的載入位址0:7c00h。loader.bin被載入後,首先將自己移至位址5000:0h,然後搜尋光碟的根目錄,搜尋文件diskem1x.bin。找到後,diskem1x.bin將被載入到位址0:7c00h,Loader.bin的使命完成。diskem1x.bin被載入後,首先也將自己移至位址5000:0h,然後搜尋光碟根目錄,搜尋預設的啟動表單配置文件diskemu.cmd,找到後,顯示其中的表單項,並根據用戶按鍵執行相應的啟動映像。如果沒有在光碟的根目錄下找到diskemu.cmd,或者在diskem1x.bin的載入程序中用戶按下了Shift鍵,diskem1x.bin將進入指令行模式(可以進行各種偵錯)。 從Diskemu的執行流程來看,其本質是單重啟動, diskem1x.bin載入後,它與啟動表單配合,為用戶提供多個啟動入口,模擬El Torito規範中的多重啟動的啟動目錄,並根據用戶的選項,完成多重啟動的動作。這也正式「BIOS 模擬法」名稱的由來。 製作多重啟動CD-ROM一般要經過三個步驟: 準備所需資料→製作光碟映像ISO文件→將ISO文件燒錄到CD-ROM 燒錄軟體的作用就是完成後兩步操作。 當然,不製作ISO文件而直接燒錄出多重啟動CD-ROM也是辦得到的,但除非十分有把握,否則最好不要冒險。 能夠製作多重啟動CD-ROM映像文件的燒錄軟體很多。從BIOS模擬法的工作流程即可知道:只要是能夠製作單重啟動CD-ROM映像文件的燒錄軟體也應該能夠製作多重啟動CD-ROM映像文件。但凡事總有例外:ISOLINUX就很特殊,不是所有的燒錄軟體都適用。 我們今天要做的是WINDOWS 6 IN 1。如果再加個DOS 6.22可以來個7IN1了。 是以下6個系統,WIN2KPRO、WIN2KSEVER、WIN2KASEVER、WIN98SE、WINME、WIN97,要說明的是,WIN2K是打了SP3的了,而且包括WIN2K來源碟所帶的所有程式。WIN98SE、WINME、WIN97則不帶任何來源碟工具(如PWS等),只是安裝文件。當然了,你可以不要這麼多的系統,只選幾個想要就行了。 如做個WIN98SE和XP的合1等等。這個盤有800M左右,用99MIN 870M盤刻還有餘量。如果沒有800M或870M的碟,請去掉一些系統或WIN2K的一些工具。 1、所用的工具:CDIMAGE、NERO、winimage、上述系統的的來源碟,還有VMware Workstation。 2、上述映像啟始文件,你可以自已做,但我已打好包了,建義新手採用我的BOOT來引導,省事,不用你配置了。 http://www.yihongtai.com/xjf/boot/boot.rar 這是DISKMU文件。 http://www.yihongtai.com/xjf/BOOT/diskmu.rar 3、目錄結構 建一個資料夾為在D:\WIN2K\ROOT,保證硬碟上有足夠空餘空間(假設將文件存放在硬碟d:,全部三個版本的原始文件約佔用空間為1.5 GB,產生的鏡像文件約為811 MB),建立如下目錄結構,並複製文件cdimage.exe到相應位置: d:\win2k\cdimage.exe d:\win2k\root\boot d:\win2k\root\wpro d:\win2k\root\wsrv d:\win2k\root\asrv d:\win2k\root\win98 d:\win2k\root\winme d:\win2k\root\win97 d:\win2k\root\win2000 d:\win2k\root\win2000\asvr d:\win2k\root\win2000\wsvr d:\win2k\root\win2000\wpro 將下下載的boot.RAR解壓縮後用於放到boot文件,把所有啟始文件全部放進來,那位看官說了,放在根目錄行不行,是可以的,但放進去boot目錄比較整潔,而且我已經把路徑全設好了,請新手不要改動,否則不能引導。 WPRO,WSRV,ASRV分別放WIN2K三個版本的BOOT iMG,下面有詳細的說明。 其中,d:\win2k\root\是Windows 7合1光碟的根目錄,d:\win2k\root\win2000\asrv用於存放Windows 2000進階伺服器版文件,d:\win2k\root\win2000\wsrv用於存放Windows 2000伺服器版文件,d:\win2k\root\win2000\wpro用於存放Windows 2000專業版文件,d:\win2k\root\win98內放WIN98的安裝文件,d:\win2k\root\win97內放WIN97的安裝文件,d:\win2k\root\winme內放WINme的安裝文件. 將d:\win2k\WIN2000\root\asrv目錄下的cdrom_ia.5和cdrom_nt.5複製到d:\win2k\root\,將d:\win2k\rootWIN2000\wsrv目錄下的cdrom_is.5複製到d:\win2k\root\,將:\win2k\root\win2000\wpro目錄下的cdrom_ip.5複製到d:\win2k\root\。 d:\win2k\root\下面必須有cdrom_ia.5、cdrom_is.5、cdrom_ip.5和cdrom_nt.5文件,這是我們欺騙安裝程序的標誌:這張光碟是Windows2000的原始安裝碟。 將下下載的DISKMU.RAR解壓縮後,放到複製到d:\win2k\root\ 以上WIN2K下放的是WIN2K的來源碟所有文件,WIN9X資料夾下放的是完全安裝文件,下面沒有什麼資料夾。不要放錯了,要不然無法安裝。 圖片 1 4、給WIN2K打SP3(當然不打也可以) 執行w2ksp3.exe /x將Service Pack 3全部文件提取出來,假設提取到f:\tmp。在f:\tmp\i386\update下分別執行指令行指令: update.exe -s:d:\win2k\root\win2000\asrv update.exe -s:d:\win2k\root\win2000\wsrv update.exe -s:d:\win2k\root\win2000\wpro 上述指令執行完畢後,Service Pack 3已經集成到Windows 2000各版本中,且d:\win2k\root\win2000\asvr、 d:\win2k\root\win2000\wsvr、d:\win2k\root\win2000\wpro各目錄下應有一文件cdromsp3.tst,將其複製到d:\win2k\root\。 d:\win2k\root\下面必須有cdromsp3.tst文件,否則安裝程序會要求我們插入Service Pack 3光碟。 5、 跳過輸入產品序列號 搜尋各個版本i386目錄,找到文件setupp.ini,用記事本開啟,將其中的「Pid=xxxxx000」修改為「Pid=xxxxx270」,儲存碟退出。這一步不是必須的,只是圖個方便。 6、 配置安裝程序 Windows 2000正版光碟上有個bootdisk子目錄,裡面包含4張Windows 2000安裝軟碟鏡像的img文件。用WinImg將各個版本bootdisk目錄下的4個img文件分別釋放到各自的系統檔案目錄下: d:\win2k\root\win2000\wpro\bootdisk的img文件全部釋放到d:\win2k\root\wpro\下。 d:\win2k\root\win2000\wsrv\bootdisk的img文件全部釋放到d:\win2k\root\wsrv\下。 d:\win2k\root\win2000\asrv\bootdisk的img文件全部釋放到d:\win2k\root\asrv\下。 一定要注意,這是我們模擬軟碟安裝的關鍵,一定要連帶system32目錄(裡面有兩個文件)一起釋放。 從d:\win2k\root\win2000\wpro\i386目錄中複製bootfix.bin,將其分別貼上到d:\win2k\root\asrv、d:\win2k\root\wpro和d:\win2k\root\wsrv。該檔案的作用就是光碟啟動後顯示一條資訊「Press any key to boot from CD.」,並等待5秒鐘,若沒有按鍵,則從硬碟啟動;否則從光碟啟動。 如果覺得5秒的延時太短,可以用UltraEdit編輯該檔案,找到「Press any key to boot from CD.」後面的「49 00 12 00」,將「49」改為「AA」延時可達10秒,改為「FF」延時可達15秒。 如果集成了Service Pack 3,需要將wpro、wsrv、asrv下面的文件用各自i386目錄下面的文件替換(實際上只需要替換txtsetup.sif就行了),即將啟動軟碟組中的文件也替換為集成Service Pack 3後的文件。注意:一定不要替換system32中的文件,否則無法安裝。 要替換這一大堆文件比較繁瑣,用下面的方法可以簡化: xxcopy法。下載xxcopy(http://www.xxcopy.com/),執行下面的指令: xxcopy d:\win2k\root\win2000\wpro\i386 d:\win2k\root\wpro\ /U /E /YY xxcopy d:\win2k\root\win2000\wsrv\i386 d:\win2k\root\wsrv\ /U /E /YY xxcopy d:\win2k\root\win2000\asrv\i386 d:\win2k\root\asrv\ /U /E /YY 替換完成後刪除wpro、wsrv、asrv下面的空目錄(xxcopy替換的副產品)即可。 7、 修改setupldr.bin和txtsetup.sif 用Ultraedit開啟d:\win2k\root\asrv\setupldr.bin,用ASCII方式替換「i386」為「asrv」,共3處; 用Ultraedit開啟d:\win2k\root\wsrv\setupldr.bin,用ASCII方式替換「i386」為「wsrv」,共3處; 用Ultraedit開啟d:\win2k\root\wpro\setupldr.bin,用ASCII方式替換「i386」為「wpro」,共3處。 儲存碟退出。 用Ultraedit開啟d:\win2k\root\win200\asrv\txtsetup.sif,替換「SetupSourcePath = "\"」為「SetupSourcePath = "\win2000\asrv"」; 用Ultraedit開啟d:\win2k\root\win200\wsrv\txtsetup.sif,替換「SetupSourcePath = "\"」為「SetupSourcePath = "\win2000\wsrv"」; 用Ultraedit開啟d:\win2k\root\win200\wpro\txtsetup.sif,替換「SetupSourcePath = "\"」為「SetupSourcePath = "\win2000\wpro"」。 儲存碟退出。 這兩個文件中的路徑告訴安裝程序從何處複製文件,必須與目錄結構相匹配。 8、WIN97.IMG,WIN98.IMG,WINME.IMG中的AUTOEXEC.BAT我已配置好,如這個鏡像是你自已做的,可能安裝會和我的不一樣,具體配置,可以參考我做的這個,因為用系統做的軟碟啟動碟,做不出正版的效果。關於這個不想寫的太多,如果細說,一章都不夠。 9、diskemu.cmd的文件我已改好,如你不滿意,可以用NOTEPAD改一下。不過不要改檔案名和路徑。 10、製作ISO CDImage程序加「-o」參數最佳化後產生的鏡像文件約為811MB,我們假設將它存放在f:盤的根目錄下,指令行指令如下: d:\win2k\cdimage -lWin6in1 -t015/9/2002,12:00:00 -g -h -n -o -m -bd:\win2k\root\loader.bin d:\win2k\root f:\win6in1.iso 上述指令中各參數含義分別為: -l:設定光碟卷冊。此處為「Win6in1」。 -t:設定光碟上所有文件的產生日期。 -g:轉換本機時間與格林威治時間(GMT)。但如果是在Windows XP系統下,該參數似乎不起作用,「-t」參數指定的是GMT時間,而文件的產生時間是「-t」指定的時間加上時區轉換後的本機時間。如,上例中的文件產生本機時間是「20:00:00」,即GMT+8=北京時間。 -h:包含隱藏的目錄和文件。 -n:允許長檔案名。 -o:最佳化相同的文件,最重要的參數. -m:允許產生的ISO文件超過640 MB。 -b:光碟啟動啟始程序,此處我們使用了loader.bin。 d:\win2k\root:源文件路徑,將作為光碟的根目錄。 f:\win6in1.iso:最後產生的ISO文件,我們要的就是它。 cdimage /?可顯示所有選項。CDImagegui提供了一個圖形界面,使用更直觀,功能是一樣的。 11、我們可利用VMware Workstation(http://www.vmware.com/)或Virtual PC(http://www.connectix.com)測試其效果。正確無誤後,可將iso燒錄到光碟。 我上面的用了diskemu做了一個多重啟動,大家慢慢體會後,我們再用Boot Scriptor做。 ——實戰Boot Scriptor 在「Windows n合1 啟動光碟製作攻略——Windows 2000 3合1與Windows XP 2合1啟動光碟的製作方法」一文中我講解了Windows 2000 3合1光碟與Windows XP 2合1的光碟的製作原理與製作方法,相信各位朋友一定會有所啟發,有些人已經自己動手操作了。但是後來發現,上文中有些錯誤,當時沒有考慮到,這裡修正如下: (1)Windows 2000:如果集成了SP2或SP3,一定要將i386子目錄中的文件txtsetup.sif複製到各自的安裝目錄下(或者乾脆用i386中的同名文件全部替換),覆蓋掉原來的文件,否則安裝時系統報錯。 (2)Windows XP:用CDImage製作ISO映像文件時,原來的「-n」參數要修改為「-j1」,否則ISO文件能夠通過虛擬機測試,但燒錄到光碟後會找不到ASMS目錄裡的文件,因為路徑剛剛超過8層。 各位朋友製作好了2合1、3合1後,一定希望弄個5合1、6合1、8合1、xx合1,把各個版本的操作系統通通搜羅進來!很好,如果你有DVD燒錄機的話,或者有1.3 GB的DDCD燒錄機,我就來滿足你的這個願望:MS & Linux xx合1啟動版,只要你的DVD足夠大。但是我不會幫你做,我只提供一個通用的辦法。還是讓我們以Windows 2000 3合1為例來講解吧。 1. 所需工具 (1)WPROSECT.DAT、WSRVSECT.DAT、ASRVSECT.DAT 必須。Windows 2000光碟啟動啟始文件。這三個文件其實是一樣的,只是其中原來的字串串「i386」分別被替換成了「wpro」、「wsrv」和「asrv」。 下載位址:http://www.tech-hints.com/files/2kroot.zip (2)CDImage.exe(指令行界面)或CDImagegui.exe(圖形界面) 必須。可啟動光碟鏡像製作工具,產生標準的ISO文件,同時最佳化光碟上的文件。 下載位址:http://www.tech-hints.com/prog/cdimage.zip,http://www.tech-hints.com/prog/cdimagegui.zip (3)WinImg 可選。解Windows 2000安裝軟碟組的img文件。可替換方法是製作4張安裝軟碟,然後將4張軟碟上的全部文件複製到硬碟相應目錄下。 下載位址:http://www.winimage.com/winimage/winima60.zip (4)UltraEdit 可選。十六進制編輯器。 下載位址:ftp://ultraedit.com/uedit32.zip (5)Windows 2000安裝軟碟組 必須。用軟碟引導機器,載入必要的系統檔案及基本驅動程式,然後從光碟繼續安裝。 Windows 2000安裝軟碟組在正版光碟的bootdisk目錄下,三個版本的安裝軟碟是不同的,不能混用。 (6)Windows 2000 Service Pack 3 可選。將Windows 2000 Service Pack 3集成進Windows 2000的三個版本中,這樣安裝完畢的Windows 2000就集成了Service Pack 3,不必再單獨安裝了。 下載位址:http://download.microsoft.com/download/win2000platform/SP/SP3/NT5/CN/W2Ksp3.exe (7)VMware(或Virtual PC)和Nero 可選。測試製作完成的3合1鏡像文件並燒錄光碟。 (8)Boot Scriptor 必須。多重啟動光碟管理器。這個軟體的版本發展非常快,各版本之間的功能大不相同,目前能夠下載的是1.2.3b,如果以後出了新版本,可以參考這裡的做法。 下載位址:http://tigger.cc.uic.edu/~mterlo1/bscript/distro/Boot%20Scriptor%20(1.2.3b).zip 2. 目錄及文件結構 保證硬碟上有足夠空餘空間(假設將文件存放在硬碟d:,全部三個版本的原始文件約佔用空間為1.24 GB,產生的鏡像文件約為502 MB),建立如下目錄結構,並複製文件cdimage.exe到相應位置: d:\win2k\cdimage.exe d:\win2k\root\asrv d:\win2k\root\wpro d:\win2k\root\wsrv 其中,d:\win2k\root\是Windows 2000 3合1光碟的根目錄,d:\win2k\root\asrv用於存放Windows 2000進階伺服器版文件,d:\win2k\root\wsrv用於存放Windows 2000伺服器版文件,d:\win2k\root\wpro用於存放Windows 2000專業版文件。 3. 文件複製 將Windows 2000進階伺服器版光碟上的文件全部複製到asrv目錄,將Windows 2000伺服器版光碟上的文件全部複製到wsrv目錄,將Windows 2000專業版光碟上的文件全部複製到wpro目錄。 必須確保複製了全部文件和子目錄,包括具有系統和隱藏內容的。 複製完畢後,清除d:\win2k\root\下全部文件和子目錄的系統、隱藏和只讀內容。 將d:\win2k\root\asrv目錄下的cdrom_ia.5和cdrom_nt.5複製到d:\win2k\root\,將d:\win2k\root\wsrv目錄下的cdrom_is.5複製到d:\win2k\root\,將d:\win2k\root\wpro目錄下的cdrom_ip.5複製到d:\win2k\root\。 要點:d:\win2k\root\下面必須有cdrom_ia.5、cdrom_is.5、cdrom_ip.5和cdrom_nt.5文件,這是我們欺騙安裝程序的標誌:這張光碟是Windows 2000的原始安裝碟。 4. 將Service Pack 3集成到Windows 2000各版本中 執行w2ksp3.exe /x將Service Pack 3全部文件提取出來,假設提取到f:\tmp。在f:\tmp\i386\update下分別執行指令行指令: update.exe -s:d:\win2k\root\asrv update.exe -s:d:\win2k\root\wsrv update.exe -s:d:\win2k\root\wpro 上述指令執行完畢後,Service Pack 3已經集成到Windows 2000各版本中,且d:\win2k\root\asrv、d:\win2k\root\wsrv、d:\win2k\root\wpro各目錄下應有一文件cdromsp3.tst,將其複製到d:\win2k\root\。 要點:d:\win2k\root\下面必須有cdromsp3.tst文件,否則安裝程序會要求我們插入Service Pack 3光碟。 5. 跳過輸入產品序列號 搜尋各個版本i386目錄,找到文件setupp.ini,用記事本開啟,將其中的「Pid=xxxxx000」修改為「Pid=xxxxx270」,儲存碟退出。這一步不是必須的,只是圖個方便。 6. 配置安裝程序 Windows 2000正版光碟上有個bootdisk子目錄,裡面包含4張Windows 2000安裝軟碟鏡像的img文件。用WinImg將各個版本bootdisk目錄下的4個img文件分別釋放到各自的系統檔案目錄下: d:\win2k\root\wpro\bootdisk的img文件全部釋放到d:\win2k\root\wpro\下。 d:\win2k\root\wsrv\bootdisk的img文件全部釋放到d:\win2k\root\wsrv\下。 d:\win2k\root\asrv\bootdisk的img文件全部釋放到d:\win2k\root\asrv\下。 要點:這是我們模擬軟碟安裝的關鍵,一定要連帶system32目錄(裡面有兩個文件)一起釋放。 如果集成了Service Pack 3,需要將wpro、wsrv、asrv下面的文件用各自i386目錄下面的文件替換(實際上只需要替換txtsetup.sif就行了),即將啟動軟碟組中的文件也替換為集成Service Pack 3後的文件。注意:一定不要替換system32中的文件,否則無法安裝。 要替換這一大堆文件比較繁瑣,可以用兩個辦法: (1)xxcopy法。下載xxcopy(http://www.xxcopy.com/),執行下面的指令: xxcopy d:\win2k\root\wpro\i386 d:\win2k\root\wpro\ /U /E /YY xxcopy d:\win2k\root\wsrv\i386 d:\win2k\root\wsrv\ /U /E /YY xxcopy d:\win2k\root\asrv\i386 d:\win2k\root\asrv\ /U /E /YY 替換完成後刪除wpro、wsrv、asrv下面的空目錄(xxcopy替換的副產品)即可。 (2)批次處理替換法。以wpro目錄為例: dir d:\win2k\root\wpro\*.* >1.bat move d:\win2k\root\wpro\1.bat d:\win2k\root\wpro\i386 用Ultraedit編輯1.bat,只保留檔案名,每個檔案名一行,修改每行的指令為 copy [檔案名] d:\win2k\root\wpro\ 儲存碟退出,在d:\win2k\root\wpro\i386目錄下執行1.bat,d:\win2k\root\wpro\i386目錄沒有而d:\win2k\root\wpro有的文件不替換。其他兩個版本如法炮製。 7. 修改setupldr.bin和txtsetup.sif 用Ultraedit開啟d:\win2k\root\asrv\setupldr.bin,用ASCII方式替換「i386」為「asrv」,共3處; 用Ultraedit開啟d:\win2k\root\wsrv\setupldr.bin,用ASCII方式替換「i386」為「wsrv」,共3處; 用Ultraedit開啟d:\win2k\root\wpro\setupldr.bin,用ASCII方式替換「i386」為「wpro」,共3處。 儲存碟退出。 用Ultraedit開啟d:\win2k\root\asrv\txtsetup.sif,替換「SetupSourcePath = "\"」為「SetupSourcePath = "\asrv"」; 用Ultraedit開啟d:\win2k\root\wsrv\txtsetup.sif,替換「SetupSourcePath = "\"」為「SetupSourcePath = "\wsrv"」; 用Ultraedit開啟d:\win2k\root\wpro\txtsetup.sif,替換「SetupSourcePath = "\"」為「SetupSourcePath = "\wpro"」。 儲存碟退出。 要點:這兩個文件中的路徑告訴安裝程序從何處複製文件,必須與目錄結構相匹配。 8. 啟動表單的製作 釋放文件Boot Scriptor (1.2.3b).zip,將其中的bscript子目錄複製到d:\win2k\root\,將bscript\loader.bin(光碟引導器)移動到d:\win2k\,刪除bscript\bscriptw.com,bscript\modules中的文件不動(儘管有些是我們不需要的,但文件很小)。 釋放2kroot.zip,將其中的文件WPROSECT.DAT、WSRVSECT.DAT、ASRVSECT.DAT複製到d:\win2k\root\bscript。 9. 編寫啟動表單配置文件bscript\bscript.ini start: clear print c "\n\n\c17===================================================\n" print c "\c17 \c1fWindows 2000 Setup\c17 \n" print c "\c17---------------------------------------------------\n" print c "\c17 \n" print c "\c17 \c1f1\c17 Windows 2000 Professional \n" print c "\c17 \c1f2\c17 Windows 2000 Server \n" print c "\c17 \c1f3\c17 Windows 2000 Advanced Server \n" print c "\c17 \n" print c "\c17 \c1fF\c17 Boot from first Floppy Drive \n" print c "\c17 \c1f Esc\c17 Boot from first Hard Disk \n" print c "\c17 \n" print c "\c17---------------------------------------------------\n" print c "\c17 Select the item and then press Enter \n" print c "\c17===================================================\n" ; start1: call drawscrn setpos 1 7 print c "\c3f 1\c31 Windows 2000 Professional " key1: getkey call mainkey &#111nkey space goto item_1 &#111nkey enter goto item_1 &#111nkey up goto start5 &#111nkey down goto start2 goto key1 ; start2: call drawscrn setpos 1 8 print c "\c3f 2\c31 Windows 2000 Server " key2: getkey call mainkey &#111nkey space goto item_2 &#111nkey enter goto item_2 &#111nkey up goto start1 &#111nkey down goto start3 goto key2 ; start3: call drawscrn setpos 1 9 print c "\c3f 3\c31 Windows 2000 Advanced Server " key3: getkey call mainkey &#111nkey space goto item_3 &#111nkey enter goto item_3 &#111nkey up goto start2 &#111nkey down goto start4 goto key3 ; start4: call drawscrn setpos 1 11 print c "\c3f F\c31 Boot from first Floppy Drive " key4: getkey call mainkey &#111nkey space boot 0x00 &#111nkey enter boot 0x00 &#111nkey up goto start3 &#111nkey down goto start5 goto key4 ; start5: call drawscrn setpos 1 12 print c "\c3f Esc\c31 Boot from first Hard Disk " key5: getkey call mainkey &#111nkey space boot 0x80 &#111nkey enter boot 0x80 &#111nkey up goto start4 &#111nkey down goto start1 goto key5 ; mainkey: &#111nkey 1 goto item_1 &#111nkey 2 goto item_2 &#111nkey 3 goto item_3 &#111nkey f boot 0x00 &#111nkey F boot 0x00 &#111nkey esc boot 0x80 return ; item_1: cls chain WPROSECT.DAT goto start1 ; item_2: cls chain WSRVSECT.DAT goto start2 ; item_3: cls chain ASRVSECT.DAT goto start3 ; drawscrn: setpos 1 7 print c "\c1f 1\c17 Windows 2000 Professional \n" print c "\c1f 2\c17 Windows 2000 Server \n" print c "\c1f 3\c17 Windows 2000 Advanced Server \n" print c "\n" print c "\c1f F\c17 Boot from first Floppy Drive \n" print c "\c1f Esc\c17 Boot from first Hard Disk " return ; eof: ; 這個表單配置文件看起來挺複雜,實際上大量的程式碼都是為了使用游標鍵而重複的。除了界面有點簡陋外(你可以加上ANSI製表符等高位DOS擴展符),這個配置文件實現了彩色字串、游標鍵選項、從軟碟啟動、從硬碟啟動等多種功能。 10. 製作ISO文件 CDImage程序加「-o」參數最佳化後產生的鏡像文件約為502 MB,我們假設將它存放在f:盤的根目錄下,指令行指令如下: d:\win2k\cdimage -lWin2K-3in1 -t01/10/2000,12:00:00 -g -h -j1 -o -m -bd:\win2k\loader.bin d:\win2k\root f:\w2k-3in1.iso 11. 測試ISO文件 用VMware載入w2k-3in1.iso文件,設定第1啟動設備為光碟。從光碟啟動後,系統將顯示啟動表單,將顯示條移動到相應的項目上,然後按Enter鍵鍵;也可以直接按快捷鍵。 提示:如果僅僅為了測試表單的效果,可以不刪除bscript\bscriptw.com,直接執行bscriptw.com,它將顯示Bscript\Bscript.Ini的效果。 12. 增加特殊文件 可以根據個人的愛好,在光碟上再增加一些特殊文件,例如新版IE、DirectX及一些專用的驅動程式等,只需將其複製到d:\win2k\root目錄下,並重新製作ISO文件。 13.燒錄光碟 ISO鏡像文件測試無誤後,即可用自己熟悉的燒錄軟體軟體(例如Nero)將其燒錄到光碟。 這樣,一張可啟動的Windows 2000 3合1光碟就製作完成了。當然,最好再用光碟正式地安裝一遍,因為VMware測試與光碟測試是不完全一樣的。 14.集成Windows XP Windows XP與Windows 2000的製作原理是一樣的,如果要集成進去,只需要修改WPROSECT.DAT,將其中的「wpro」改為XP文件所在目錄即可,並修改啟動表單配置文件bscript\bscript.ini。這樣的一張光碟最佳化以後大概有1 GB(Windows 2000與Windows XP相同的文件不多),你要考慮的首要問題是用什麼盤來燒錄。 15.DOS、Windows 9x與Linux等可啟動型n合1的製作 DOS、Windows 9x和Linux等啟動光碟都是採用單張軟碟映像的,如何增加這類系統呢?簡單得很:增加一個啟動選項,並將BSCRIPT.INI中的chain WPROSECT.DAT修改為啟動軟碟映像就行了。假設軟碟映像為boot1.img,具體方法有三種: (1)diskemu boot1.img (2)memdisk boot1.img (3)isolinux boot1.img 這幾種方法都需要用到bscript\modules中的相應模組。三種方法的效果是不一樣的,其中diskemu模擬法速度最快,相容性最好,只在1.2.3b版本中剛剛引進,建議採用。其他兩種是ISOLINUX所採用的傳統方法。 16.特色點評 優點:彩色表單,游標移動,xx合1,……,這是目前最最新、最最牛、最最棒、最最神奇、最最最最……的方法。 缺點:Boot Scriptor的發展太快,各版本之間有點不相容,但說實在的,後面的版本越來越好,尤其是diskemu的引入,最激動人心,最大得人心,最大快人心,幾乎徹底解決了映像文件的相容性問題。 Windows n合1 啟動光碟製作攻略 ——Windows 2000 3合1與Windows XP 2合1啟動光碟的製作方法 Windows 2000 3合1光碟(簡體中文專業版+簡體中文伺服器版+簡體中文進階伺服器版)已經在街面上流行很久了,Windows XP 2合1的光碟(簡體中文專業版+簡體中文家庭版)最近也開始上街了。這些n合1的光碟中,有些是不能用光碟進行啟動的,我們只能在DOS下安裝;有些是能夠光碟啟動並從光碟正常安裝的。不能啟動的n合1光碟的製作非常簡單,我們沒有必要去討論,我們最感興趣的是哪些能夠用光碟啟動並正常安裝的n合1光碟,本文的宗旨就是研究一下這類光碟的基本原理及製作方法。 可啟動型n合1光碟使用了多重啟動光碟技術,這種技術近幾年來開始流行,但目前尚未形成統一的工業標準,有多種方法可以實現它。最初,該技術採用的工具是CD啟動模擬器:diskemu1x(我們應該感謝Bart和Gary Tong,他們總能夠寫出一些能夠完成偉大工程的小程序)。diskemu1x功能很強大,使用也比較容易,但很可惜,Bart已經不再繼續開發它了(參見[url]http://www.nu2.nu/diskemu/︴/url]^。所幸的是,Bart並沒有放棄對Windows 2000 3合1的興趣,他搞了一個體積更小巧,使用更容易,針對性更強的東西:w2kall.bin,Windows 2000通用啟動引導器(再次感謝Bart)。目前街面上還沒有使用w2kall製作的Windows 2000 3合1光碟。由於w2kall.bin附帶的說明非常簡短,網上更是無法搜尋到相關的資訊,有鑒於此,我對它進行了一番研究,用w2kall成功地製作出了Windows 2000 3合1光碟。經過另一番試驗,又成功地製作出了Windows XP 2合1光碟。下面就是我的一些心得體會,願與各位朋友共享。 一、Windows 2000/XP多重啟動光碟的啟動原理 Windows 2000/XP各版本的原始安裝光碟是單重啟動,其啟始文件中固定了光碟根目錄下的i386目錄(這一點給製作多重啟動的n合1光碟製造了最大的障礙),該目錄中不僅存放了Windows 2000/XP的系統檔案,而且還存放了安裝所需的安裝文件和驅動程式。其引導程序如下: 光碟引導->setupldr->ntdetect->載入驅動程式->讀txtsetup.sif->開始光碟安裝 上述多個步驟中都涉及了光碟根目錄下的i386目錄,而我們將製作的n合1光碟是多重啟動的,每個版本都包含一個i386子目錄,它與單重啟動光碟的目錄結構不同(在光碟根目錄與i386目錄之間多了1層版本目錄),因此不能簡單地照搬單重啟動的引導程序。所幸前輩高手們早就碰到了這個難題,而且也非常巧妙地解決了,那就是使用Windows 2000/XP的安裝軟碟組:用軟碟啟動電腦,依次載入所需驅動程式及必要的系統檔案,從而避開安裝時到光碟根目錄下的i386目錄載入安裝文件和驅動程式,然後安裝程序再從Windows 2000/XP安裝光碟中安裝複製其餘的文件,繼續安裝。我們所要模擬的就是這一程序。改造後的n合1光碟引導程序如下: 光碟引導->選項版本模組->模擬軟碟啟動->setupldr->ntdetect->載入驅動程式->讀txtsetup.sif->開始光碟安裝 並將上述多個步驟中都涉及到的光碟根目錄下的i386目錄更改為光碟根目錄下的版本目錄(該目錄中將存放安裝軟碟組上的文件)。 二、Windows 2000 3合1啟動光碟的製作 1. 所需工具 (1)w2kall.bin 必須。Windows 2000光碟啟動啟始文件。 下載位址:http://www.tech-hints.com/files/w2kall.zip (2)CDImage.exe(指令行界面)或CDImagegui.exe(圖形界面) 必須。可啟動光碟鏡像製作工具,產生標準的ISO文件,同時具有最佳化光碟上文件的功能,使相同的文件只燒錄1個,其他的文件都連線到該檔案,有點類似Unix的功能。 下載位址:http://www.tech-hints.com/prog/cdimage.zip,http://www.tech-hints.com/prog/cdimagegui.zip (3)WinImg 可選。解Windows 2000安裝軟碟組的img文件。可替換方法是製作4張安裝軟碟,然後將4張軟碟上的全部文件複製到硬碟相應目錄下。 下載位址:http://www.winimage.com/winimage/winima60.zip (4)UltraEdit 可選。十六進制編輯器,修改啟動啟始文件中的顯示文字。 下載位址:ftp://ultraedit.com/uedit32.zip (5)Windows 2000安裝軟碟組 必須。用軟碟引導機器,載入必要的系統檔案及基本驅動程式,然後從光碟繼續安裝。 Windows 2000安裝軟碟組在正版光碟的bootdisk目錄下,三個版本的安裝軟碟是不同的,不能混用。 (6)Windows 2000 Service Pack 3 可選。將Windows 2000 Service Pack 3集成進Windows 2000的三個版本中,這樣安裝完畢的Windows 2000就集成了Service Pack 3,不必再單獨安裝了。 下載位址:http://download.microsoft.com/download/win2000platform/SP/SP3/NT5/CN/W2Ksp3.exe (7)VMware(或Virtual PC)和Nero 可選。測試製作完成的3合1鏡像文件並燒錄光碟。 2. 目錄及文件結構 保證硬碟上有足夠空餘空間(假設將文件存放在硬碟d:,全部三個版本的原始文件約佔用空間為1.24 GB,產生的鏡像文件約為502 MB),建立如下目錄結構,並複製文件w2kall.bin、cdimage.exe到相應位置: d:\win2k\w2kall.bin d:\win2k\cdimage.exe d:\win2k\root\asrv d:\win2k\root\wpro d:\win2k\root\wsrv 其中,d:\win2k\root\是Windows 2000 3合1光碟的根目錄,d:\win2k\root\asrv用於存放Windows 2000進階伺服器版文件,d:\win2k\root\wsrv用於存放Windows 2000伺服器版文件,d:\win2k\root\wpro用於存放Windows 2000專業版文件。 要點:「asrv」、「wsrv」和「wpro」的目錄名稱是類BIOS在w2kall.bin中的,只能是4個字串長度。若需要存放在其他目錄下,需要用UltraEdit修改w2kall.bin文件,找到「WPROWSRVASRV」,將其替換為其他名稱,並相應修改目錄結構。此外,還必須在後面的配置中進行相應修改。 3. 文件複製 將Windows 2000進階伺服器版光碟上的文件全部複製到asrv目錄,將Windows 2000伺服器版光碟上的文件全部複製到wsrv目錄,將Windows 2000專業版光碟上的文件全部複製到wpro目錄。 必須確保複製了全部文件和子目錄,包括具有系統和隱藏內容的。 複製完畢後,清除d:\win2k\root\下全部文件和子目錄的系統、隱藏和只讀內容。 將d:\win2k\root\asrv目錄下的cdrom_ia.5和cdrom_nt.5複製到d:\win2k\root\,將d:\win2k\root\wsrv目錄下的cdrom_is.5複製到d:\win2k\root\,將d:\win2k\root\wpro目錄下的cdrom_ip.5複製到d:\win2k\root\。 要點:d:\win2k\root\下面必須有cdrom_ia.5、cdrom_is.5、cdrom_ip.5和cdrom_nt.5文件,這是我們欺騙安裝程序的標誌:這張光碟是Windows 2000的原始安裝碟。 4. 將Service Pack 3集成到Windows 2000各版本中 執行w2ksp3.exe /x將Service Pack 3全部文件提取出來,假設提取到f:\tmp。在f:\tmp\i386\update下分別執行指令行指令: update.exe -s:d:\win2k\root\asrv update.exe -s:d:\win2k\root\wsrv update.exe -s:d:\win2k\root\wpro 上述指令執行完畢後,Service Pack 3已經集成到Windows 2000各版本中,且d:\win2k\root\asrv、d:\win2k\root\wsrv、d:\win2k\root\wpro各目錄下應有一文件cdromsp3.tst,將其複製到d:\win2k\root\。 要點:d:\win2k\root\下面必須有cdromsp3.tst文件,否則安裝程序會要求我們插入Service Pack 3光碟。 5. 跳過輸入產品序列號 搜尋各個版本i386目錄,找到文件setupp.ini,用記事本開啟,將其中的「Pid=xxxxx000」修改為「Pid=xxxxx270」,儲存碟退出。這一步不是必須的,只是圖個方便。 6. 配置安裝程序 Windows 2000正版光碟上有個bootdisk子目錄,裡面包含4張Windows 2000安裝軟碟鏡像的img文件。用WinImg將各個版本bootdisk目錄下的4個img文件分別釋放到各自的系統檔案目錄下: d:\win2k\root\wpro\bootdisk的img文件全部釋放到d:\win2k\root\wpro\下。 d:\win2k\root\wsrv\bootdisk的img文件全部釋放到d:\win2k\root\wsrv\下。 d:\win2k\root\asrv\bootdisk的img文件全部釋放到d:\win2k\root\asrv\下。 要點:這是我們模擬軟碟安裝的關鍵,一定要連帶system32目錄(裡面有兩個文件)一起釋放。 從d:\win2k\root\wpro\i386目錄中複製bootfix.bin,將其分別貼上到d:\win2k\root\asrv、d:\win2k\root\wpro和d:\win2k\root\wsrv。該檔案的作用就是光碟啟動後顯示一條資訊「Press any key to boot from CD.」,並等待5秒鐘,若沒有按鍵,則從硬碟啟動;否則從光碟啟動。 如果覺得5秒的延時太短,可以用UltraEdit編輯該檔案,找到「Press any key to boot from CD.」後面的「49 00 12 00」,將「49」改為「AA」延時可達10秒,改為「FF」延時可達15秒。 如果集成了Service Pack 3,需要將wpro、wsrv、asrv下面的文件用各自i386目錄下面的文件替換(實際上只需要替換txtsetup.sif就行了),即將啟動軟碟組中的文件也替換為集成Service Pack 3後的文件。注意:一定不要替換system32中的文件,否則無法安裝。 要替換這一大堆文件比較繁瑣,可以用兩個辦法: (1)xxcopy法。下載xxcopy(http://www.xxcopy.com/),執行下面的指令: xxcopy d:\win2k\root\wpro\i386 d:\win2k\root\wpro\ /U /E /YY xxcopy d:\win2k\root\wsrv\i386 d:\win2k\root\wsrv\ /U /E /YY xxcopy d:\win2k\root\asrv\i386 d:\win2k\root\asrv\ /U /E /YY 替換完成後刪除wpro、wsrv、asrv下面的空目錄(xxcopy替換的副產品)即可。 (2)批次處理替換法。以wpro目錄為例: dir d:\win2k\root\wpro\*.* >1.bat move d:\win2k\root\wpro\1.bat d:\win2k\root\wpro\i386 用Ultraedit編輯1.bat,只保留檔案名,每個檔案名一行,修改每行的指令為 copy [檔案名] d:\win2k\root\wpro\ 儲存碟退出,在d:\win2k\root\wpro\i386目錄下執行1.bat,d:\win2k\root\wpro\i386目錄沒有而d:\win2k\root\wpro有的文件不替換。其他兩個版本如法炮製。 7. 修改setupldr.bin和txtsetup.sif 用Ultraedit開啟d:\win2k\root\asrv\setupldr.bin,用ASCII方式替換「i386」為「asrv」,共3處; 用Ultraedit開啟d:\win2k\root\wsrv\setupldr.bin,用ASCII方式替換「i386」為「wsrv」,共3處; 用Ultraedit開啟d:\win2k\root\wpro\setupldr.bin,用ASCII方式替換「i386」為「wpro」,共3處。 儲存碟退出。 用Ultraedit開啟d:\win2k\root\asrv\txtsetup.sif,替換「SetupSourcePath = "\"」為「SetupSourcePath = "\asrv"」; 用Ultraedit開啟d:\win2k\root\wsrv\txtsetup.sif,替換「SetupSourcePath = "\"」為「SetupSourcePath = "\wsrv"」; 用Ultraedit開啟d:\win2k\root\wpro\txtsetup.sif,替換「SetupSourcePath = "\"」為「SetupSourcePath = "\wpro"」。 儲存碟退出。 要點:這兩個文件中的路徑告訴安裝程序從何處複製文件,必須與目錄結構相匹配。 8. 啟動表單的修改 Windows 2000啟動啟始文件w2kall.bin中已經內裝了Windows 2000 3合1的啟動表單: [A] Windows 2000 Professional - English [b] Windows 2000 Server - English [C] Windows 2000 Advanced Server - English Choose an option and press [Enter]: 所以我們不需再單獨配置啟動表單。若需要修改該表單,只需用UltraEdit開啟w2kall.bin,找到相應的ASCII字串串,並修改為合適的字串串。例如,去掉所有的「 - English」。 9. 配置完畢的目錄結構及文件列表 d:\win2k\cdimage.exe d:\win2k\w2kall.bin d:\win2k\root\cdrom_ia.5 d:\win2k\root\cdrom_ip.5 d:\win2k\root\cdrom_is.5 d:\win2k\root\cdrom_nt.5 d:\win2k\root\cdromsp3.tst d:\win2k\root\asrv\1394bus.sy_ d:\win2k\root\asrv\abp480n5.sy_ d:\win2k\root\asrv\acpi.sy_ d:\win2k\root\asrv\acpiec.sy_ d:\win2k\root\asrv\adpu160m.sy_ d:\win2k\root\asrv\aha154x.sy_ d:\win2k\root\asrv\aic116x.sy_ d:\win2k\root\asrv\aic78u2.sy_ d:\win2k\root\asrv\aic78xx.sy_ d:\win2k\root\asrv\amsint.sy_ d:\win2k\root\asrv\asc.sy_ d:\win2k\root\asrv\asc3350p.sy_ d:\win2k\root\asrv\asc3550.sy_ d:\win2k\root\asrv\atapi.sy_ d:\win2k\root\asrv\autorun.inf d:\win2k\root\asrv\biosinfo.inf d:\win2k\root\asrv\bootfix.bin d:\win2k\root\asrv\bootfont.bin d:\win2k\root\asrv\bootvid.dl_ d:\win2k\root\asrv\buslogic.sy_ d:\win2k\root\asrv\c_936.nl_ d:\win2k\root\asrv\cd20xrnt.sy_ d:\win2k\root\asrv\cdfs.sy_ d:\win2k\root\asrv\cdrom.sy_ d:\win2k\root\asrv\cdrom_ia.5 d:\win2k\root\asrv\cdrom_nt.5 d:\win2k\root\asrv\cdromsp3.tst d:\win2k\root\asrv\class2.sy_ d:\win2k\root\asrv\classpnp.sy_ d:\win2k\root\asrv\cpqarray.sy_ d:\win2k\root\asrv\cpqarry2.sy_ d:\win2k\root\asrv\cpqfcalm.sy_ d:\win2k\root\asrv\cpqfws2e.sy_ d:\win2k\root\asrv\dac960nt.sy_ d:\win2k\root\asrv\disk.sy_ d:\win2k\root\asrv\disk101 d:\win2k\root\asrv\disk102 d:\win2k\root\asrv\disk103 d:\win2k\root\asrv\disk104 d:\win2k\root\asrv\dmboot.sy_ d:\win2k\root\asrv\dmio.sy_ d:\win2k\root\asrv\dmload.sy_ d:\win2k\root\asrv\fastfat.sy_ d:\win2k\root\asrv\fd16_700.sy_ d:\win2k\root\asrv\fdc.sy_ d:\win2k\root\asrv\fireport.sy_ d:\win2k\root\asrv\flashpnt.sy_ d:\win2k\root\asrv\flpydisk.sy_ d:\win2k\root\asrv\ftdisk.sy_ d:\win2k\root\asrv\hal.dl_ d:\win2k\root\asrv\halaacpi.dl_ d:\win2k\root\asrv\halacpi.dl_ d:\win2k\root\asrv\halapic.dl_ d:\win2k\root\asrv\hidclass.sy_ d:\win2k\root\asrv\hidparse.sy_ d:\win2k\root\asrv\hidusb.sy_ d:\win2k\root\asrv\i8042prt.sy_ d:\win2k\root\asrv\ini910u.sy_ d:\win2k\root\asrv\intelide.sy_ d:\win2k\root\asrv\ipsraidn.sy_ d:\win2k\root\asrv\isapnp.sy_ d:\win2k\root\asrv\kbdclass.sy_ d:\win2k\root\asrv\kbdhid.sy_ d:\win2k\root\asrv\kbdus.dll d:\win2k\root\asrv\l_intl.nl_ d:\win2k\root\asrv\lbrtfdc.sy_ d:\win2k\root\asrv\lp6nds35.sy_ d:\win2k\root\asrv\mountmgr.sy_ d:\win2k\root\asrv\mraid35x.sy_ d:\win2k\root\asrv\ncrc710.sy_ d:\win2k\root\asrv\ntdetect.com d:\win2k\root\asrv\ntfs.sy_ d:\win2k\root\asrv\ntkrnlmp.ex_ d:\win2k\root\asrv\ohci1394.sy_ d:\win2k\root\asrv\openhci.sy_ d:\win2k\root\asrv\partmgr.sy_ d:\win2k\root\asrv\pci.sy_ d:\win2k\root\asrv\pciide.sy_ d:\win2k\root\asrv\pciidex.sy_ d:\win2k\root\asrv\pcmcia.sy_ d:\win2k\root\asrv\ql1080.sy_ d:\win2k\root\asrv\ql10wnt.sy_ d:\win2k\root\asrv\ql1240.sy_ d:\win2k\root\asrv\ql2100.sy_ d:\win2k\root\asrv\read1st.txt d:\win2k\root\asrv\readme.doc d:\win2k\root\asrv\sbp2port.sy_ d:\win2k\root\asrv\scsiport.sy_ d:\win2k\root\asrv\serenum.sy_ d:\win2k\root\asrv\serial.sy_ d:\win2k\root\asrv\setup.exe d:\win2k\root\asrv\setupdd.sy_ d:\win2k\root\asrv\setupldr.bin d:\win2k\root\asrv\setupreg.hiv d:\win2k\root\asrv\sfloppy.sy_ d:\win2k\root\asrv\sparrow.sy_ d:\win2k\root\asrv\spcmdcon.sys d:\win2k\root\asrv\spddlang.sy_ d:\win2k\root\asrv\spnotes.htm d:\win2k\root\asrv\sym_hi.sy_ d:\win2k\root\asrv\symc810.sy_ d:\win2k\root\asrv\symc8xx.sy_ d:\win2k\root\asrv\tffsport.sy_ d:\win2k\root\asrv\txtsetup.sif d:\win2k\root\asrv\uhcd.sy_ d:\win2k\root\asrv\ultra66.sy_ d:\win2k\root\asrv\usbd.sy_ d:\win2k\root\asrv\usbhub.sy_ d:\win2k\root\asrv\usbstor.sy_ d:\win2k\root\asrv\vga.sy_ d:\win2k\root\asrv\vgaoem.fo_ d:\win2k\root\asrv\videoprt.sy_ d:\win2k\root\asrv\wmilib.sy_ d:\win2k\root\asrv\bootdisk\…… d:\win2k\root\asrv\clients\…… d:\win2k\root\asrv\i386\…… d:\win2k\root\asrv\printers\…… d:\win2k\root\asrv\setuptxt\…… d:\win2k\root\asrv\support\…… d:\win2k\root\asrv\system32\ntdll.dll d:\win2k\root\asrv\system32\smss.exe d:\win2k\root\asrv\&#118alueadd\…… d:\win2k\root\wpro\1394bus.sy_ d:\win2k\root\wpro\abp480n5.sy_ d:\win2k\root\wpro\acpi.sy_ d:\win2k\root\wpro\acpiec.sy_ d:\win2k\root\wpro\adpu160m.sy_ d:\win2k\root\wpro\aha154x.sy_ d:\win2k\root\wpro\aic116x.sy_ d:\win2k\root\wpro\aic78u2.sy_ d:\win2k\root\wpro\aic78xx.sy_ d:\win2k\root\wpro\amsint.sy_ d:\win2k\root\wpro\asc.sy_ d:\win2k\root\wpro\asc3350p.sy_ d:\win2k\root\wpro\asc3550.sy_ d:\win2k\root\wpro\atapi.sy_ d:\win2k\root\wpro\autorun.inf d:\win2k\root\wpro\biosinfo.inf d:\win2k\root\wpro\bootfix.bin d:\win2k\root\wpro\bootfont.bin d:\win2k\root\wpro\bootvid.dl_ d:\win2k\root\wpro\buslogic.sy_ d:\win2k\root\wpro\c_936.nl_ d:\win2k\root\wpro\cd20xrnt.sy_ d:\win2k\root\wpro\cdfs.sy_ d:\win2k\root\wpro\cdrom.sy_ d:\win2k\root\wpro\cdrom_ip.5 d:\win2k\root\wpro\cdrom_nt.5 d:\win2k\root\wpro\cdromsp3.tst d:\win2k\root\wpro\class2.sy_ d:\win2k\root\wpro\classpnp.sy_ d:\win2k\root\wpro\cpqarray.sy_ d:\win2k\root\wpro\cpqarry2.sy_ d:\win2k\root\wpro\cpqfcalm.sy_ d:\win2k\root\wpro\cpqfws2e.sy_ d:\win2k\root\wpro\dac960nt.sy_ d:\win2k\root\wpro\disk.sy_ d:\win2k\root\wpro\disk101 d:\win2k\root\wpro\disk102 d:\win2k\root\wpro\disk103 d:\win2k\root\wpro\disk104 d:\win2k\root\wpro\dmboot.sy_ d:\win2k\root\wpro\dmio.sy_ d:\win2k\root\wpro\dmload.sy_ d:\win2k\root\wpro\fastfat.sy_ d:\win2k\root\wpro\fd16_700.sy_ d:\win2k\root\wpro\fdc.sy_ d:\win2k\root\wpro\fireport.sy_ d:\win2k\root\wpro\flashpnt.sy_ d:\win2k\root\wpro\flpydisk.sy_ d:\win2k\root\wpro\ftdisk.sy_ d:\win2k\root\wpro\hal.dl_ d:\win2k\root\wpro\halaacpi.dl_ d:\win2k\root\wpro\halacpi.dl_ d:\win2k\root\wpro\halapic.dl_ d:\win2k\root\wpro\hidclass.sy_ d:\win2k\root\wpro\hidparse.sy_ d:\win2k\root\wpro\hidusb.sy_ d:\win2k\root\wpro\i8042prt.sy_ d:\win2k\root\wpro\ini910u.sy_ d:\win2k\root\wpro\intelide.sy_ d:\win2k\root\wpro\ipsraidn.sy_ d:\win2k\root\wpro\isapnp.sy_ d:\win2k\root\wpro\kbdclass.sy_ d:\win2k\root\wpro\kbdhid.sy_ d:\win2k\root\wpro\kbdus.dll d:\win2k\root\wpro\l_intl.nl_ d:\win2k\root\wpro\lbrtfdc.sy_ d:\win2k\root\wpro\lp6nds35.sy_ d:\win2k\root\wpro\mountmgr.sy_ d:\win2k\root\wpro\mraid35x.sy_ d:\win2k\root\wpro\ncrc710.sy_ d:\win2k\root\wpro\ntdetect.com d:\win2k\root\wpro\ntfs.sy_ d:\win2k\root\wpro\ntkrnlmp.ex_ d:\win2k\root\wpro\ohci1394.sy_ d:\win2k\root\wpro\openhci.sy_ d:\win2k\root\wpro\partmgr.sy_ d:\win2k\root\wpro\pci.sy_ d:\win2k\root\wpro\pciide.sy_ d:\win2k\root\wpro\pciidex.sy_ d:\win2k\root\wpro\pcmcia.sy_ d:\win2k\root\wpro\ql1080.sy_ d:\win2k\root\wpro\ql10wnt.sy_ d:\win2k\root\wpro\ql1240.sy_ d:\win2k\root\wpro\ql2100.sy_ d:\win2k\root\wpro\read1st.txt d:\win2k\root\wpro\readme.doc d:\win2k\root\wpro\sbp2port.sy_ d:\win2k\root\wpro\scsiport.sy_ d:\win2k\root\wpro\serenum.sy_ d:\win2k\root\wpro\serial.sy_ d:\win2k\root\wpro\setup.exe d:\win2k\root\wpro\setupdd.sy_ d:\win2k\root\wpro\setupldr.bin d:\win2k\root\wpro\setupreg.hiv d:\win2k\root\wpro\sfloppy.sy_ d:\win2k\root\wpro\sparrow.sy_ d:\win2k\root\wpro\spcmdcon.sys d:\win2k\root\wpro\spddlang.sy_ d:\win2k\root\wpro\spnotes.htm d:\win2k\root\wpro\sym_hi.sy_ d:\win2k\root\wpro\symc810.sy_ d:\win2k\root\wpro\symc8xx.sy_ d:\win2k\root\wpro\tffsport.sy_ d:\win2k\root\wpro\txtsetup.sif d:\win2k\root\wpro\uhcd.sy_ d:\win2k\root\wpro\ultra66.sy_ d:\win2k\root\wpro\usbd.sy_ d:\win2k\root\wpro\usbhub.sy_ d:\win2k\root\wpro\usbstor.sy_ d:\win2k\root\wpro\vga.sy_ d:\win2k\root\wpro\vgaoem.fo_ d:\win2k\root\wpro\videoprt.sy_ d:\win2k\root\wpro\wmilib.sy_ d:\win2k\root\wpro\bootdisk\…… d:\win2k\root\wpro\discover\…… d:\win2k\root\wpro\i386\…… d:\win2k\root\wpro\setuptxt\…… d:\win2k\root\wpro\support\…… d:\win2k\root\wpro\system32\ntdll.dll d:\win2k\root\wpro\system32\smss.exe d:\win2k\root\wpro\&#118alueadd\…… d:\win2k\root\wsrv\1394bus.sy_ d:\win2k\root\wsrv\abp480n5.sy_ d:\win2k\root\wsrv\acpi.sy_ d:\win2k\root\wsrv\acpiec.sy_ d:\win2k\root\wsrv\adpu160m.sy_ d:\win2k\root\wsrv\aha154x.sy_ d:\win2k\root\wsrv\aic116x.sy_ d:\win2k\root\wsrv\aic78u2.sy_ d:\win2k\root\wsrv\aic78xx.sy_ d:\win2k\root\wsrv\amsint.sy_ d:\win2k\root\wsrv\asc.sy_ d:\win2k\root\wsrv\asc3350p.sy_ d:\win2k\root\wsrv\asc3550.sy_ d:\win2k\root\wsrv\atapi.sy_ d:\win2k\root\wsrv\autorun.inf d:\win2k\root\wsrv\biosinfo.inf d:\win2k\root\wsrv\bootfix.bin d:\win2k\root\wsrv\bootfont.bin d:\win2k\root\wsrv\bootvid.dl_ d:\win2k\root\wsrv\buslogic.sy_ d:\win2k\root\wsrv\c_936.nl_ d:\win2k\root\wsrv\cd20xrnt.sy_ d:\win2k\root\wsrv\cdfs.sy_ d:\win2k\root\wsrv\cdrom.sy_ d:\win2k\root\wsrv\cdrom_is.5 d:\win2k\root\wsrv\cdrom_nt.5 d:\win2k\root\wsrv\cdromsp3.tst d:\win2k\root\wsrv\class2.sy_ d:\win2k\root\wsrv\classpnp.sy_ d:\win2k\root\wsrv\cpqarray.sy_ d:\win2k\root\wsrv\cpqarry2.sy_ d:\win2k\root\wsrv\cpqfcalm.sy_ d:\win2k\root\wsrv\cpqfws2e.sy_ d:\win2k\root\wsrv\dac960nt.sy_ d:\win2k\root\wsrv\disk.sy_ d:\win2k\root\wsrv\disk101 d:\win2k\root\wsrv\disk102 d:\win2k\root\wsrv\disk103 d:\win2k\root\wsrv\disk104 d:\win2k\root\wsrv\dmboot.sy_ d:\win2k\root\wsrv\dmio.sy_ d:\win2k\root\wsrv\dmload.sy_ d:\win2k\root\wsrv\fastfat.sy_ d:\win2k\root\wsrv\fd16_700.sy_ d:\win2k\root\wsrv\fdc.sy_ d:\win2k\root\wsrv\fireport.sy_ d:\win2k\root\wsrv\flashpnt.sy_ d:\win2k\root\wsrv\flpydisk.sy_ d:\win2k\root\wsrv\ftdisk.sy_ d:\win2k\root\wsrv\hal.dl_ d:\win2k\root\wsrv\halaacpi.dl_ d:\win2k\root\wsrv\halacpi.dl_ d:\win2k\root\wsrv\halapic.dl_ d:\win2k\root\wsrv\hidclass.sy_ d:\win2k\root\wsrv\hidparse.sy_ d:\win2k\root\wsrv\hidusb.sy_ d:\win2k\root\wsrv\i8042prt.sy_ d:\win2k\root\wsrv\ini910u.sy_ d:\win2k\root\wsrv\intelide.sy_ d:\win2k\root\wsrv\ipsraidn.sy_ d:\win2k\root\wsrv\isapnp.sy_ d:\win2k\root\wsrv\kbdclass.sy_ d:\win2k\root\wsrv\kbdhid.sy_ d:\win2k\root\wsrv\kbdus.dll d:\win2k\root\wsrv\l_intl.nl_ d:\win2k\root\wsrv\lbrtfdc.sy_ d:\win2k\root\wsrv\lp6nds35.sy_ d:\win2k\root\wsrv\mountmgr.sy_ d:\win2k\root\wsrv\mraid35x.sy_ d:\win2k\root\wsrv\ncrc710.sy_ d:\win2k\root\wsrv\ntdetect.com d:\win2k\root\wsrv\ntfs.sy_ d:\win2k\root\wsrv\ntkrnlmp.ex_ d:\win2k\root\wsrv\ohci1394.sy_ d:\win2k\root\wsrv\openhci.sy_ d:\win2k\root\wsrv\partmgr.sy_ d:\win2k\root\wsrv\pci.sy_ d:\win2k\root\wsrv\pciide.sy_ d:\win2k\root\wsrv\pciidex.sy_ d:\win2k\root\wsrv\pcmcia.sy_ d:\win2k\root\wsrv\ql1080.sy_ d:\win2k\root\wsrv\ql10wnt.sy_ d:\win2k\root\wsrv\ql1240.sy_ d:\win2k\root\wsrv\ql2100.sy_ d:\win2k\root\wsrv\read1st.txt d:\win2k\root\wsrv\readme.doc d:\win2k\root\wsrv\sbp2port.sy_ d:\win2k\root\wsrv\scsiport.sy_ d:\win2k\root\wsrv\serenum.sy_ d:\win2k\root\wsrv\serial.sy_ d:\win2k\root\wsrv\setup.exe d:\win2k\root\wsrv\setupdd.sy_ d:\win2k\root\wsrv\setupldr.bin d:\win2k\root\wsrv\setupreg.hiv d:\win2k\root\wsrv\sfloppy.sy_ d:\win2k\root\wsrv\sparrow.sy_ d:\win2k\root\wsrv\spcmdcon.sys d:\win2k\root\wsrv\spddlang.sy_ d:\win2k\root\wsrv\spnotes.htm d:\win2k\root\wsrv\sym_hi.sy_ d:\win2k\root\wsrv\symc810.sy_ d:\win2k\root\wsrv\symc8xx.sy_ d:\win2k\root\wsrv\tffsport.sy_ d:\win2k\root\wsrv\txtsetup.sif d:\win2k\root\wsrv\uhcd.sy_ d:\win2k\root\wsrv\ultra66.sy_ d:\win2k\root\wsrv\usbd.sy_ d:\win2k\root\wsrv\usbhub.sy_ d:\win2k\root\wsrv\usbstor.sy_ d:\win2k\root\wsrv\vga.sy_ d:\win2k\root\wsrv\vgaoem.fo_ d:\win2k\root\wsrv\videoprt.sy_ d:\win2k\root\wsrv\wmilib.sy_ d:\win2k\root\wsrv\bootdisk\…… d:\win2k\root\wsrv\clients\…… d:\win2k\root\wsrv\i386\…… d:\win2k\root\wsrv\printers\…… d:\win2k\root\wsrv\setuptxt\…… d:\win2k\root\wsrv\support\…… d:\win2k\root\wsrv\system32\ntdll.dll d:\win2k\root\wsrv\system32\smss.exe d:\win2k\root\wsrv\&#118alueadd\…… 10. 製作ISO文件 CDImage程序加「-o」參數最佳化後產生的鏡像文件約為502 MB,我們假設將它存放在f:盤的根目錄下,指令行指令如下: d:\win2k\cdimage -lWin2K-3in1 -t01/10/2000,12:00:00 -g -h -n -o -m -bd:\win2k\w2kall.bin d:\win2k\root f:\w2k-3in1.iso 上述指令中各參數含義分別為: -l:設定光碟卷冊。此處為「Win2K-3in1」。 -t:設定光碟上所有文件的產生日期。此處為「2000年1月10日格林威治時間(GMT)上午12點整」。 -g:轉換本機時間與格林威治時間(GMT)。 但如果是在Windows XP系統下,該參數似乎不起作用,「-t」參數指定的是GMT時間,而文件的產生時間是「-t」指定的時間加上時區轉換後的本機時間。 如,上例中的文件產生本機時間是「20:00:00」,即GMT+8=北京時間。 -h:包含隱藏的目錄和文件。 -n:允許長檔案名。 -o:最佳化相同的文件,最重要的參數,這是我們將3個版本的1.24 GB文件壓縮到502 MB的關鍵。 -m:允許產生的ISO文件超過640 MB。 -b:光碟啟動啟始程序,此處我們使用了w2kall.bin。 d:\win2k\root:源文件路徑,將作為光碟的根目錄。 f:\w2k-3in1.iso:最後產生的ISO文件,我們要的就是它。 要點:cdimage /?可顯示所有選項。 CDImagegui提供了一個圖形界面,使用更直觀,功能是一樣的。 11. 測試ISO文件 用VMware載入w2k-3in1.iso文件,設定第1啟動設備為光碟。 從光碟啟動後,系統首先顯示資訊「Press any key to boot from CD.」,按任意鍵後,出現[A]、[b]、[C]3個選項表單,鍵入A、B或C鍵然後Enter鍵,可啟動相應安裝版本,此後的安裝與原版光碟的安裝一致。需要逐個安裝,以測試各個版本的完整性。 12. 增加特殊文件 可以根據個人的愛好,在光碟上再增加一些特殊文件,例如新版IE、DirectX及一些專用的驅動程式等,只需將其複製到d:\win2k\root目錄下,並重新製作ISO文件。 13.燒錄光碟 ISO鏡像文件測試無誤後,即可用自己熟悉的燒錄軟體軟體(例如Nero)將其燒錄到光碟。 這樣,一張可啟動的Windows 2000 3合1光碟就製作完成了。當然,最好再用光碟正式地安裝一遍,因為VMware測試與光碟測試是不完全一樣的。 三、Windows XP 2合1啟動光碟的製作 Windows XP與Windows 2000(當然還包括Windows NT 4.0)同屬於Windows NT系列,其啟動程序是非常相似的。雖然Bart開發w2kall.bin的初衷是製作3合1的Windows 2000,但既然它能夠引導Windows 2000,那麼它能否引導Windows XP呢?絕對可以。 雖然與製作Windows 2000 3合1的程序類似,但其中有一些明顯的不同,而且我們還需要對w2kall.bin進行一些適當的改造,希望朋友們多加注意。下面我介紹Windows XP 2合1啟動光碟的製作程序。 1. 所需工具 (1)w2kall.bin 必須。Windows 2000/XP光碟啟動啟始文件。 下載位址:http://www.tech-hints.com/files/w2kall.zip (2)CDImage.exe(指令行界面)或CDImagegui.exe(圖 形界面) 必須。 可啟動光碟鏡像製作工具,產生標準的ISO文件,同時具有最佳化光碟上文件的功能,使相同的文件只燒錄一個,其他的文件都連線到該檔案。 下載位址:http://www.tech-hints.com/prog/cdimage.zip,http://www.tech-hints.com/prog/cdimagegui.zip (3)WinZip、WinImg 可選。解Windows XP安裝軟碟組的img文件。可替換方法是製作6張安裝軟碟,然後將6張軟碟上的全部文件複製到硬碟。 下載位址:http://www.winimage.com/winimage/winima60.zip,http://www.winzip.com/getsite.cgi?winzip81.exe (4)UltraEdit 必須。十六進制編輯器,修改啟動啟始文件中的顯示文字,並修改Windows XP不同版本的存放路徑。 下載位址:ftp://ultraedit.com/uedit32.zip (5)Windows XP安裝軟碟組 必須。 用軟碟引導機器,載入必要的系統檔案及基本驅動程式,然後從光碟繼續安裝。 專業版及家庭版的安裝軟碟是不同的,二者不能混用。XP的安裝軟碟組必須從微軟網站下載: 簡體中文專業版:winxp_cn_pro_bf.exe 下載位址:http://www.microsoft.com/downloads/release.asp?releaseid=33494 簡體中文家庭版:winxp_cn_hom_bf.exe 下載位址:http://www.microsoft.com/downloads/release.asp?releaseid=33493 (6)VMware(或Virtual PC)和Nero 可選。測試製作完成的3合1鏡像文件並燒錄光碟。 2. 目錄及文件結構 保證硬碟上有足夠空餘空間(假設將文件存放在硬碟d:,全部2個版本的原始文件約佔用空間為1.02 GB,產生的鏡像文件約為558 MB),建立如下目錄結構,並複製文件w2kall.bin、cdimage.exe到相應位置: d:\winxp\w2kall.bin d:\winxp\cdimage.exe d:\winxp\root\home d:\winxp\root\wpro 其中,d:\winxp\root\是Windows XP 2合1光碟的根目錄,d:\winxp\root\home用於存放Windows XP家庭版文件,d:\winxp\root\wpro用於存放Windows XP專業版文件。 要點:「home」和「wpro」的目錄名稱需要類BIOS在w2kall.bin中,只能是4個字串長度。 若需要存放在其他目錄下,必須用UltraEdit修改w2kall.bin文件,找到「WPROWSRVASRV」,將其替換為其他名稱,並相應修改目錄結構。 此外,還必須在後面的配置中進行相應修改。 3. 文件複製 將Windows XP家庭版光碟上的文件全部複製到home目錄,將Windows XP專業版光碟上的文件全部複製到wpro目錄。 必須確保複製了全部文件和子目錄,包括具有系統和隱藏內容的。 複製完畢後,清除d:\winxp\root\下全部文件和子目錄的系統、隱藏和只讀內容。 將d:\winxp\root\home目錄下的win51和win51ic複製到d:\winxp\root\,將d:\winxp\root\wpro目錄下的win51ip複製到d:\winxp\root\。 要點:d:\winxp\root\下面必須有win51、win51ic和win51ip文件,這是我們欺騙安裝程序的標誌:這張光碟是Windows XP原始安裝碟。 4. 配置安裝程序 將下載到的winxp_cn_pro_bf.exe文件用WinZip釋放到硬碟任一目錄,得到6個img文件。用WinImg將6個img文件釋放到目錄d:\winxp\root\wpro\。 將下載到的winxp_cn_hom_bf.exe文件用WinZip釋放到硬碟任一目錄,得到6個img文件。用WinImg將6個img文件釋放到目錄d:\winxp\root\home\。 要點:這是我們模擬軟碟安裝的關鍵,一定要連帶system32目錄(裡面有兩個文件)一起釋放。 從d:\winxp\root\wpro\i386目錄中複製bootfix.bin,將其分別貼上到d:\winxp\root\home和d:\winxp\root\wpro。 該檔案的作用就是光碟啟動後顯示一條資訊「Press any key to boot from CD.」,並等待5秒鐘,若沒有按鍵,則從硬碟啟動;否則從光碟啟動。 如果覺得5秒的延時太短,可以用Ultraedit編輯該檔案,找到「Press any key to boot from CD.」後面的「49 00 12 00」,將「49」改為「AA」延時可達10秒,改為「FF」延時可達15秒。 5. 修改w2kall.bin w2kall.bin是專門針對Windows 2000 3合1啟動光碟而開發的,要使它適用於Windows XP 2合1光碟的啟動引導,我們必須對其進行一些適當的修改。 用UltraEdit開啟d:\win2k\root\w2kall.bin,找到啟動表單: [A] Windows 2000 Professional - English [b] Windows 2000 Server - English [C] Windows 2000 Advanced Server - English Choose an option and press [Enter]: 將其修改為: [A] Windows XP Professional [b] Windows XP Home ================================== Choose an option and press [Enter]: 再搜尋「WPROWSRVASRV」,將其替換為找到「WPROHOMEHOME」。 啟動表單接受4個鍵:A、B、C鍵和Enter鍵鍵,若用戶按了A和B鍵,將進行相應的安裝,若用戶按了C鍵,將安裝家庭版,且沒有提示。 這樣的處理比較簡單,高手們可以考慮遮閉C鍵。 要點:「WPROHOMEHOME」是光碟安裝路徑,一定要與目錄結構相匹配。 最後一個「HOME」對應C鍵,若用戶按了C鍵後,應使其能夠找到相應目錄,或在啟動表單中乾脆註明「[B/C] Windows XP Home」。 6. 修改setupldr.bin和txtsetup.si_ 用UltraEdit開啟d:\winxp\root\home\setupldr.bin,用ASCII方式替換「i386」為「home」,共4處。 用UltraEdit開啟d:\winxp\root\wpro\setupldr.bin,用ASCII方式替換「i386」為「wpro」,共4處。 儲存碟退出。 將文件d:\winxp\root\home\txtsetup.si_複製到d:\,在d:\下執行指令行指令: expand txtsetup.si_ txtsetup.sif 用UltraEdit開啟d:\txtsetup.sif,替換「SetupSourcePath = "\"」為「SetupSourcePath = "\home"」; 儲存碟退出。 將txtsetup.sif改名為txtsetup.si_,覆蓋掉d:\winxp\root\home\txtsetup.si_。 將文件d:\winxp\root\wpro\txtsetup.si_複製到d:\,在d:\下執行指令行指令: expand txtsetup.si_ txtsetup.sif 用UltraEdit開啟d:\txtsetup.sif,替換「SetupSourcePath = "\"」為「SetupSourcePath = "\wpro"」; 儲存碟退出。 將txtsetup.sif改名為txtsetup.si_,覆蓋掉d:\winxp\root\wpro\txtsetup.si_ 簡單辦法:將i386中的txtsetup.sif複製到各自的上層目錄,刪除掉txtsetup.si_,並修改txtsetup.sif,效果一樣。 要點:這兩個文件中的路徑安裝程序告訴安裝程序從何處複製文件,必須與目錄結構相匹配。 7. 配置完畢的目錄結構及文件列表 d:\winxp\cdimage.exe d:\winxp\w2kall.bin d:\winxp\root\win51 d:\winxp\root\win51ic d:\winxp\root\win51ip d:\winxp\root\home\1394bus.sy_ d:\winxp\root\home\1394vdbg.sy_ d:\winxp\root\home\abp480n5.sy_ d:\winxp\root\home\acpi.sy_ d:\winxp\root\home\acpiec.sy_ d:\winxp\root\home\adpu160m.sy_ d:\winxp\root\home\aha154x.sy_ d:\winxp\root\home\aic78u2.sy_ d:\winxp\root\home\aic78xx.sy_ d:\winxp\root\home\aliide.sy_ d:\winxp\root\home\amsint.sy_ d:\winxp\root\home\asc.sy_ d:\winxp\root\home\asc3350p.sy_ d:\winxp\root\home\asc3550.sy_ d:\winxp\root\home\atapi.sy_ d:\winxp\root\home\autorun.inf d:\winxp\root\home\biosinfo.inf d:\winxp\root\home\bootfix.bin d:\winxp\root\home\bootfont.bin d:\winxp\root\home\bootvid.dl_ d:\winxp\root\home\c_936.nl_ d:\winxp\root\home\cbidf2k.sy_ d:\winxp\root\home\cd20xrnt.sy_ d:\winxp\root\home\cdfs.sy_ d:\winxp\root\home\cdrom.sy_ d:\winxp\root\home\classpnp.sy_ d:\winxp\root\home\cmdide.sy_ d:\winxp\root\home\cpqarray.sy_ d:\winxp\root\home\dac2w2k.sy_ d:\winxp\root\home\dac960nt.sy_ d:\winxp\root\home\disk.sy_ d:\winxp\root\home\disk101 d:\winxp\root\home\disk102 d:\winxp\root\home\disk103 d:\winxp\root\home\disk104 d:\winxp\root\home\disk105 d:\winxp\root\home\disk106 d:\winxp\root\home\dmboot.sy_ d:\winxp\root\home\dmio.sy_ d:\winxp\root\home\dmload.sy_ d:\winxp\root\home\dpti2o.sy_ d:\winxp\root\home\drvmain.sdb d:\winxp\root\home\fastfat.sy_ d:\winxp\root\home\fdc.sy_ d:\winxp\root\home\flpydisk.sy_ d:\winxp\root\home\ftdisk.sy_ d:\winxp\root\home\hal.dl_ d:\winxp\root\home\halaacpi.dl_ d:\winxp\root\home\halacpi.dl_ d:\winxp\root\home\halapic.dl_ d:\winxp\root\home\halmacpi.dl_ d:\winxp\root\home\halmps.dl_ d:\winxp\root\home\halsp.dl_ d:\winxp\root\home\hidclass.sy_ d:\winxp\root\home\hidparse.sy_ d:\winxp\root\home\hidusb.sy_ d:\winxp\root\home\hpn.sy_ d:\winxp\root\home\hpt3xx.sy_ d:\winxp\root\home\i2omgmt.sy_ d:\winxp\root\home\i2omp.sy_ d:\winxp\root\home\i8042prt.sy_ d:\winxp\root\home\ini910u.sy_ d:\winxp\root\home\intelide.sy_ d:\winxp\root\home\isapnp.sy_ d:\winxp\root\home\kbda1.dll d:\winxp\root\home\kbda2.dll d:\winxp\root\home\kbda3.dll d:\winxp\root\home\kbdal.dll d:\winxp\root\home\kbdarme.dll d:\winxp\root\home\kbdarmw.dll d:\winxp\root\home\kbdaze.dll d:\winxp\root\home\kbdazel.dll d:\winxp\root\home\kbdbe.dll d:\winxp\root\home\kbdblr.dll d:\winxp\root\home\kbdbr.dll d:\winxp\root\home\kbdbu.dll d:\winxp\root\home\kbdca.dll d:\winxp\root\home\kbdclass.sy_ d:\winxp\root\home\kbdcr.dll d:\winxp\root\home\kbdcz.dll d:\winxp\root\home\kbdcz1.dll d:\winxp\root\home\kbdcz2.dll d:\winxp\root\home\kbdda.dll d:\winxp\root\home\kbddiv1.dll d:\winxp\root\home\kbddiv2.dll d:\winxp\root\home\kbddv.dll d:\winxp\root\home\kbdes.dll d:\winxp\root\home\kbdest.dll d:\winxp\root\home\kbdfa.dll d:\winxp\root\home\kbdfc.dll d:\winxp\root\home\kbdfi.dll d:\winxp\root\home\kbdfr.dll d:\winxp\root\home\kbdgae.dll d:\winxp\root\home\kbdgeo.dll d:\winxp\root\home\kbdgkl.dll d:\winxp\root\home\kbdgr.dll d:\winxp\root\home\kbdgr1.dll d:\winxp\root\home\kbdhe.dll d:\winxp\root\home\kbdhe220.dll d:\winxp\root\home\kbdhe319.dll d:\winxp\root\home\kbdheb.dll d:\winxp\root\home\kbdhela2.dll d:\winxp\root\home\kbdhela3.dll d:\winxp\root\home\kbdhept.dll d:\winxp\root\home\kbdhid.sy_ d:\winxp\root\home\kbdhu.dll d:\winxp\root\home\kbdhu1.dll d:\winxp\root\home\kbdic.dll d:\winxp\root\home\kbdindev.dll d:\winxp\root\home\kbdinguj.dll d:\winxp\root\home\kbdinhin.dll d:\winxp\root\home\kbdinkan.dll d:\winxp\root\home\kbdinmar.dll d:\winxp\root\home\kbdinpun.dll d:\winxp\root\home\kbdintam.dll d:\winxp\root\home\kbdintel.dll d:\winxp\root\home\kbdir.dll d:\winxp\root\home\kbdit.dll d:\winxp\root\home\kbdit142.dll d:\winxp\root\home\kbdkaz.dll d:\winxp\root\home\kbdkyr.dll d:\winxp\root\home\kbdla.dll d:\winxp\root\home\kbdlt.dll d:\winxp\root\home\kbdlt1.dll d:\winxp\root\home\kbdlv.dll d:\winxp\root\home\kbdlv1.dll d:\winxp\root\home\kbdmon.dll d:\winxp\root\home\kbdne.dll d:\winxp\root\home\kbdnec.dll d:\winxp\root\home\kbdno.dll d:\winxp\root\home\kbdpl.dll d:\winxp\root\home\kbdpl1.dll d:\winxp\root\home\kbdpo.dll d:\winxp\root\home\kbdro.dll d:\winxp\root\home\kbdru.dll d:\winxp\root\home\kbdru1.dll d:\winxp\root\home\kbdsf.dll d:\winxp\root\home\kbdsg.dll d:\winxp\root\home\kbdsl.dll d:\winxp\root\home\kbdsl1.dll d:\winxp\root\home\kbdsp.dll d:\winxp\root\home\kbdsw.dll d:\winxp\root\home\kbdsyr1.dll d:\winxp\root\home\kbdsyr2.dll d:\winxp\root\home\kbdtat.dll d:\winxp\root\home\kbdth0.dll d:\winxp\root\home\kbdth1.dll d:\winxp\root\home\kbdth2.dll d:\winxp\root\home\kbdth3.dll d:\winxp\root\home\kbdtuf.dll d:\winxp\root\home\kbdtuq.dll d:\winxp\root\home\kbduk.dll d:\winxp\root\home\kbdur.dll d:\winxp\root\home\kbdurdu.dll d:\winxp\root\home\kbdus.dll d:\winxp\root\home\kbdusl.dll d:\winxp\root\home\kbdusr.dll d:\winxp\root\home\kbdusx.dll d:\winxp\root\home\kbduzb.dll d:\winxp\root\home\kbdvntc.dll d:\winxp\root\home\kbdycc.dll d:\winxp\root\home\kbdycl.dll d:\winxp\root\home\kd1394.dl_ d:\winxp\root\home\kdcom.dl_ d:\winxp\root\home\ksecdd.sys d:\winxp\root\home\l_intl.nl_ d:\winxp\root\home\lbrtfdc.sy_ d:\winxp\root\home\mountmgr.sy_ d:\winxp\root\home\mraid35x.sy_ d:\winxp\root\home\ntdetect.com d:\winxp\root\home\ntfs.sys d:\winxp\root\home\ntkrnlmp.ex_ d:\winxp\root\home\ohci1394.sy_ d:\winxp\root\home\oprghdlr.sy_ d:\winxp\root\home\partmgr.sy_ d:\winxp\root\home\pci.sy_ d:\winxp\root\home\pciide.sy_ d:\winxp\root\home\pciidex.sy_ d:\winxp\root\home\pcmcia.sy_ d:\winxp\root\home\perc2.sy_ d:\winxp\root\home\perc2hib.sy_ d:\winxp\root\home\ql1080.sy_ d:\winxp\root\home\ql10wnt.sy_ d:\winxp\root\home\ql12160.sy_ d:\winxp\root\home\ql1240.sy_ d:\winxp\root\home\ql1280.sy_ d:\winxp\root\home\ramdisk.sy_ d:\winxp\root\home\readme.htm d:\winxp\root\home\sbp2port.sy_ d:\winxp\root\home\scsiport.sy_ d:\winxp\root\home\serenum.sy_ d:\winxp\root\home\serial.sy_ d:\winxp\root\home\setup.exe d:\winxp\root\home\setupdd.sy_ d:\winxp\root\home\setupldr.bin d:\winxp\root\home\setupreg.hiv d:\winxp\root\home\sfloppy.sy_ d:\winxp\root\home\slip.sy_ d:\winxp\root\home\sparrow.sy_ d:\winxp\root\home\spcmdcon.sys d:\winxp\root\home\spddlang.sy_ d:\winxp\root\home\sq.txt d:\winxp\root\home\streamip.sy_ d:\winxp\root\home\sym_hi.sy_ d:\winxp\root\home\sym_u3.sy_ d:\winxp\root\home\symc810.sy_ d:\winxp\root\home\symc8xx.sy_ d:\winxp\root\home\tffsport.sy_ d:\winxp\root\home\toside.sy_ d:\winxp\root\home\txtsetup.si_ d:\winxp\root\home\ultra.sy_ d:\winxp\root\home\usbccgp.sy_ d:\winxp\root\home\usbd.sy_ d:\winxp\root\home\usbhub.sy_ d:\winxp\root\home\usbohci.sy_ d:\winxp\root\home\usbport.sy_ d:\winxp\root\home\usbstor.sy_ d:\winxp\root\home\usbuhci.sy_ d:\winxp\root\home\vga.sy_ d:\winxp\root\home\vgaoem.fo_ d:\winxp\root\home\viaide.sy_ d:\winxp\root\home\videoprt.sy_ d:\winxp\root\home\win51 d:\winxp\root\home\win51ic d:\winxp\root\home\wmilib.sy_ d:\winxp\root\home\docs\…… d:\winxp\root\home\i386\…… d:\winxp\root\home\support\…… d:\winxp\root\home\system32\ntdll.dll d:\winxp\root\home\system32\smss.exe d:\winxp\root\home\&#118alueadd\…… d:\winxp\root\wpro\1394bus.sy_ d:\winxp\root\wpro\1394vdbg.sy_ d:\winxp\root\wpro\abp480n5.sy_ d:\winxp\root\wpro\acpi.sy_ d:\winxp\root\wpro\acpiec.sy_ d:\winxp\root\wpro\adpu160m.sy_ d:\winxp\root\wpro\aha154x.sy_ d:\winxp\root\wpro\aic78u2.sy_ d:\winxp\root\wpro\aic78xx.sy_ d:\winxp\root\wpro\aliide.sy_ d:\winxp\root\wpro\amsint.sy_ d:\winxp\root\wpro\asc.sy_ d:\winxp\root\wpro\asc3350p.sy_ d:\winxp\root\wpro\asc3550.sy_ d:\winxp\root\wpro\atapi.sy_ d:\winxp\root\wpro\autorun.inf d:\winxp\root\wpro\biosinfo.inf d:\winxp\root\wpro\bootfix.bin d:\winxp\root\wpro\bootfont.bin d:\winxp\root\wpro\bootvid.dl_ d:\winxp\root\wpro\c_936.nl_ d:\winxp\root\wpro\cbidf2k.sy_ d:\winxp\root\wpro\cd20xrnt.sy_ d:\winxp\root\wpro\cdfs.sy_ d:\winxp\root\wpro\cdrom.sy_ d:\winxp\root\wpro\classpnp.sy_ d:\winxp\root\wpro\cmdide.sy_ d:\winxp\root\wpro\cpqarray.sy_ d:\winxp\root\wpro\dac2w2k.sy_ d:\winxp\root\wpro\dac960nt.sy_ d:\winxp\root\wpro\disk.sy_ d:\winxp\root\wpro\disk101 d:\winxp\root\wpro\disk102 d:\winxp\root\wpro\disk103 d:\winxp\root\wpro\disk104 d:\winxp\root\wpro\disk105 d:\winxp\root\wpro\disk106 d:\winxp\root\wpro\dmboot.sy_ d:\winxp\root\wpro\dmio.sy_ d:\winxp\root\wpro\dmload.sy_ d:\winxp\root\wpro\dpti2o.sy_ d:\winxp\root\wpro\drvmain.sdb d:\winxp\root\wpro\fastfat.sy_ d:\winxp\root\wpro\fdc.sy_ d:\winxp\root\wpro\flpydisk.sy_ d:\winxp\root\wpro\ftdisk.sy_ d:\winxp\root\wpro\hal.dl_ d:\winxp\root\wpro\halaacpi.dl_ d:\winxp\root\wpro\halacpi.dl_ d:\winxp\root\wpro\halapic.dl_ d:\winxp\root\wpro\halmacpi.dl_ d:\winxp\root\wpro\halmps.dl_ d:\winxp\root\wpro\halsp.dl_ d:\winxp\root\wpro\hidclass.sy_ d:\winxp\root\wpro\hidparse.sy_ d:\winxp\root\wpro\hidusb.sy_ d:\winxp\root\wpro\hpn.sy_ d:\winxp\root\wpro\hpt3xx.sy_ d:\winxp\root\wpro\i2omgmt.sy_ d:\winxp\root\wpro\i2omp.sy_ d:\winxp\root\wpro\i8042prt.sy_ d:\winxp\root\wpro\ini910u.sy_ d:\winxp\root\wpro\intelide.sy_ d:\winxp\root\wpro\isapnp.sy_ d:\winxp\root\wpro\kbda1.dll d:\winxp\root\wpro\kbda2.dll d:\winxp\root\wpro\kbda3.dll d:\winxp\root\wpro\kbdal.dll d:\winxp\root\wpro\kbdarme.dll d:\winxp\root\wpro\kbdarmw.dll d:\winxp\root\wpro\kbdaze.dll d:\winxp\root\wpro\kbdazel.dll d:\winxp\root\wpro\kbdbe.dll d:\winxp\root\wpro\kbdblr.dll d:\winxp\root\wpro\kbdbr.dll d:\winxp\root\wpro\kbdbu.dll d:\winxp\root\wpro\kbdca.dll d:\winxp\root\wpro\kbdclass.sy_ d:\winxp\root\wpro\kbdcr.dll d:\winxp\root\wpro\kbdcz.dll d:\winxp\root\wpro\kbdcz1.dll d:\winxp\root\wpro\kbdcz2.dll d:\winxp\root\wpro\kbdda.dll d:\winxp\root\wpro\kbddiv1.dll d:\winxp\root\wpro\kbddiv2.dll d:\winxp\root\wpro\kbddv.dll d:\winxp\root\wpro\kbdes.dll d:\winxp\root\wpro\kbdest.dll d:\winxp\root\wpro\kbdfa.dll d:\winxp\root\wpro\kbdfc.dll d:\winxp\root\wpro\kbdfi.dll d:\winxp\root\wpro\kbdfr.dll d:\winxp\root\wpro\kbdgae.dll d:\winxp\root\wpro\kbdgeo.dll d:\winxp\root\wpro\kbdgkl.dll d:\winxp\root\wpro\kbdgr.dll d:\winxp\root\wpro\kbdgr1.dll d:\winxp\root\wpro\kbdhe.dll d:\winxp\root\wpro\kbdhe220.dll d:\winxp\root\wpro\kbdhe319.dll d:\winxp\root\wpro\kbdheb.dll d:\winxp\root\wpro\kbdhela2.dll d:\winxp\root\wpro\kbdhela3.dll d:\winxp\root\wpro\kbdhept.dll d:\winxp\root\wpro\kbdhid.sy_ d:\winxp\root\wpro\kbdhu.dll d:\winxp\root\wpro\kbdhu1.dll d:\winxp\root\wpro\kbdic.dll d:\winxp\root\wpro\kbdindev.dll d:\winxp\root\wpro\kbdinguj.dll d:\winxp\root\wpro\kbdinhin.dll d:\winxp\root\wpro\kbdinkan.dll d:\winxp\root\wpro\kbdinmar.dll d:\winxp\root\wpro\kbdinpun.dll d:\winxp\root\wpro\kbdintam.dll d:\winxp\root\wpro\kbdintel.dll d:\winxp\root\wpro\kbdir.dll d:\winxp\root\wpro\kbdit.dll d:\winxp\root\wpro\kbdit142.dll d:\winxp\root\wpro\kbdkaz.dll d:\winxp\root\wpro\kbdkyr.dll d:\winxp\root\wpro\kbdla.dll d:\winxp\root\wpro\kbdlt.dll d:\winxp\root\wpro\kbdlt1.dll d:\winxp\root\wpro\kbdlv.dll d:\winxp\root\wpro\kbdlv1.dll d:\winxp\root\wpro\kbdmon.dll d:\winxp\root\wpro\kbdne.dll d:\winxp\root\wpro\kbdnec.dll d:\winxp\root\wpro\kbdno.dll d:\winxp\root\wpro\kbdpl.dll d:\winxp\root\wpro\kbdpl1.dll d:\winxp\root\wpro\kbdpo.dll d:\winxp\root\wpro\kbdro.dll d:\winxp\root\wpro\kbdru.dll d:\winxp\root\wpro\kbdru1.dll d:\winxp\root\wpro\kbdsf.dll d:\winxp\root\wpro\kbdsg.dll d:\winxp\root\wpro\kbdsl.dll d:\winxp\root\wpro\kbdsl1.dll d:\winxp\root\wpro\kbdsp.dll d:\winxp\root\wpro\kbdsw.dll d:\winxp\root\wpro\kbdsyr1.dll d:\winxp\root\wpro\kbdsyr2.dll d:\winxp\root\wpro\kbdtat.dll d:\winxp\root\wpro\kbdth0.dll d:\winxp\root\wpro\kbdth1.dll d:\winxp\root\wpro\kbdth2.dll d:\winxp\root\wpro\kbdth3.dll d:\winxp\root\wpro\kbdtuf.dll d:\winxp\root\wpro\kbdtuq.dll d:\winxp\root\wpro\kbduk.dll d:\winxp\root\wpro\kbdur.dll d:\winxp\root\wpro\kbdurdu.dll d:\winxp\root\wpro\kbdus.dll d:\winxp\root\wpro\kbdusl.dll d:\winxp\root\wpro\kbdusr.dll d:\winxp\root\wpro\kbdusx.dll d:\winxp\root\wpro\kbduzb.dll d:\winxp\root\wpro\kbdvntc.dll d:\winxp\root\wpro\kbdycc.dll d:\winxp\root\wpro\kbdycl.dll d:\winxp\root\wpro\kd1394.dl_ d:\winxp\root\wpro\kdcom.dl_ d:\winxp\root\wpro\ksecdd.sys d:\winxp\root\wpro\l_intl.nl_ d:\winxp\root\wpro\lbrtfdc.sy_ d:\winxp\root\wpro\mountmgr.sy_ d:\winxp\root\wpro\mraid35x.sy_ d:\winxp\root\wpro\ntdetect.com d:\winxp\root\wpro\ntfs.sys d:\winxp\root\wpro\ntkrnlmp.ex_ d:\winxp\root\wpro\ohci1394.sy_ d:\winxp\root\wpro\oprghdlr.sy_ d:\winxp\root\wpro\partmgr.sy_ d:\winxp\root\wpro\pci.sy_ d:\winxp\root\wpro\pciide.sy_ d:\winxp\root\wpro\pciidex.sy_ d:\winxp\root\wpro\pcmcia.sy_ d:\winxp\root\wpro\perc2.sy_ d:\winxp\root\wpro\perc2hib.sy_ d:\winxp\root\wpro\ql1080.sy_ d:\winxp\root\wpro\ql10wnt.sy_ d:\winxp\root\wpro\ql12160.sy_ d:\winxp\root\wpro\ql1240.sy_ d:\winxp\root\wpro\ql1280.sy_ d:\winxp\root\wpro\ramdisk.sy_ d:\winxp\root\wpro\readme.htm d:\winxp\root\wpro\sbp2port.sy_ d:\winxp\root\wpro\scsiport.sy_ d:\winxp\root\wpro\serenum.sy_ d:\winxp\root\wpro\serial.sy_ d:\winxp\root\wpro\setup.exe d:\winxp\root\wpro\setupdd.sy_ d:\winxp\root\wpro\setupldr.bin d:\winxp\root\wpro\setupreg.hiv d:\winxp\root\wpro\sfloppy.sy_ d:\winxp\root\wpro\slip.sy_ d:\winxp\root\wpro\sparrow.sy_ d:\winxp\root\wpro\spcmdcon.sys d:\winxp\root\wpro\spddlang.sy_ d:\winxp\root\wpro\streamip.sy_ d:\winxp\root\wpro\sym_hi.sy_ d:\winxp\root\wpro\sym_u3.sy_ d:\winxp\root\wpro\symc810.sy_ d:\winxp\root\wpro\symc8xx.sy_ d:\winxp\root\wpro\tffsport.sy_ d:\winxp\root\wpro\toside.sy_ d:\winxp\root\wpro\txtsetup.si_ d:\winxp\root\wpro\ultra.sy_ d:\winxp\root\wpro\usbccgp.sy_ d:\winxp\root\wpro\usbd.sy_ d:\winxp\root\wpro\usbhub.sy_ d:\winxp\root\wpro\usbohci.sy_ d:\winxp\root\wpro\usbport.sy_ d:\winxp\root\wpro\usbstor.sy_ d:\winxp\root\wpro\usbuhci.sy_ d:\winxp\root\wpro\vga.sy_ d:\winxp\root\wpro\vgaoem.fo_ d:\winxp\root\wpro\viaide.sy_ d:\winxp\root\wpro\videoprt.sy_ d:\winxp\root\wpro\win51 d:\winxp\root\wpro\win51ip d:\winxp\root\wpro\wmilib.sy_ d:\winxp\root\wpro\docs\…… d:\winxp\root\wpro\i386\…… d:\winxp\root\wpro\support\…… d:\winxp\root\wpro\system32\ntdll.dll d:\winxp\root\wpro\system32\smss.exe d:\winxp\root\wpro\&#118alueadd\…… 8. 製作ISO文件 CDImage程序加「-o」參數最佳化後產生的鏡像文件約為558 MB,我們假設將它存放在f:盤的根目錄下,指令如下: d:\winxp\cdimage -lWinXP-2in1 -t09/05/2001,12:00:00 -g -h -j1 -o -m -bd:\winxp\w2kall.bin d:\winxp\root f:\wxp-2in1.iso 上述指令與產生Windows 2000的指令略有不同,各參數含義分別為: -l:設定光碟卷冊。此處為「WinXP-2in1」。 -t:設定光碟上所有文件的產生日期。此處為「2001年9月5日格林威治時間(GMT)上午12點整」。 -g:轉換本機時間與格林威治時間(GMT)。但如果是在Windows XP系統下,該參數似乎不起作用,「-t」參數指定的是GMT時間,而文件的產生時間是「-t」指定的時間加上時區轉換後的本機時間。如,上例中的文件產生本機時間是「20:00:00」,即GMT+8=北京時間。 -h:包含隱藏的目錄和文件。 -j1:編碼Joliet檔案名,並相容DOS的8.3格式檔案名。 -o:最佳化相同的文件,最重要的參數,這是我們將3個版本的1.02 GB文件壓縮到558 MB的關鍵。 -m:允許產生的ISO文件超過640 MB。 -b:光碟啟動啟始程序,此處我們使用了w2kall.bin。 d:\winxp\root:源文件路徑,將作為光碟的根目錄。 f:\wxp-2in1.iso:最後產生的ISO文件,我們要的就是它。 要點:cdimage /?可顯示所有選項。CDImagegui提供了一個圖形界面,使用更直觀,功能是一樣的。 9. 測試ISO文件 用VMware載入wxp-2in1.iso文件,設定第1啟動設備為光碟。從光碟啟動後,系統首先顯示資訊「Press any key to boot from CD.」,按任意鍵後,出現[A]、[b]2個選項表單,鍵入A、B鍵然後Enter鍵,可啟動相應安裝版本,鍵入C鍵然後Enter鍵,可安裝家庭版。此後的安裝與原版光碟的安裝一致。需要逐個安裝,以測試各個版本的完整性。 10. 增加特殊文件 可以根據個人的愛好,在光碟上再增加一些特殊文件,只需將其複製到d:\winxp\root目錄下,並重新製作ISO文件。 11.燒錄光碟 ISO鏡像文件測試無誤後,即可用自己熟悉的軟體(例如Nero)將其燒錄到光碟。 這樣,一張可啟動的Windows XP 2合1光碟就製作完成了。同樣,需要測試這張CD,最好的辦法就是用它逐個安裝一遍。 四、特色點評 優點:與街面上流行的Windows 2000/XP n合1光碟相比,上述方法製作的光碟目錄結構更簡潔,沒有一個多餘的文件,不需要diskem1x啟始程序,不需要重新製作啟動表單,不需要為每個版本分別準備不同的啟始文件,針對性更強。 缺點:只針對Windows 2000/XP系列,最多只能包含3個版本,無法製作出漂亮的彩色表單。 |
送花文章: 3,
|
2004-05-19, 10:15 PM | #2 (permalink) |
榮譽會員
|
啟動光碟製作完全手冊:之五
我假設你把前幾章的東東全學會了,如果沒會,我也沒辦法了。因為本章的東東只不過是起到錦上添花的效果,並不啟到什麼決定作用,請大家學會前幾章的東東後,再學習本章。 也許你會問,表單不是在前幾章就討論過了嗎?其實不然,我們以前做的表單,都是比較粗糙,都是黑白的,沒有色彩,而且不支持中文。 我們現在來學習彩色中文表單的製作。 看看下面的這個效果: 圖片 1 這是我做WIN2K 3IN1的啟動表單。 做這個我用了一個軟體,叫EASY BOOT。這個軟體不是很有名,最新版本是3.0SR1。是國人製作。 EasyBoot是一款集成化的中文光碟啟動表單製作工具,它可以製作光碟啟動表單、自動產生啟動檔案。只要通過CD-R/W燒錄軟體即可製作完全屬於自己的啟動光碟。 EasyBoot能夠執行在Windows95/98/Me/NT/2000/XP環境下。 EasyBoot可以做到: 1.實現全中文、多選項、彩色表單。 2.GUI製作啟動螢幕樣式、文字內容、表單條和功能鍵。 3.在製作中預覽螢幕效果。 4.自動產生中文表單文件和光碟啟動檔案。 5.直接製作可啟動ISO文件。 EasyBoot主要特性有: 1、完全圖形化界面,使用方便,即使新手也很容易學習。 2、燒錄光碟根目錄僅增加1個文件,不破壞原版盤的風格。 3、最多可支持36個表單項。 4、支持up、down、left、right游標鍵和tab鍵選表單,Enter、SpaceBar鍵執行。 5、支持用戶自訂快捷按鍵(如0-9、a-z),直接選項表單。 6、支持用戶自訂功能鍵(如esc、F1-F12)直接執行指令。 7、可選項快捷鍵直接執行模式。 8、可選項輸入字母轉小寫或大寫模式。 9、可在每個表單項下定義游標鍵的靈活跳轉方式,從而支持任意佈局的螢幕表單。 10、支持子表單,可製作十分複雜的啟動光碟。 11、方便而強大的編輯功能 +靈活定義螢幕佈局、文本、表單和功能鍵。 +支持螢幕預覽,可直接看到實際效果。 +支持預覽螢幕選項對像、編輯對象,包括用滑鼠和鍵盤新增、移動、修改坐標等操作。 +支持Undo功能,可恢復成修改前的狀態。 12、集成ISO文件產生器,可直接產生可啟動ISO文件。 EasyBoot分演示版(Demo)和正式版(Release)。 購買正式版的EasyBoot軟體,只需花費28元人民幣,具有全部的最新發佈功能。 我希望你能向作者註冊,請不要來信問我要正式版。作者的E-Mail: easyboot@hotmail.com 演示版本是完全免費的,但使用中如下限制: 1. 不支持Image文件執行目錄,光碟根目錄下的文件會多一些。 2. 只能在安裝的表單文件基礎上修改製作少於4個表單項的啟動光碟。 3. 僅支持8步Undo功能。 下載DEMO版: http://www.yihongtai.com/xjf/boot/eboot.zip EasyBoot 使用說明 一、、安裝 執行ezb30.exe,預設安裝目錄為D:\EasyBoot,用戶也可以選項其它目錄進行安裝。 二、開始執行 執行"程序"-〉"EasyBoot"-〉"EasyBoot V3.0"。 出現2個視窗:左邊是控制台,右邊是預覽視窗。 *控制台用於開啟/儲存表單文件、製作ISO文件、修改螢幕對象的位置、顏色內容等。 *預覽視窗可看到實際效果,也可以用滑鼠/鍵盤進行編輯。 *當前對像在控制台列表框中加亮顯示;在預覽視窗用虛線框表示。 三、製作啟動表單 1、裝入/新增文件 1) 修改表單文件目錄、表單檔案名,或在「文件目錄」「表單檔案名」上按滑鼠左鍵選項目錄和文件。 2) 按"開啟",裝入表單文件。 (說明:安裝後自動產生cdmenu.bin樣例,可在此基礎上進行修改,十分方便。) 3) 按「新增」或新增一個表單文件。 2、啟動表單包括以下5種對象,可自由定義: 1) 螢幕佈局:螢幕上顏色區域定義,包括左上角、右下角坐標,背景顏色/前景顏色等參數。 2) 顯示文本:螢幕上文字顯示定義,包括左上角、右下角坐標,文本內容、對齊方式等參數。 (說明:文本的顯示顏色使用顯示位置的螢幕佈局/表單前景色。) 3) 表單條:螢幕高亮度顯示條,指示當前選項的啟動項,並對應執行指令。除左上角、右下角、背景色/前景色 等參數外,還包括: *執行指令:表單條所對應的指令,可分為2類 a)run 指令 執行啟動Image文件,啟動DOS/98/NT/2000/XP 如:run dos98.img run w2ksect.bin b)boot 指令 boot 80 從硬碟啟動 boot 0 軟碟啟動 reboot 重新啟動 *快捷鍵:用戶按指定按鍵可直接選項/執行。快捷鍵可以是0-9/a-z/A-Z等ASCII按鍵。 *設定為預設表單:將當前表單設定為啟動預設表單。 *游標鍵:在當前表單上按up、down、left、right、tab等游標鍵轉向的表單條,分3種情況 a) 00 -- 預設,up、left選項上一表單項,down、right、tab選項下一表單項 b) 99 -- 禁用,該種游標鍵沒有作用 c) 01-36 -- 直接跳轉相應表單項 4) 功能鍵:直接按鍵執行執行指令。 僅需定義功能按鍵和執行指令,啟動時按功能鍵直接執行。 5) 全局參數: *主表單、子表單:主表單在光碟啟動時自動載入,子表單在主表單或其它子表單中用run指令載入。 *預設表單條:光碟啟動時卻省選的表單條。 *啟動等待時間:進入啟動畫面後等待一定時間後,自動執行卻省表單,對無監管自動安裝很有用。 *Image目錄:將啟動檔案(dos98.img、w2ksect.bin)等放入IMG目錄,可減少根目錄文件數量。 *快捷鍵操作方式:可選項直接執行指令,或僅選項,或執行。 *按鍵字母轉換:可將輸入字母轉換成小寫/大寫,方便啟動選項。 *表單文件自動裝載、預覽螢幕開啟/關閉等。 3、控制台常用編輯功能如下: *直接修改左上角、右下角坐標、顏色、顯示文本、執行指令等參數,按直接修改, Tab或滑鼠選項其它項後自動修改。 *「插入」「增加」可新增對像;「刪除」可消除對象。 *「上移」「下移」可改變對像顯示順序。 *「恢復」可恢復到修改前的狀態,共可恢復36步。 *可設定啟動時的預設表單、等待時間、啟動檔案的執行目錄等參數。 4、預覽視窗常用編輯指令如下: *滑鼠左鍵--首次Click選項螢幕對像; 在選對像上Click(或SpaceBar)移動對像位置; 再次Click(或SpaceBar)改變對像大小; *滑鼠右鍵--驗證並修改對像內容(或Enter鍵)。 *ESC鍵--取消當前對像所作修改。 *Tab鍵--選項下一對象。 *Delete鍵--刪除所選項對象。 *BackSpace鍵--Undo,最多恢復36步。 *游標鍵----Left、Right、Up、Down可移動游標。 PageUp、PageDown、Home、End可改變對像顯示順序。 5、按"儲存",自動產生所需的啟動檔案和表單文件。 四、製作ISO EasyBoot 3.0 SR-1不再包含ISO製作工具。用NERO老是失敗,用CDIMAGE比較好(可以用GUI的啊)。 五、測試 用VMWare或Virtual PC測試ISO文件,以保證最終刻出的光碟不會出現問題。 用游標鍵選項表單項,Enter/SpaceBar執行。 六、燒刻 用EasyCD Creator、Nero Burning-ROM或其它你熟悉的燒刻工具。 這是一個網友免費開發的,但要執行在DOS下的。上面的軟體是收費的,現在我來介紹個免費的——mkcmenu。mkcmenu功能也十分強大。這是一個網友免費開發的,但要執行在DOS下的。 mkcmenu下載: http://www.yihongtai.com/xjf/boot/mkc.rar 看看下面的製作效果(並非我所做,從一個網站下載所得,作者不詳): 圖片 2 下面是一個名叫ZHWFQ寫的教程。我對這個軟體不太熟,因為不太喜歡在DOS下做東東。不過這個軟體功能還是很強大的。 要在ucdos,tway,ccdos97等漢字系統下執行. 上面是製作包的兩個文件. ^-^微軟pdos95也不錯的說 圖片 3 執行mkcmenu.exe,進入集成製作環境. 因為diskem1x.bin最後一行用不到,我作為狀態行使用了. 左下角邊mn是(子)表單編號和光條編號, 右下角是當前製表符類型. 圖片 4 按Tab鍵,編輯dskem00.txt文件. 前面一大堆print語句,用來設定螢幕顯示資訊,最後的分號表示結束. (按Tab鍵後會自動啟動Edit,然後開啟dskem00.txt文件即可編輯) 圖片 5 按Alt-X儲存碟退出,立即看到顯示效果. 圖片 6 不滿意的話,再按TAB,進行修改.例如將標題往右移一點,在最後一個選項後面增加一個空行 圖片 7 這下滿意了吧.下面開始畫表格線. 圖片 8 按小鍵碟上的數字"0",選項製表符類型,共4種.看到右下角的變化了嗎. 圖片 9 移動游標至合適位置,開始畫線. 畫線用小鍵碟上的1-9和+,-,*,/ 刪除線按del鍵. 很容易,請大家自己試一下. 圖片 10 現在來設定螢幕各部分的顏色,先設定第一行. 將游標移到螢幕的左上角,按空格鍵,出現一個光塊. 圖片 11 再將游標移至右上角,按空格鍵,出現一個光條(塊). 連續按空格鍵,選項背景,選後按Enter鍵鍵驗證. 景,按Enter鍵驗證. 用上述方法設定好其它各部分的顏色. 按N鍵(看左下角變化),進入第一個光條的設定. 按Tab鍵,編輯對應的.cmd文件,儲存碟返回. 按N鍵,設定第2個光條. 第3個光條. 連續按B鍵,返回mn=00,設定初始螢幕光條. ] 製作好了,按ESC退出. ===== 注 意 ===== 1.上面是自動產生的文件,其中*.bin和*.cmd是製作光碟要用的,其它文件也請保留,以後可以隨時進入mkcmenu進行修改. 2.如果在dskem00.txt中增減漢字,必須把dskem01.bin,diskem02.bin,...刪掉重新製作. 3.在製作環境中,還可以按M鍵,設計子表單,完成各種複雜的啟動表單和突破64個漢字數目的限制,如關聯的說明 資訊. 最後,享受一下成功的喜悅吧! http://www.xjf.cn/cd5.htm |
__________________ |
|
送花文章: 3,
|