金年会 金字招牌诚信至上,金年会 金字招牌诚信至上,金年会 金字招牌诚信至上,金年会 金字招牌诚信至上

 找回密碼
 注冊

QQ登錄

只需一步,快速開(kāi)始

查看: 1439|回復: 1
打印 上一主題 下一主題

[分享] 制作啟動(dòng)光盤(pán)可能涉及到的知識和技巧 B

跳轉到指定樓層
1#
阿卡菲爾 發(fā)表于 2007-6-21 15:35:11 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式 來(lái)自 中國河南開(kāi)封

馬上注冊,結交更多好友,享用更多功能。

您需要 登錄 才可以下載或查看,沒(méi)有帳號?注冊

x
和winnt.sif一樣,txtsetup.sif是制作安裝光盤(pán)中極為重要的一個(gè)文件,里面記錄了安裝文件所在位置以及安裝時(shí)文件拷貝的目標文件夾
txtsetup.sif的實(shí)際作用其實(shí)就是把指定的文件按要求拷貝到預設好的位置上,最可能用到的是以下幾段:

[SourceDisksNames.x86]——用代碼表示源文件的位置
[WinntDirectories]——用代碼表示文件拷貝的目標文件夾,其根目錄為%WinDir%,即安裝指定的Windows文件夾
[SourceDisksFiles]——根據前面設定的代碼表示文件拷貝的具體細節,見(jiàn)下面的例子
下面3段為集成SATA、SCSI等驅動(dòng)時(shí)所用
[HardwareIdsDatabase]——硬件標識
[SCSI.Load]——SCSI驅動(dòng)加載
[SCSI]——SCSI設備說(shuō)明
[HiveInfs.Fresh]——全新安裝時(shí)根據指定的inf文件中的字段添加注冊表信息(猜的,不過(guò)可能性蠻高的,但是實(shí)用性不強)
[HiveInfs.Upgrade]——升級安裝時(shí)根據指定的inf文件中的字段添加注冊表信息(同上括號)

先看看txtsetup.sif中比較常用一行描述([SourceDisksFiles]中):

defragP.chm = 1,,,,,,,21,0,0,defrag.chm

其中:
第一位,即源文件位置位的1,在[SourceDisksNames.x86]中有說(shuō)明,表示源文件為原版本且在光盤(pán)上i386文件夾(常用的還有100,表示源文件為SP補丁中較新版本的文件)
21為文件拷貝目標位置位,指定了該文件拷貝的目標文件夾,在[WinntDirectories]中有說(shuō)明,表示%WinDir%\help文件夾
上面第一個(gè)0為升級代碼位,含義為:(升級時(shí))0-總拷貝文件;1-安裝文件夾中有該文件才拷貝;2-安裝文件夾中有該文件時(shí)不拷貝;3-不拷貝文件
第二個(gè)0為新安裝代碼位,含義同上(全新安裝時(shí)),另外據說(shuō)此代碼若不為0,其前面需多加2個(gè)逗號
defrag.chm表示將目標文件改名為此
因此,這一行表明,不管是升級還是全新安裝,都將源文件defragP.chm拷貝到%WinDir%\help文件夾下并改名為defrag.chm

再看一個(gè)例子:

sp2.cab=100,,,,,,_x,39,0,0
其中:
_x表示文件沒(méi)有經(jīng)過(guò)壓縮,即不是諸如LOGONUI.EX_之類(lèi)經(jīng)過(guò)cab壓縮的,實(shí)際上加不加關(guān)系好像不大,雖說(shuō)涉及到layout.inf中文件設定的大。ǔ醪叫r炍募欠癖恍薷倪^(guò))
下面舉兩個(gè)實(shí)際應用的例子:

1、集成Royale主題
首先對該主題涉及到的文件進(jìn)行處理:

將Royale.theme中的"Wallpaper=%WinDir%Resources\Themes\Royale\Energy Bliss.jpg"修改為
"Wallpaper=%WinDir%Resources\Themes\Royale\EnergyBliss.jpg",也就是改一下桌面圖片的文件名而已,因為在txtsetup.sif中重命名文件時(shí)好像不能有空格符

文件改名(最好符合8.3)
Royale.theme -> Royale.the
Royale.msstyles -> Royale.mst
EnergyBliss.jpg -> Royale.jpg
shellstyle.dll -> Royale.dll

用modifype處理一下Royale.mst文件的校驗碼,以防文件拷貝時(shí)報錯(具體哪些文件要處理我也拿不準,修改過(guò)的微軟的東西可能性比較大,特別是第一位取100而不是1時(shí),是否要處理視具體情況而定)
用makecab壓縮一下文件(可以不壓),并把文件拷貝到i386文件夾中
修改txtsetup.sif
在[WinntDirectories]中添加
250 = Resources\Themes\Royale
251 = Resources\Themes\Royale\Shell\NormalColor
在[SourceDisksFiles]中添加
Royale.the = 1,,,,,,,129,0,0,Royale.theme
Royale.mst = 1,,,,,,,250,0,0,Royale.msstyles
Royale.jpg = 1,,,,,,,250,0,0,EnergyBliss.jpg
Royale.dll = 1,,,,,,,251,0,0,shellstyle.dll

