史萊姆論壇

返回   史萊姆論壇 > 教學文件資料庫 > 作業系統操作技術文件
忘記密碼?
論壇說明

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2006-03-20, 07:40 AM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 如何製作自己的Windows Service Pack

作為一個Windows 系統的管理員,安裝安全HotFix應該是不會陌生的,每次我們在裝完一台機器後總是下載無數修正檔,但煩人的是每每安裝一個HotFix系統都會Reboot一次,當然,在Reboot前我們不點擊"確定"按鈕,直接安裝完其他的修正檔後一次Reboot也未嘗不可,但是這樣似乎顯得有點不大專業,今天我教大家作一個自己的Service Pack,可以把你需要安裝的修正檔在一次安裝完畢,好像很Cool哦∼

  為了測試,我選項了一台中文版Windows 2000 Server,而我們需要安裝的安全修正檔為2個(當然不止這些,打個比方而已),一個是Windows 2000的輸入法漏洞的修正檔(Q270676),一個是命名管道的修正檔(Q269523)。

  跟著我一起來作吧:

  1、下載我們需要安裝的HotFixs,http://download.microsoft.com/download/win2000platform/Patch/Q269523/NT5/CN/Q269523_W2K_SP2_x86_CN.EXE和http://download.microsoft.com/download/win2000platform/Patch/q270676/NT5/CN/Q270676_W2K_SP2_x86_CN.EXE。

  2、切換到CMD模式,在C碟新增一個hotfix的目錄,然後執行

 Q269523_W2K_SP2_x86_CN.EXE /x(建議解包的順序按Q號的大小排列,由小到大,理由我會在後面提到)

  看到要求輸入解包路徑的提示後輸入"C:\Hotfix"。

  C:\>cd hotfix

  C:\hotfix>dir
  驅動器 C 中的磁碟區是 C
  磁碟區的序列號是 AC58-F7F5

  C:\hotfix 的目錄

  2001-05-04 04:00   <DIR>     .
  2001-05-04 04:00   <DIR>     ..
  2000-08-14 18:57       98,064 hotfix.exe
  2000-08-14 18:57       15,139 hotfix.inf
  2000-08-14 17:19       835,856 kernel32.dll
  2000-08-14 17:19       85,776 services.exe
  2000-08-14 18:31       88,245 sp2.cat
  2000-08-14 18:57        3,584 spmsg.dll
  2001-05-04 04:00   <DIR>     symbols
  2001-05-04 04:00   <DIR>     uniproc

  然後我們將hotfix.inf文件複製一份。

  C:\hotfix>copy hotfix.inf q269523_cn.inf

  已複製     1 個文件。

  緊接著我們將第二個HotFix解包,

  Q270676_W2K_SP2_x86_CN.EXE /x

  看到要求輸入解包路徑的提示後輸入"C:\Hotfix"。

  也將此時的hotfix.inf文件複製一份。

  C:\hotfix>copy hotfix.inf q270676_cn.inf

  已複製     1 個文件。

  第三個、第四個........重複同樣的操作。
、此時我們已經將HotFix的文件都解包至C:\Hotfix目錄,並且有了各個HotFix的inf文件的拷貝,我們現在來分析這些inf文件,一般我們把最後解包的inf文件作為範本,因為inf文件分很多字段,從我觀察的結果來看,隨著時間的推移,inf文件的字段可能會增加,這也就是我們開始解包按Q大小順序的原因,本例中我們以Q270676的inf文件為範本,我們編輯hotfix.inf文件,這個文件已經包含了Q270676的訊息,我們只要把Q269523中的訊息增加到該檔案中即可,下面我們來分析Q269523的inf文件的內容:

  前面的大部分基本都是相似的,我們只搜尋一些與眾不同的字段。

[MustReplace.System32.files]
SERVICES.EXE
[CopyAlways.DriverCab.files]
kernel32.dll
[快取.files]
SERVICES.EXE
KERNEL32.DLL
[Uniprocessor.Kernel.files]
KERNEL32.DLL,UNIPROC\KERNEL32.DLL
[Multiprocessor.Kernel.files]
KERNEL32.DLL
[SourceDisksFiles]
SERVICES.EXE=1
UNIPROC\KERNEL32.DLL
KERNEL32.DLL=1

  然後我們在hotfix.inf文件中搜尋MustReplace.System32.files,然後加入一行

  SERVICES.EXE

  為了以後方便,我們一般加上一些註釋,編輯後的hotfix.inf文件的MustReplace.System32.files字段就成了下面這個樣子:

[MustReplace.System32.files]

;Q269523 Added by Adam
  SERVICES.EXE

  接著搜尋CopyAlways.DriverCab.files、快取.files、Uniprocessor.Kernel.files、Multiprocessor.Kernel.files、SourceDisksFiles,並將相應的訊息增加到hotfix.inf文件中,也要注意增加必要的註釋文件,inf文件中表示註釋的符號為分號。當然,我們也建議您把本身的範本文件中必要的項也作一下註釋,如2個hotfix都包含的快取.files,我們修改後就成了:

[快取.files]

;Q269523 Added by Adam
  SERVICES.EXE
  KERNEL32.DLL

;Q270676 Added by Adam
  winzm.ime
  winsp.ime
  winpy.ime
  wingb.ime
  winabc.ime

  實際上,到這一步,我們就已經可以用我們作好的東東了,但是為了以後的方便,我們必須修改一些顯示訊息,這就是inf文件中的Strings字段。我們到inf文件的最末尾可以看到Strings字段,我們必須在這裡修改一些必要的訊息。

  首先修改Q號(不是OICQ號碼哦),將Q號改成你喜歡的6位數,當然,輸入其他字串也可以,但是也許會和某些查HotFix的軟體有衝突,還是用6位數位好了,然後修改Comments,我們把Q269523的Comment貼上過來,也可以加上一些自己的描述,修改後的Strings字段就成了下面的樣子:

[Strings]

  LangType類型=4
  ServicePackSourceFiles="Windows 2000 Hotfix 源文件"
  HOTFIX_NUMBER="Q123456"
  SERVICE_PACK_NUMBER=1
  COMMENT="Windows 2000 Hotfix (Pre-SP2) [See Q270676 for more information] This Fix Corrects the IME Problem...Windows 2000 Hotfix (Pre-SP2) [See Q269523 for more information] This Fix Corrects the NamePipe Problem..."

  這樣也方便我們日後對已安裝的修正檔進行檢視。

  4、好了,該修改的地方我們已經弄完了,我們開始安裝我們自己作的Service Pack吧,其實我們只要執行HotFix.exe即可,它會自己去找inf文件,然後你會看到一個拷貝文件的進度條,接著是系統要求你Reboot,點"確定",重啟,我們的HotFix就安裝完畢了。

  5、最後我們可以看看效果,你可以去看看註冊表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix

  你會發現你安裝的Q123456乖乖地呆在那裡了∼很有成就感哦∼

  最後總結一下:每每出一個新的HotFix後,你就將文件增加到你的SP包中,然後修改你的inf文件,你就可以不去理會微軟是不是還為你發佈新的SP了(NT 4的SP 7沒有了),當然,SP中不光包含安全修正檔,對系統的其他方面也有所改善,必定不能和正版的軟體相比。
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
 



發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 07:58 PM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1