這段時間流行了一陣“N合一”風,最早是WIN2000的PRO,SERVER和ADVSERVER三個版本做成一張光碟,剛開始我還以為是簡單的把三個系統的安裝檔燒在一張上面,後來大概算了一下,少說也有900M-1G的資料,不太可能。拿了一張來看看,發現做法非常新鮮: 其實WIN2000的三個版本的安裝檔中,有大量的檔是相同的,特別是語言包/字形檔(I386\LANG目錄)以及寫字板等應用程式,以及那個50M的driver.cab。不同的只是相對少數的系統檔。這種N合一光碟將ISO映象經過特殊處理,重複的檔,實際資料在光碟上只有一份,通過類似於修改光碟目錄表的辦法,讓不同的目錄/檔指向相同的資料區。完成ISO修改後再刻成光碟。這樣,既省了空間,又讓每個目錄看起來仍然獨立、完整。 那麼到底有多少相同呢?我自己做了個實驗,我有一個WIN2K PRO安裝目錄和一個ADV SERVER安裝目錄,分別是260M和280M左右。(為了省空間,我去掉了除簡/繁體中文外的其他語言包,像韓文日文阿拉伯文,我這輩子都用不到)。兩個目錄如果簡單的燒在一張光碟上,將占540M左右的空間。而用N合一的方法,“相同檔只處理一次”,合併下來只有340M左右。照這個數字看來,二者有70-75%是相同的!不同部分只占各自的25%-30%!依此數字估算,就算將SERVER也加進去,最後的大小也應該只有400-450M,相對於簡單相加的800M,幾乎少了一半。如果你不想將三個差不多的WIN2000分別用三張CDR保存的話,可以考慮自己做個N合一光碟。 說到這裏不僅要提一下DOS/WIN檔系統的落後。UNIX/LINUX從最開始就提供了符號連接的功能,一個簡單的ln命令就可以完成上面的工作,而在DOS/WIN下,這種操作必須借助專門的軟體通過修改ISO進行,而且這種結構還不能存在於硬碟上,因為它在所有針對DOS/WIN的磁片檢查軟體看來,都是“交叉連接”,會被更正。 好了,別扯遠了。話說回來,理解這種方式很容易,實際做起來呢?關鍵是“相同檔”是怎麼判斷。靠人工是很麻煩的。實際上微軟內部提供了一個工具,叫CDIMAGE,專門作這個。加上一個-o參數,就可以實現“自動優化”的功能。MS很多內部發行版本,都是用這個辦法“擠”在一張盤上。 當然它不光是用來做WIN2000的N合一。對所有“大量檔重複”的情況,用它都可以...
請先 登入 以發表留言。