2、集成安裝(以打補丁為例)
將補丁以及xpinstall等相關(guān)文件準備好(放在同一文件夾下,并配置好xpinstall.xml,用xpinstall來(lái)安裝補丁比較美觀(guān))
用WinRAR將這些文件做成自解壓壓縮文件xp_patch.exe,并在自解壓選項的模式中指定解包到臨時(shí)文件夾和全部隱藏(這樣就神不知鬼不覺(jué)了),以及指定xpinstall為解壓后運行的程序
用makecab壓縮該文件,并把文件拷貝到i386文件夾中
在[SourceDisksFiles]中添加
xp_patch.exe = 1,,,,,,,1,0,0
在winnt.sif中的[GuiRunOnce]添加
Command0="%WinDir%\xp_patch.exe"

ps:
1、手動(dòng)安裝(可進(jìn)修復控制臺)時(shí),必須去掉winnt.sif的[Unattended]段,從而導致了OEM的設定無(wú)效,對應的文件夾無(wú)法自動(dòng)拷貝系統盤(pán)中,但winnt.sif中和該段無(wú)關(guān)的設置依然是有效的,所以可以設定程序自動(dòng)運行,剩下的問(wèn)題也就是程序文件的定位了,利用txtsetup.sif就可以很好地完成這一任務(wù)了(當然大部分情況下也可以利用cmdlines.txt來(lái)實(shí)現,不過(guò)某些程序的安裝還是建議系統裝完后才執行)
2、制作 n in 1 的光盤(pán)時(shí),安裝程序應該是根據setupldr.bin指定的位置去加載winnt.sif和txtsetup.sif,所以啟動(dòng)組要包含特定的winnt.sif和txtsetup.sif(沒(méi)試過(guò)啟動(dòng)組中不包含txtsetup.sif是否ok.)
************************************************************

四、光盤(pán)啟動(dòng)菜單

使用EasyBoot做菜單應該說(shuō)是很簡(jiǎn)單的了,畢竟EasyBoot本身就非常簡(jiǎn)單,而且自帶的幫助也很詳細,要做得漂亮些,菜單條就選用圖像文本吧.

下面bcdw 2.0a1為例,簡(jiǎn)單介紹一下結合EasyBoot用bcdw直接引導ISO的方法

1、找到bcdw.ini,編輯內容如下:
\BootCD1.iso ;My Bootable CDRom1
\BootCD2.iso ;My Bootable CDRom1
("\"表明BootCD1.iso和BootCD2.iso均在光盤(pán)根目錄下,";"后是菜單顯示信息)
2、將bcdw.bin和bcdw.ini拷到MyCD\bcdw文件夾下,并把bcdw自帶loader.bin改名為bcdwload.bin,拷到MyCD\ezboot文件夾下
3、制作好BootCD1.iso和BootCD2.iso并拷到MyCD文件夾下
4、在EasyBoot中增加菜單項,執行 run bcdwload.bin

ps:
事實(shí)上,這里直接引導iso的類(lèi)型是有限制的,像Windows和Linux的啟動(dòng)光盤(pán)好像都不行,這點(diǎn)確實(shí)很可惜,跟CD Shell一樣
---------------------------------------------------------------------------------------

五、虛擬機測試

建議使用VMWare 5.0或以上版本,不過(guò)已裝好4.x的虛擬機系統要upgrade到5.0的話(huà)并不十分容易,請認真查看說(shuō)明幫助,測試時(shí)要善用snapshot(5.0之后的版本能建立多個(gè)snapshot,非常方便),例如在測試cmdlines.txt的作用時(shí),因為該文件是到了組件安裝時(shí)才拷貝并加載的(還剩十來(lái)分鐘時(shí)的樣子),所以可以在之前做個(gè)snapshot,iso中更新了cmdlines.txt的相關(guān)內容后,直接還原該snapshot就可以使用新的cmdlines.txt設置了



大家多看看多學(xué)學(xué)吧,辛苦了。
2#
3mb4 發(fā)表于 2007-6-21 20:23:53 | 只看該作者 來(lái)自 中國山東濟南
學(xué)習中。。。。。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規則

快速回復 返回頂部 返回列表
阳春市| 双峰县| 上虞市| 鱼台县| 安庆市| 静安区| 大理市| 韶关市| 荥经县| 城市| 肥西县| 滨州市| 商水县| 攀枝花市| 鄯善县| 盐源县| 东兴市| 平乡县| 甘肃省| 高安市| 伊宁县| 铜鼓县| 嵩明县| 贡山| 永嘉县| 丰城市| 湖北省| 驻马店市| 遂宁市| 兴山县| 辉南县| 湟中县| 天等县| 海门市| 西乡县| 射阳县| 内乡县| 南华县| 乃东县| 扶绥县| 浦北县|