怎樣才能制作出有高壓縮比的映像文件
用WinISO來編輯或制作*.iso文件時,我發現
比如有Windows2000 3in 1的光盤映像,1G多的數據形成的ISO文件只有500多M; 而我用WinISO制作*.iso文件時卻怎麼也達不到這種效果,一般600M的數據制作成ISO 文件後還是600M左右。 怎樣才能制作出有高壓縮比的映像文件呢? 這段時間流行了一陣“N合一”風,最早是WIN2000的PRO,SERVER和ADVSERVER三個版本 做成一張光盤,剛開始我還以為是簡單的把三個系統的安裝盤刻在一張上面,後來大概 算了一下,少說也有900M-1G的數據,不太可能。下了一張來看看,發現做法非常新鮮: 其實WIN2000的三個版本的安裝盤中,有大量的文件是相同的,特別是語言包/字庫(I3 86\LANG目錄)以及寫字板等自帶應用程序,以及那個50M的driver.cab。不同的只是相 對少數的系統文件。這種N合一光盤將ISO映象經過特殊處理,重復的文件,實際數據在 光盤上只有一份,通過類似於修改光盤目錄表的辦法,讓不同的目錄/文件指向相同的數 據區。完成ISO修改後再刻成光盤。這樣,既省了空間,又讓每個目錄看起來仍然獨立、 完整。 那麼到底有多少相同呢?我自己做了個實驗,我有一個WIN2K PRO安裝目錄和一個ADV S ERVER安裝目錄,分別是260M和280M左右。(為了省空間,我去掉了除簡/繁體中文外的 其它語言包,象韓文日文阿拉伯文,我這輩子都用不到)。兩個目錄如果簡單的刻在一 張盤上,將佔540M左右的空間。而用N合一的方法,“相同文件只處理一次”,合並下來 只有340M左右。照這個數字看來,二者有70-75%是相同的!不同部分只佔各自的25%-30 %!依此數字估算,就算將SERVER也加進去,最後的大小也應該只有400-450M,相對於簡 單相加的800M,幾乎少了一半。如果你不想將三個差不多的WIN2000分別用三張CDR保存 的話,可以考慮自己做個N合一光盤。 說到這裡不僅要提一下DOS/WIN文件系統的落後。UNIX/LINUX從最開始就提供了符號連接 的功能,一個簡單的ln命令就可以完成上面的工作,而在DOS/WIN下,這種操作必須借助 專門的軟件通過修改ISO進行,而且這種結構還不能存在於硬盤上,因為它在所有針對D OS/WIN的磁盤檢查軟件看來,都是“交叉連接”,會被更正。 好了,別扯遠了。話說回來,理解這種方式很容易,實際做起來呢?關鍵是“相同文件 ”是怎麼判斷。靠人工是很麻煩的。實際上微軟內部提供了一個工具,叫CDIMAGE,專門 幹這個。加上一個-o參數,就可以實現“自動優化”的功能。MS很多內部發行版本,都 是用這個辦法“擠”在一張盤上。這個小工具解壓只有70K。點這裡下載 當然它不光是用來做WIN2000的N合一。對所有“大量文件重復”的情況,用它都可以發 揮極大作用。不過……好象這種情況不多……大家舉點例子? 具體做法: 1、建一個目錄,把它看成是你要做的光盤的根目錄,把所有要放上去的內容全弄進去, 比如,這個目錄叫c:\ewin3in1,裡面分別有 c:\ewin3in1\pro c:\ewin3in1\server c:\ewin3in1\advserver 目錄,分別對應三個WIN2000版本。現在查看目錄屬性,應該在800M或更多,無法放在一 張光盤上。 2、現在用CDIMAGE程序,在另一目錄(你想產生ISO文件的目錄)中運行: cdimage -lWin2K3IN1 -t08/22/00,00:00:00 -h -n -o -m c:\ewin2k My3IN1.ISO 直接運行CDIMAGE將顯示參數說明。下面簡單解釋一下常用參數意義: -l : (是JKL的L,不是IBM的I)這是光盤的卷標 -t : 將所有文件設成指定的時間,看起來很專業 -h : 包括######文件 -n : 允許長文件名 -o : 這是最重要的,CDIMAGE的精華就是它。自動判斷重復文件,對重復文件只處理一 次,並自動修改相關的文件指向。默認是使用文件大小和MD5算法進行比較(我也不太懂 ,大概是和CHECKSUM差不多概念的方法吧)從概率角度來看準確性相當高,但並不是“ 逐字節對比”。如果你要求逐字節對比,用-oc參數。不過速度極慢。 -m : 不加這個參數的話,將不能產生大於650M的ISO映象 c:\ewin2k : 這是光盤的根目錄。CDIMAGE將以此目錄開始構造光盤目錄結構,硬盤上的 c:\ewin2k\pro將變成光盤的x:\pro My3IN1.ISO : 這是最後生成的ISO文件的名字。它已經是優化後的了。 3、最後只需用燒錄軟件(如EASY CD CREATOR的CREATE DISK FROM IMAGE)將ISO刻成光 盤即可。 至此我們的N合一就做完了。當然這張盤只是簡單的將三個安裝目錄放在一起,而且不能 啟動。比較理想的情況是,將光盤做成象2000正版那樣自動啟動並開始安裝的(這個已 經有人做到了),更理想的情況是開機出現菜單,可以選擇安裝PRO/SERVER或ADVSERVE R,然後自動調用相應的安裝程序。目前還不知道有沒有人做出來。如果你知道,或是做 出來了,一定告訴我。 要做成可啟動的安裝光盤,有很多要注意的地方,這個貼子可以參考: 主要有兩點:一是把CDROM_xx.5這些文件放到光盤根目錄,讓安裝程序認為這是原版。 另外需要做一個啟動軟盤的映象文件如boot.bin然後做CDIMAGE的時候用-bc:\boot.bin 來讓ISO可啟動。至於多啟動光盤這類東西,大家參考這裡,有點舊,但還是有用: 這種盤當然也有缺點,而且是顯而易見的: 1、如果光盤有某個地方損壞,剛好又是大家“共享”的系統文件,那麼可能3個WIN200 0都將報廢,無法安裝。普通光盤只是損壞那個文件所屬的那一個版本。 2、最好要有光盤刻錄機,這種ISO鏡象,用WINIMAGE解是沒有意義的,WINIMAGE並不懂 得這種修改過的結構,它將按目錄表把所有文件解到硬盤,相同文件被復制了若幹份。 相當於還原成優化之前的狀態。象那個EWIN 6合一,解開後好象有1.9G左右。 不過相對來說這些缺點都不重要。 |
This one is interesting!
|
辛苦了
Thanks share. |
不錯的教學!!!
|
所有時間均為台北時間。現在的時間是 02:23 PM。 |
Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.
『服務條款』
* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *