專利名稱:測試電腦硬盤上的預裝軟件的完整性的方法
近年來,由于電子科技的日新月異,電腦及其外設產品的性能不斷提升,各種軟件亦隨之不斷推陳出新,而較諸以往更低廉的價格,令電腦及其外設產品得以在我們日常工作、學習、生活中日益普及,人們對電腦的需求亦因而得以快速成長,各大電腦及其外設產品的制造廠商面對此一廣大且新興的消費市場,無不均卯足實力,全力爭取,故在這場充滿挑戰及競爭的市場中,各大制造廠商為使自己產品能更吸引廣大的消費群,以期占據更多的市場利潤,均在消費者購買電腦時,在其硬盤上預先安裝了各種套裝軟件,以刺激消費者選購所產生的電腦及其外設產品,其中尤以我們所熟知的windows操作系統最為普遍,故,新購買的電腦內一般均已安裝取得Microsoft公司合法授權的隨機版本,其他尚包括能滿足一般消費者基本需求的套裝軟件或各廠家針對自己的各種機型所開發的特殊附帶軟件,隨機安裝的這些軟件不僅令消費者更易于操作電腦,亦為這些電腦制造廠商在開拓市場商機上提供一有利的條件。
一般言,各電腦制造廠商預先安裝在其所造制的各種電腦的硬盤上的軟件,并非以我們通常所使用的拷貝命令或安裝程序,來完成拷貝的程序,而是每天于生產線上,藉由操作人員以手工方式,對數以千計的硬盤完成拷貝程序,其操作方式不僅程序繁復,需耗費大量人力及時間,增加成本,而所完成拷貝的軟件亦不盡可靠。
在尚未安裝任何操作系統的硬盤上,預先安裝這些軟件,公知方法均是以較底層的方式,直接對硬盤上的磁軌(Tracker)進行數據寫入,利用此種特殊的數據拷貝方式,將令這些硬盤上的軟件安裝程序,忽略掉我們以普通方式安裝軟件時的校驗程序,因此,操作人員在安裝過程中,對數據寫入時所可能發生的任何錯誤,即一無所知,故軟件安裝的準確性必須完全仰賴于硬體設備運作的可靠度。
對于通過此種公知方式完成軟件安裝的硬盤,一般僅能在DOS環境下,通過查看目錄區的文件大小及屬性等數據,來確定安裝的準確性,并不能更詳細地針對軟件的實體部分(即存儲在硬盤上的軟件數據)進行檢測,以判斷其準確性。由于,在軟件安裝至硬盤的公知過程中,極可能因安裝時遇到振動,而發生數據寫入錯誤的情況,故電腦廠商顯然無法保證消費者在購買電腦及其隨機預裝軟件后,能安心且順利地使用電腦及其軟件,造成售后諸多不必要的消費糾紛及困擾。
此外,現今許多廠商除了在硬盤里隨機預裝應用軟件外,這些電腦廠商為了對自行開發的軟件進行保護,避免使用者因不當操作,意外地將該部分軟件修改或刪除,均會在硬盤上劃出一部分隱藏的空間,如
圖1所示,供這些特殊軟件使用,這些廠商是通過更改硬盤的主根記錄(Main Boot Record)的方式,令硬盤上該部分的存儲空間,對各種操作系統(包括DOS/WINDOWS NT/UNIX等)變成不可見。故,對使用者言,該部分的存儲空間無法通過普通方法進行讀寫,一般均稱的為隱含分區(Partition)。在這種環境下,前述的習用檢測方法自然更無法檢測這些隱含分區里所安裝文件的準確性了。
鑒于公知電腦硬盤上預裝軟件的檢測方法無法提供完整且準確的檢測,并將造成諸多無謂的售后問題,本發明為了能對預裝的軟件進行完整且可靠的科學性檢測,提供一種可針對預裝軟件的硬盤上隱含分區及普通分區里的文件,完成全面且準確性高的測試方法,以保證廠商所售出的電腦及其內硬盤中預裝的軟件,在可靠性及準確性上均能符合消費者的共同期望。
本發明的一個目的,是通過提供一種可獲取文件信息的函數,替換了原有DOS文件管理系統層的接口(Interface),以較低層的操作方式,直接讀取硬盤物理磁軌上的數據,以獲得存儲在各個分區(包括這些隱含分區和普通分區)里的文件名稱、文件大小及文件在硬盤里的存放位置等信息,以供后續檢測程序中,對硬盤上預裝的軟件進行準確性及完整性的檢測;本發明的另一目的,是為避免在電腦的啟動過程,操作系統內一些特殊的登錄及交換文件內容隨電腦啟動,發生改變,造成檢測過程中發生無謂的錯誤信息,特別允許檢測人員通過手動方式,將這些已知文件的文件或目錄名稱預先輸入,使本發明在測試程序中先忽略這些已知文件或目錄的影響,并產生一標準的預設軟件的信息文件,以供后續測試程序使用;本發明的又一目的,是為確保標準預裝軟件信息產生的準確性,在進行標準預裝軟件的文件信息與被測硬盤的文件信息的比較程序中,增加了對信息記錄正確性的檢測,以通過再次對硬盤上的軟件信息產生一臨時文件,并借比較兩次所產生的結果是否相同后,才將其作為標準預裝軟件的記錄,存儲至文件中。
圖1所示為硬盤上數據存儲結構的示意圖;圖2所示為本發明利用一種可獲取文件信息的函數,以較低層的操作方式,直接讀取硬盤物理磁軌上的數據,以獲得存儲在各個分區里的文件信息的流程圖;圖3所示為本發明根據隱含分區中文件分配表,自動辨識分區內文件所使用的文件分配表格式的流程圖;圖4所示為本發明中允許檢測人員可通過手動方式,預先將已知文件的文件或目錄名稱輸入,以忽略這些已知文件或目錄,并產生標準的硬盤預裝軟件的信息文件的流程圖;圖5所示為本發明中將所產生的一標準預設軟件的文件與硬盤上的預設軟件的文件,進行比較的流程圖;圖6所示為本發明中通過產生一臨時文件,與該標準的預裝軟件的信息文件進行比較的整體流程圖;圖7所示為本發明中該臨時文件的信息與該標準預裝軟件的信息,進行對比的細部流程示意圖。
本發明為使硬盤上隱含分區里所存儲的軟件文件得以被顯示、查看、修改或刪除,是藉由繞過DOS操作系統對文件的管理方式,參閱圖2所示,通過提供一種可獲取文件信息的函數,替換了原有DOS文件管理系統層的接口(Interface),以較低層的操作方式,直接讀取硬盤物理磁軌上的數據,以獲得存儲在各個分區(包括這些隱含分區和普通分區)里的文件名稱、文件大小及文件在硬盤里的存放位置等信息,使本發明在后續檢測程序中,得以對硬盤上預裝的軟件進行準確性及完整性的檢測。
由于,電腦廠商在售出電腦時,已將硬盤上主根記錄區中隱含分區的標識予以更改,故該分區(Partition)內的所有預裝軟件文件,亦可能被廠商定義為采取12位或16位的文件分配表(FAT)格式,予以存儲。因此,本發明為能自動識別該硬盤上文件分配表的格式,參閱圖3所示,主要是在讀取該硬盤的主根記錄(Main Boot Record),尋找到該硬盤上的隱含分區后,根據該隱含分區中文件分配表(FAT)的不同格式,依本發明所預設的不同函數,判斷出該隱含分區所使用的文件分配表類型(如FAT16或FAT12),并針對所屬類型,自硬盤上獲得存儲在該隱含分區里的文件名稱、文件大小及文件在硬盤里的存放位置等信息,使得對于以不同文件分配表格式,包含隱含分區的硬盤,均得通過本發明取得其文件分配表,并據以分析其分配表的結構及類型,進而獲得存儲在該隱含分區里的文件信息。
本發明在針對硬盤上的預設軟件進行檢測時,主要提供了下列三種不同的測試命令選項(1)產生一標準的硬盤預裝軟件的信息文件;(2)測試當前硬盤上的預裝軟件的準確性;及(3)提供檢測人員當前硬盤上的各種分區的信息。
同時,該三個選項可藉選取參數的方式,在檢測程序執行前,由檢測人員加以選定。
注意,在電腦的啟動過程中,操作系統內常會存在一些特殊的登記及交換文件,這些文件的內容可能隨電腦的啟動,而發生改變,此種將隨電腦的啟動而發生變化的文件,在檢測人員對硬盤上預設軟件進行檢測時,必然會令檢測過程中記錄下這些文件發生改變的信息,并將其視為發生錯誤,造成檢測上的無謂困擾。
本發明為避免這些可能發生變化的已知文件或目錄,造成錯誤信息的出現,特允許檢測人員可通過手動方式,將這些已知文件的文件或目錄名稱,預先依下列步驟,參閱圖4所示,予以輸入,使本發明忽略這些已知文件或目錄的影響,并產生一標準的預設軟件的信息文件,供后續測試程序使用(1)首先,本發明在尋找到硬盤上要進行預設軟件檢測的硬盤分區后,將提示檢測人員輸入所欲忽略的已知文件或目錄名稱,然后,再將檢測人員所輸入的這些文件或目錄名稱予以整理,并存儲至一指定的文件中;(2)本發明通過依序讀取該硬盤目錄區中的每個文件記錄的信息后,再與所欲忽略的已知文件或目錄名稱進行對比;若名稱相同,即依據所欲忽略的形式,跳過所欲忽略文件的存儲或其時間信息;否則,將所獲取的文件信息予以存儲;
(3)在本發明完成該硬盤目錄區中的每個文件記錄的讀取及對比之后,關閉用以存儲待進行檢測的預設軟件的所有文件信息的文件,并顯示已完成且產生一標準的預設軟件的信息文件。
本發明在前述程序中,亦允許檢測人員輸入多個類型相同的文件和目錄名稱,并允許使用通配符號“*”(例如“*EXE”包括所有以。EXE為結尾的文件和目錄名稱),進行輸入。本發明對這些所欲忽略的文件及目錄名稱,可以多種方式完成,包括忽略整個文件的文件信息或僅忽略時間信息,其中僅忽略時間信息的目的,是在若這些文件是由其他硬盤拷貝的,則這些文件中除時間信息外,其他文件信息仍應相同,故可認為該二文件相同,而不產生錯誤信息。
在前述針對該硬盤目錄區中所欲忽略的已知文件或目錄名稱,進行對比,以產生的一標準的預設軟件的信息文件時,主要是依下列步驟,參圖5所示(1)首先,本發明根據硬盤上的主根記錄區的信息,尋找到文件目錄區,并于該文件目錄區中,查找每個文件的記錄;且將所查找到的每一文件記錄的字元組轉換為大小及屬性等信息,再存儲至一文件中;(2)然后,再自該目錄區中獲得文件在硬盤上實際存儲的起始位置,并根據該起始位置,自文件分配表中查找其余的存儲位置,以經整理后,獲得整個文件的存儲地址鏈(Links);(3)本發明再根據該地址讀取文件的字元組所形成的數據,并將這些數據通過一循環較驗法的運算,以取得這些數據的校驗值;(4)最后,將所計算得的校驗碼存儲至該文件中,如此,即產生一個標準的預設軟件的信息文件。
本發明產生一標準預設軟件的文件后,即將該文件與硬盤上的預設軟件的文件信息,依下列步驟進行比較,參閱第5圖所示(1)首先,本發明尋找到硬盤上的預設軟件的信息記錄區后,開啟用以存儲經不對比的文件及目錄名稱的文件;(2)再于讀取硬盤上預設軟件的文件信息后,去除所欲忽略的已知文件或目錄名稱,并將其余的文件信息,存儲至一臨時文件中;(3)此時,本發明根據對比該標準的預設軟件的信息文件及該臨時文件,即可判斷出該硬盤上預設軟件的文件信息是否發生錯誤?并于錯誤信息發生時,予以記錄,且加以顯示,供檢測人員參考。
本發明在前述對該標準的預裝軟件的信息及該臨時文件中被測硬盤的文件信息間進行對比的過程,主要是依序完成了下列工作(1)硬盤分區大小的記錄;(2)硬盤隱含分區中預裝軟件的信息記錄;(3)硬盤可見分區中預裝軟件的信息記錄;本發明為確保標準預裝軟件信息產生的準確性,在進行前述標準預裝軟件信主被測硬盤的文件信息的比較程序中,還增加了對信息記錄正確性的檢測,俾通過再次對硬盤上的軟件信息產生一臨時文件,并藉比產兩次所產生的結果是否相同后,才將其作為標準預裝軟件的記錄,儲保至文件中。
本完成該臨時文件信息的產生后,與原有的該標準預裝軟件信息,是依下列步驟進行比較,參閱圖6所示(1)首先,同時開啟該臨時文件及該標準預裝軟件信息文件,自該二文件中依序分別讀取一筆記錄,并比較判斷該二記錄是否相同?(2)若不相同,即自該標準預裝軟件信息文件的第一筆記錄開始,依序查找與該臨時文件相同的記錄,若未找到相同的記錄,即記錄發生錯誤的信息至文件中,并顯示錯誤信息,供檢測人員參考;(3)否則,讀取該二記錄文件中的下一筆記錄,并繼續前述比較程序,直到所有記錄均完成比較為止。
在本發明的前述比較過程中,可先以標準預裝軟件的信息文件作為母本,進行第一次比較,再于完成該二文件的比較程序后,再以該臨時文件作為母本,進行第二次比較。如此,不僅可發現被測硬盤上預裝軟件的安裝錯誤,及預裝硬盤上所丟失的文件,還可在測試時發現預裝硬盤上多余的文件。
若在整個測試過程中沒有發現任何錯誤,重新參閱圖6所示,本發明在整個測試過程結束時,會顯示“PASS”畫面;否則,將顯示錯誤的畫面,并提示查看相應的錯誤信息記錄文件,在該錯誤信息記錄文件中,將能看到發生差錯的文件名稱、路徑及錯誤發生的原因,如時間、屬性或文件內容發生錯誤等,同時,也能顯示文件的丟失及增加。
以上所述,僅是本發明的最佳實施例,本發明所主張的權利范圍,并不局限于此,本技術領域的技術人員,依據本發明所揭露的技術內容,可輕易得到其他等效的變化,均應屬不脫離本發明的保護范疇。
權利要求
1.一種測試電腦硬盤上的預裝軟件的完整性的方法,該方法主要是依下列步驟,對電腦硬盤上的預裝軟件進行各項測試;(1)首先,利用一種可獲取文件信息的函數,以較低層的操作方式,直接讀取硬盤物理磁軌上的數據,以獲得存儲在各個分區(包括這些隱含分區和普通分區)里的文件名稱、文件大小及文件在硬盤里的存放位置等信息;(2)根據這些信息找到硬盤上要進行預設軟件檢測的硬盤分區后,將提示檢測人員輸入所欲忽略的已知文件或目錄名稱,然后,再將檢測人員所輸入的這些文件或目錄名稱予以整理,并存儲至一指定的文件中;(3)通過依序讀取該硬盤目錄區中的每個文件記錄的信息后,再與所欲忽略的已知文件或目錄名稱進行對比;若名稱相同,即依據所欲忽略的形式,跳過所欲忽略文件,否則,將所獲取的文件信息予以存儲;(4)一旦完成該硬盤目錄區中的每個文件記錄的讀取及對比后,關閉用以存儲待進行檢測的預設軟件的所有文件信息的文件,并顯示已產生一標準的預設軟件的信息文件;(5)再打開用以存儲這些欲忽略的已知文件或目錄名稱的文件;(6)再于讀取硬盤上預設軟件的文件信息后,去除這些欲忽略的已知文件或目錄名稱,并將其余的文件信息,存儲至一臨時文件中;(7)最后,通過對比該標準的預設軟件的信息文件及該臨時文件,即可判斷出該硬盤上預設軟件的文件信息是否發生錯誤?并于錯誤信息發生時,予以記錄,且加以顯示,供檢測人員參考。
2.如權利要求1所述的一種測試電腦硬盤上的預裝軟件的完整性的方法,其特征在于,能自動識別該硬盤上文件分配表的格式,主要是在讀取該硬盤的主根記錄(Main Boot Record),尋找到該硬盤上的隱含分區后,根據該隱含分區中文件分配表(FAT)的不同格式,依所預設的不同函數,判斷出該隱含分區所使用的文件分配表類型,并針對所屬類型,自硬盤上獲得存儲在等隱含分區里的文件名稱、文件大小及文件在硬盤里的存放位置等信息。
3.如權利要求1所述的一種測試電腦硬盤上的預裝軟件的完整性的方法,其特征在于,這些欲忽略的已知文件或目錄,是指操作系統內可能隨電腦的啟動而發生改變的一些特殊的登錄及交換文件。
4.如權利要求1所述的一種測試電腦硬盤上的預裝軟件的完整性的方法,其特征在于,針對該硬盤目錄區中所欲忽略的已知文件或目錄名稱,進行對比,以產生的一標準的預設軟件的信息文件時,主要是根據下列步驟進行(1)首先,根據硬盤上的主根記錄區的信息,尋找到文件目錄區,并于該文件目錄區中,查找每個文件的記錄;且將所查找到每一文件記錄的字元組轉換為大小及屬性等信息,再存儲至一文件中;(2)然后,再自該目錄區中獲得文件在硬盤上實際存儲的起始位置,并根據該起始位置,自文件分配表中查找其余存儲位置,以經整理后,獲得整個文件的存儲地址鏈(Links);(3)再依該地址讀取文件的字元組所形成的數據,并將這些數據通過一循環校驗法的運算,以取得這些數據的校驗值;(4)最后,將所計算得的校驗碼存儲至該文件中,如此,即產生一個標準的預設軟件的信息文件。
5.如權利要求1所述的一種測試電腦硬盤上的預裝軟件的完整性的方法,其特征在于,該標準的預裝軟件的信息文件與該臨時文件時,是根據下列步驟進行比較(1)首先,同時打開該臨時文件及該標準預裝軟件信息件,自該二文件中依序分別讀取一筆記錄,并比較判斷該二記錄是否相同?(2)若不相同,即自該標準預裝軟件信息文件的第一筆記錄開始,依序查找與該臨時文件相同的記錄,若未找到相同的記錄,即記錄發生錯誤的信息到文件中,并顯示錯誤信息,供檢測人員參考;(3)否則,讀取該二記錄文件中下一筆記錄,并繼續前述比較程序,直到所有記錄均完成比較為止。
6.如權利要求5所述的一種測試電腦硬盤上的預裝軟件的完整性的方法,其特征在于,該標準的預裝軟件的信息文件與該臨時文件間,進行比較時,可先以標準的預裝軟件的信息文件作為母本,進行第一次比較,再于完成該二文件的比較程序后,再以該臨時文件作為母本,進行第二次比較。
7.如權利要求1或5或6所述的一種測試電腦硬盤上的預裝軟件的完整性的方法,其特征在于,若在整個測試過程中沒有發現任何錯誤,則在整個測試過程結束時,會顯示通過測試的畫面;否則,將顯示錯誤的畫面,并提示查看相應的錯誤信息記錄文件。
全文摘要
本發明是一種測試電腦硬盤預裝軟件完整性的方法,主要是通過提供一種可獲取文件信息的函數,直接讀取磁軌上的數據,以獲取存儲在各個分區里的文件信息,并對其進行測試,也可通過手動方式,將操作系統內隨電腦啟動而變動的已知或目錄名稱預先輸入,以在測試程序中忽略這些文件或目錄的影響,并通過將產生標準預設軟件的信息文件,與一針對硬盤上的軟件信息所產生的臨時文件進行比較,以確保其可靠性及準確性。
文檔編號G06K13/00GK1274132SQ99106499
公開日2000年11月22日 申請日期1999年5月14日 優先權日1999年5月14日
發明者張有權, 沈賢宏 申請人:英業達股份有限公司