專利名稱:創(chuàng)建和使用具有選定功能的操作系統(tǒng)的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機(jī)操作系統(tǒng)領(lǐng)域。具體來說,本發(fā)明涉及一種具有腳本支持的操作系統(tǒng),該操作系統(tǒng)具有用戶選定的組件用以執(zhí)行用戶所需要的功能。
發(fā)明背景操作系統(tǒng)(OS)映像與計算機(jī)中的硬件進(jìn)行交互以執(zhí)行各種各樣的功能。典型的OS映像要求在硬盤驅(qū)動器之類的海量存儲設(shè)備上有大量的空間。由于要求大量的磁盤空間,使得典型的OS映像不適用于那些只需要OS映像中某些功能的情況。此外,由于要求大量磁盤空間以及需要對海量存儲設(shè)備進(jìn)行讀寫訪問,因而使典型的OS映像無法駐留在一個單獨(dú)的只讀的計算機(jī)可讀的介質(zhì)中。
為了在計算機(jī)上安裝一個OS映像,歷史上一直在使用另一個具有最小功能的并能從只讀介質(zhì)中啟動計算機(jī)的OS映像(如MS-DOS)。然而,MS-DOS卻有一些局限性,包括最高只能使用640千字節(jié)的易失性存儲器的限制以及與64位計算機(jī)不兼容。此外,在使用MS-DOS啟動和安裝OS映像期間,往往還需要多次重新啟動計算機(jī)。此外,用于使硬件運(yùn)轉(zhuǎn)的軟件例程(即通常所說的由硬件制造商提供的硬件驅(qū)動程序)必須經(jīng)過修改才能在MS-DOS的約束內(nèi)進(jìn)行工作以使用MS-DOS對硬件進(jìn)行驗證。
同樣,某些版本的Windows NT操作系統(tǒng)(NT)要通過文本模式進(jìn)行安裝,以使計算機(jī)開始進(jìn)入到NT的初始啟動狀態(tài)。圖形用戶界面模式安裝則要根據(jù)用戶的輸入來對安裝進(jìn)行配置。還一種叫做網(wǎng)上安裝的方法,這種安裝方法包括一個在計算機(jī)上自舉NT本身的過程。然而,網(wǎng)上安裝也需要重新啟動計算機(jī)若干次。
大多數(shù)OS映像都包括一個內(nèi)核,里面包含用于執(zhí)行OS的必需的基本功能的軟件例程。其他的功能則由內(nèi)核外部的軟件來實現(xiàn)。某些OS映像還包括一個只有最少功能和大小的微型內(nèi)核。在這樣的微型內(nèi)核OS映像中,內(nèi)核外部的軟件執(zhí)行OS映像的大量的必需功能。然而,這些微型內(nèi)核OS映像一般來講要依賴于硬件,并且不包括可由用戶自定義的以執(zhí)行用戶所需要的特定功能的基于文本腳本。
下面描述的本發(fā)明解決了這些缺點(diǎn)以及其他一些缺點(diǎn)。
發(fā)明內(nèi)容
本發(fā)明能從一個安裝型OS映像創(chuàng)建簡化的操作系統(tǒng)(OS)映像。本發(fā)明還包括產(chǎn)生簡化的OS映像的方法。諸如個人計算機(jī)(PC)的原始設(shè)備制造商(OEM)之類的用戶可以從一個安裝型OS映像中提供的許多OS組件中選擇一個OS組件集。選定的該OS組件集作為簡化的OS映像可以安裝在計算機(jī)可讀的介質(zhì)(CRM)(如CD-ROM)上。簡化的OS映像包括一個腳本,用于與簡化的OS映像進(jìn)行交互以執(zhí)行用戶需要的功能,比如顯示命令提示符、安裝一個參考OS映像,或者從參考OS映像的故障中恢復(fù)。簡化的OS映像對易失性和非易失性存儲器存儲空間要求較小。本發(fā)明可以用于在體系結(jié)構(gòu)大于32位的計算機(jī)上安裝參考OS映像。本發(fā)明還可以在體系結(jié)構(gòu)為32位或小于32的計算機(jī)上運(yùn)行。簡化的OS映像使用硬件驅(qū)動程序(用于控制硬件,一般來講為保護(hù)模式編寫)來驗證硬件的操作是否正確。本發(fā)明的簡化的OS映像是獨(dú)立于硬件的,因為簡化的OS映像包括許多用戶指定的硬件驅(qū)動程序。本發(fā)明提供了一個框架,可以讓用戶只需要重新啟動計算機(jī)一次即可在計算機(jī)上安裝參考OS映像。腳本可以執(zhí)行許多功能,包括但不僅限于啟用網(wǎng)絡(luò)連接、對海量存儲設(shè)備進(jìn)行分區(qū),以及用一種文件系統(tǒng)將海量存儲設(shè)備格式化。例如,腳本可以根據(jù)WINDOWS操作系統(tǒng)中提供的一種文件系統(tǒng)格式將海量存儲設(shè)備格式化。
根據(jù)本發(fā)明的一個方面,一種計算機(jī)化的方法,包括提供用戶對基于文本的腳本的訪問;由用戶編輯基于文本的腳本,以提供用戶自定義的基于文本的腳本;從計算機(jī)可讀的介質(zhì)上的一個簡化的操作系統(tǒng)映像啟動第一計算機(jī),其中所述簡化的操作系統(tǒng)映像是第二計算機(jī)的完整操作系統(tǒng)映像,所述第二計算機(jī)具有獨(dú)立于第一計算機(jī)的硬件;以及根據(jù)用戶自定義的基于文本的腳本在第一計算機(jī)上執(zhí)行一個或多個功能,其中所述計算機(jī)化的方法獨(dú)立于體系結(jié)構(gòu)。計算機(jī)可以是32位或64位體系結(jié)構(gòu)。
根據(jù)本發(fā)明的另一個方面,一種系統(tǒng)包括由用戶編輯基于文本的腳本,以提供用戶自定義的基于文本的腳本的裝置;從計算機(jī)可讀的介質(zhì)上的一個簡化的操作系統(tǒng)映像啟動第一計算機(jī)的裝置,其中所述簡化的操作系統(tǒng)映像是具有獨(dú)立于第一計算機(jī)的硬件的第二計算機(jī)的完整操作系統(tǒng)映像,并且所述簡化的操作系統(tǒng)映像是硬件獨(dú)立的;以及根據(jù)用戶自定義的基于文本的腳本在第一計算機(jī)上執(zhí)行一個或多個功能以在第一計算機(jī)上安裝簡化的操作系統(tǒng)映像的裝置。
根據(jù)本發(fā)明的另一個方面,一種計算機(jī)化的方法,包括提供用戶對基于腳本的文本的訪問;由用戶編輯基于文本的腳本,以提供用戶自定義的基于文本的腳本;從計算機(jī)可讀的介質(zhì)上的簡化的第一操作系統(tǒng)映像啟動第一計算機(jī),其中所述簡化的操作系統(tǒng)映像是具有獨(dú)立于第一計算機(jī)的硬件的第二計算機(jī)的完整操作系統(tǒng);以及根據(jù)用戶自定義的基于文本的腳本在第一計算機(jī)上安裝完整操作系統(tǒng)映像,其中啟動和安裝過程只需要重新啟動計算機(jī)一次,并且所述計算機(jī)方法是體系結(jié)構(gòu)獨(dú)立的。
根據(jù)本發(fā)明的另一個方面,一種系統(tǒng)包括具有用戶選定的操作系統(tǒng)組件的第一操作系統(tǒng)映像,所述第一操作系統(tǒng)映像是硬件獨(dú)立的;具有第二操作系統(tǒng)映像的第一計算機(jī),所述第一操作系統(tǒng)映像相對所述第二操作系統(tǒng)是簡化的;以及可由用戶自定義的基于文本的腳本文件,該腳本文件與第一操作系統(tǒng)映像進(jìn)行交互,以在具有獨(dú)立于第一計算機(jī)的硬件的第二計算機(jī)上安裝第二操作系統(tǒng)映像,其中所述基于文本的腳本文件包括用戶可編輯的文本。計算機(jī)可以是32位或64位體系結(jié)構(gòu)。
根據(jù)本發(fā)明的另一個方面,與計算機(jī)一起使用的計算機(jī)可讀的恢復(fù)介質(zhì)上有一個操作系統(tǒng)映像和基于文本的腳本文件。腳本文件與該操作系統(tǒng)映像進(jìn)行交互以從計算機(jī)上的軟件故障中恢復(fù)。
根據(jù)本發(fā)明的另一個方面,一種計算機(jī)化的方法,所述方法包括基于要被啟用的需要的功能,從第一計算機(jī)的多個操作系統(tǒng)組件中選擇操作系統(tǒng)組件的一個子集;生成與選定的操作系統(tǒng)組件的子集關(guān)聯(lián)的文件列表,所述生成的文件列表是基于文本的,并可由用戶編輯;以及在目標(biāo)介質(zhì)上安裝選定的操作系統(tǒng)組件的子集作為簡化的操作系統(tǒng)映像,其中安裝過程包括從安裝介質(zhì)中將文件復(fù)制到目標(biāo)介質(zhì)中;以及使用目標(biāo)介質(zhì)引導(dǎo)具有獨(dú)立于第一計算機(jī)的硬件的第二計算機(jī),其中所述計算機(jī)化的方法是體系結(jié)構(gòu)獨(dú)立的。
根據(jù)本發(fā)明的另一個方面,一個系統(tǒng),所述系統(tǒng)包括基于要被啟用的需要的功能,從第一計算機(jī)的多個操作系統(tǒng)組件中選擇操作系統(tǒng)組件的一個子集的裝置;生成與選定的操作系統(tǒng)組件的子集關(guān)聯(lián)的文件列表的裝置,所述生成的文件列表是基于文本的,并可由用戶編輯;在目標(biāo)介質(zhì)上安裝選定的操作系統(tǒng)組件的子集作為獨(dú)立于硬件的簡化的操作系統(tǒng)映像的裝置,其中安裝過程包括從安裝介質(zhì)中將文件復(fù)制到目標(biāo)介質(zhì)中。
根據(jù)本發(fā)明的另一個方面,一種系統(tǒng)能在目標(biāo)介質(zhì)上從操作系統(tǒng)的許多組件中創(chuàng)建一個操作系統(tǒng)映像。該系統(tǒng)包括至少一個應(yīng)用程序,當(dāng)由計算機(jī)上的一個或多個處理器執(zhí)行該應(yīng)用程序時,使一個或多個處理器執(zhí)行如下操作,包括允許用戶從第一計算機(jī)的多個操作系統(tǒng)組件中選擇操作系統(tǒng)組件的子集,生成與選定的操作系統(tǒng)組件的子集關(guān)聯(lián)的文件列表,所述選擇的操作系統(tǒng)組件被選擇以啟用需要的功能,所述生成的文件列表是基于文本的,并且可由用戶編輯;以及操作系統(tǒng)組件修改,它們允許選定的操作系統(tǒng)組件集作為第二計算機(jī)上簡化的操作系統(tǒng)映像執(zhí)行,其中簡化的操作系統(tǒng)映像是硬件獨(dú)立的,并且第二計算機(jī)具有與第一計算機(jī)獨(dú)立的硬件。
圖1是本發(fā)明的方法和系統(tǒng)的一個實施例的方框圖,說明了應(yīng)用了本發(fā)明的計算系統(tǒng)環(huán)境的一個示例。
圖2是一個發(fā)明的方法和系統(tǒng)的一個實施例的方框圖,說明了一個操作系統(tǒng)組件。
圖3是本發(fā)明的方法和系統(tǒng)的一個實施例的流程圖,說明了在目標(biāo)介質(zhì)上安裝簡化的操作系統(tǒng)映像的過程圖4是本發(fā)明的方法和系統(tǒng)的一個實施例的方框圖,說明了在目標(biāo)介質(zhì)上安裝簡化的操作系統(tǒng)映像的過程圖5是本發(fā)明的方法和系統(tǒng)的一個實施例的流程圖,說明了使用簡化的操作系統(tǒng)映像安裝另一個操作系統(tǒng)映像的過程圖6是本發(fā)明的方法和系統(tǒng)的一個實施例的方框圖,說明了從一臺遠(yuǎn)程啟動計算機(jī)啟動目標(biāo)計算機(jī)以在目標(biāo)計算機(jī)上安裝引用操作系統(tǒng)映像的過程。
圖7是本發(fā)明的方法和系統(tǒng)的一個實施例的方框圖,說明了從一臺本地計算機(jī)可讀的介質(zhì)啟動目標(biāo)計算機(jī)以在目標(biāo)計算機(jī)上安裝引用操作系統(tǒng)映像的過程。
圖8是本發(fā)明的方法和系統(tǒng)的一個實施例的方框圖,說明了其軟件發(fā)生故障的計算機(jī)和一個恢復(fù)介質(zhì)之間的交互。
對應(yīng)的參考字符表示所有附圖的對應(yīng)部件。
具體實施方式
一般來說,本發(fā)明涉及一種方法和系統(tǒng),至少提供一個應(yīng)用程序和對操作系統(tǒng)(OS)組件的必需的修改,以從一個安裝型OS映像創(chuàng)建一個可啟動的簡化的OS映像,該簡化的OS映像有腳本支持,以執(zhí)行諸如原始設(shè)備制造商(OEM)之類的用戶指定的一個或多個功能。簡化的OS映像相對于完全安裝的安裝型OS映像來說功能和/或大小縮小了。簡化的OS映像具有用戶選定的功能。
用戶選擇OS組件以包含在簡化的OS映像中,還可以添加其他OS組件以實現(xiàn)需要的功能。應(yīng)用程序針對安裝型OS映像應(yīng)用選擇和補(bǔ)充以創(chuàng)建可啟動的簡化的OS映像。簡化的OS映像將寫入到計算機(jī)可讀的介質(zhì)(CRM)(如CD-ROM),存儲在遠(yuǎn)程服務(wù)器上,或安裝到本地海量存儲設(shè)備上。簡化的OS映像包括一個用于執(zhí)行用戶指定功能的腳本。例如,用戶可以對腳本進(jìn)行編輯以與簡化的OS映像交互,從而安裝軟件、從故障OS安裝中恢復(fù)、更新硬件驅(qū)動程序、重新密封和審核計算機(jī)、執(zhí)行應(yīng)用程序(包括其他腳本),或執(zhí)行任何其他任務(wù)。
盡管本發(fā)明的示范OS是WINDOWS操作系統(tǒng),但是本發(fā)明也可適用于其他操作系統(tǒng)以創(chuàng)建和使用簡化的OS映像。在示范WINDOWS操作系統(tǒng)實施例中,簡化的OS映像包括與WINDOWSNT操作系統(tǒng)關(guān)聯(lián)的基碼,并帶有最低限度的WIN32應(yīng)用程序編程接口(API)子系統(tǒng)。簡化的OS映像有啟動到Win32子系統(tǒng)中必需的最小數(shù)量的OS組件。最小數(shù)量的OS組件包括內(nèi)核、硬件驅(qū)動程序,以及系統(tǒng)文件。簡化的OS映像在一個數(shù)據(jù)庫中存儲了關(guān)于其本身的最低限度的狀態(tài)信息,如與WINDOWS操作系統(tǒng)中的注冊表關(guān)聯(lián)的配置單元。
如需了解有關(guān)WINDOWS操作系統(tǒng)中提供的啟動過程和OS組件的一般信息,請參閱Solomon和Russinovich所著的“InsideMicrosoft Windows 2000”第三版,2000,第46-87、177-206、以及215-236頁,在此處作為參考。
在一個實施例中,簡化的OS映像包括對微處理器的受保護(hù)操作方式的支持。微處理器的保護(hù)模式是相對于微處理器操作的實模式而言的。用戶可以對腳本進(jìn)行編輯,以使用硬件制造商提供的并用于控制硬件的驅(qū)動程序?qū)τ布M(jìn)行驗證。對于所提供的為保護(hù)模式而編寫的硬件驅(qū)動程序,用戶沒有必要編寫單獨(dú)的硬件驅(qū)動程序或以別的方式修改保護(hù)模式硬件驅(qū)動程序即可在實模式下運(yùn)行。在簡化的OS映像中,用戶使用未修改的硬件驅(qū)動程序以在簡化的OS映像的保護(hù)模式下對硬件進(jìn)行驗證。當(dāng)簡化的OS映像用于安裝另一個OS時,硬件驗證的結(jié)果也適用于已安裝的OS。
通過對腳本進(jìn)行編輯,用戶配置參考OS映像的自動安裝。簡化的OS映像可用于安裝任何OS映像。此外,簡化的OS映像還可用于修復(fù)OS安裝或執(zhí)行端對端的圖形用戶界面(GUI)應(yīng)用程序。
在一個實施例中,OEM使用簡化的OS映像在個人計算機(jī)(PC)上安裝一個參考OS映像,該個人計算機(jī)的體系結(jié)構(gòu)可以是64位或32位。OEM接收一個軟件開發(fā)工具包(SDK),該包中包含用于創(chuàng)建簡化的OS映像的應(yīng)用程序和必需的OS組件修改。OEM在OEM工廠根據(jù)特定的PC硬件和該OEM必須現(xiàn)場考慮的其他事項選擇將參考OS映像安裝到目標(biāo)計算機(jī)上所必需的OS組件。具體來說,OEM通過一個文本文件添加或刪除OS組件(如硬件驅(qū)動程序)并指定海量存儲設(shè)備配置。應(yīng)用程序?qū)⒂眠x定的OS組件集創(chuàng)建簡化的OS映像。然后OEM使用簡化的OS映像以啟動一個硬盤驅(qū)動器尚未格式化的目標(biāo)計算機(jī)(如PC)、對硬件進(jìn)行驗證、將目標(biāo)計算機(jī)的硬盤格式化,并在目標(biāo)計算機(jī)上安裝參考OS映像。
目標(biāo)計算機(jī)是根據(jù)各種體系結(jié)構(gòu)設(shè)計的,包括但不僅限于32位和64位。每一臺計算機(jī)一般來講都是按其體系結(jié)構(gòu)進(jìn)行分類的。64位體系結(jié)構(gòu)一般是指計算機(jī)在內(nèi)部以64位分組對數(shù)據(jù)進(jìn)行操作。64位計算機(jī)體系結(jié)構(gòu)基于64位的元素,包括處理單元(參見圖1,引用字符120),處理單元內(nèi)部或外部至少有一個存儲器寄存器,以及一個數(shù)據(jù)總線。同樣,當(dāng)一般談及一類體系結(jié)構(gòu)大于32位的計算機(jī)時,該計算機(jī)可能是64位體系結(jié)構(gòu)、128位體系結(jié)構(gòu),或者在內(nèi)部至少以32位對數(shù)據(jù)進(jìn)行操作的任何體系結(jié)構(gòu)。那些精通本技術(shù)的人可能會注意到,本發(fā)明的系統(tǒng)和方法不僅限于當(dāng)前的計算機(jī)體系結(jié)構(gòu)。本發(fā)明還適用于未來的計算機(jī)體系結(jié)構(gòu),包括但不僅限于128位和256位體系結(jié)構(gòu)。如果計算機(jī)有基于軟件的控制計算機(jī)及其外圍設(shè)備的OS概念的話,本發(fā)明還適用于完全不同類型的計算機(jī),甚至還可適用于非數(shù)字計算機(jī)。此外,本發(fā)明還適用于32位或較小位數(shù)的計算機(jī)體系結(jié)構(gòu),包括但不僅限于32位體系結(jié)構(gòu)、16位體系結(jié)構(gòu)、8位體系結(jié)構(gòu)或者單個位數(shù)體系結(jié)構(gòu)。一般來講,本發(fā)明的系統(tǒng)和方法是獨(dú)立于體系結(jié)構(gòu)的,因為本發(fā)明可以適用于受簡化的OS映像支持的任何計算機(jī)體系結(jié)構(gòu)。例如,如果簡化的OS映像支持32位體系結(jié)構(gòu)計算機(jī)和64位體系結(jié)構(gòu)計算機(jī),那么本發(fā)明就適用于32位或64位體系結(jié)構(gòu)的計算機(jī)。在一個實施例中,啟動和執(zhí)行的步驟可以在32位或較小位數(shù)的體系結(jié)構(gòu)計算機(jī)上進(jìn)行。此外,腳本文件可以在32位或較小位數(shù)的體系結(jié)構(gòu)的計算機(jī)上運(yùn)行。
諸如MICROSOFT磁盤操作系統(tǒng)(MS-DOS)之類的操作系統(tǒng)歷史上一直支持在16位體系結(jié)構(gòu)的計算機(jī)使用腳本功能。MS-DOS利用中斷與基本輸入輸出系統(tǒng)(BIOS)通信以實現(xiàn)計算機(jī)上的功能。BIOS在運(yùn)行了MS-DOS和BIOS的特定計算機(jī)的上下文中執(zhí)行MS-DOS命令??梢詫IOS進(jìn)行修改以在32位計算機(jī)上執(zhí)行16位MS-DOS命令。然而,卻無法通過修改BIOS來在體系結(jié)構(gòu)大于32位的計算機(jī)上執(zhí)行16位MS-DOS命令,如果不完全重新編寫B(tài)IOS就無法對這樣的體系結(jié)構(gòu)提供支持。此外,也無法通過修改BIOS來生成可在體系結(jié)構(gòu)大于32位的計算機(jī)上操作的命令,如果不完全重新編寫MS-DOS也無法對這樣的體系結(jié)構(gòu)提供支持。由于MS-DOS和BIOS的固有的設(shè)計,MS-DOS從根本上只限于32位或較小的體系結(jié)構(gòu)。完全重寫MS-DOS和/或BIOS就等于編寫了一個新的OS,如此處描述的OS。
例如,在其他局限性中,MS-DOS一般來講也無法訪問大量的內(nèi)存,因為MS-DOS主要是為8位和早期16位體系結(jié)構(gòu)處理器設(shè)計的,這些處理器一般來講都有地址局限性,只能訪問1兆字節(jié)的內(nèi)存,因為地址總線只有二十位寬。如果不完全重寫MS-DOS(將包括特殊的MS-DOS擴(kuò)展名),在MS-DOS下運(yùn)行的應(yīng)用程序?qū)⒉荒軌蛟L問1兆字節(jié)以上的內(nèi)存,因而限制了地址總線比20位寬的處理器。如果不完全重新編寫,將無法通過修改MS-DOS來支持這樣的內(nèi)存訪問。一般來講,大多數(shù)在MS-DOS下運(yùn)行的應(yīng)用程序最大只有640千字節(jié)的內(nèi)存。
首先請參看圖1,一個方框圖說明了可以應(yīng)用本發(fā)明的計算系統(tǒng)環(huán)境100的示例。該計算系統(tǒng)環(huán)境100只是一個合適的計算或操作環(huán)境的示例,不對本發(fā)明的應(yīng)用范圍或功能作任何限制。計算系統(tǒng)環(huán)境100也不應(yīng)被解釋為與示范計算系統(tǒng)環(huán)境100中所示的任何一個組件或組件組合有任何依賴關(guān)系或要求。
本發(fā)明可以應(yīng)用于很多其他一般用途或特殊用途的計算系統(tǒng)環(huán)境或配置??梢詰?yīng)用本發(fā)明的已知的計算系統(tǒng)、環(huán)境、和/或配置的示例包括但不僅限于個人計算機(jī)、服務(wù)器、手提或膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機(jī)頂盒、可進(jìn)行設(shè)定的消費(fèi)類電子產(chǎn)品、網(wǎng)絡(luò)PC、小型機(jī)、大型機(jī)、包括上述任何系統(tǒng)或設(shè)備的分布式計算環(huán)境。
本發(fā)明可以在由一臺或多臺計算機(jī)或其他設(shè)備執(zhí)行的計算機(jī)可執(zhí)行的指令的一般上下文中進(jìn)行描述,如程序模塊。一般來講,程序模塊包括但不僅限于例程、程序、對象、組件和執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的數(shù)據(jù)結(jié)構(gòu)。本發(fā)明還可以在分布式計算環(huán)境中應(yīng)用,在這種環(huán)境中,各種任務(wù)可以由通過通信網(wǎng)絡(luò)鏈接在一起的遠(yuǎn)程處理設(shè)備來執(zhí)行。在分布式計算環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程計算機(jī)存儲介質(zhì)(包括記憶存儲設(shè)備)。
請看圖1,一個用于實現(xiàn)本發(fā)明的示范系統(tǒng)包括一個以計算機(jī)110為形式的一般用途計算設(shè)備。計算機(jī)110的組件可以包括但不僅限于處理單元120、系統(tǒng)內(nèi)存130,以及系統(tǒng)總線121,它把各種系統(tǒng)組件(包括系統(tǒng)內(nèi)存)連接到處理單元120。在本發(fā)明的一個實施例中,處理單元120是32位或64位體系結(jié)構(gòu)。系統(tǒng)總線121可以是任何類型的總線結(jié)構(gòu),包括內(nèi)存總線或內(nèi)存控制器、外圍總線,以及使用任何種類的總線體系結(jié)構(gòu)的本地總線。作為示例,而不作為限制,這樣的總線體系結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線、微通道體系結(jié)構(gòu)(MCA)總線、增強(qiáng)的ISA(EISA)總線、視頻電子產(chǎn)品標(biāo)準(zhǔn)協(xié)會(VESA)本地總線,以及外圍組件互連(PCI)總線(也就是通常所說的附加板總線)。
計算機(jī)110通常至少包括某些形式的CRM。CRM可以是計算機(jī)110可以訪問的任何介質(zhì),并包括易失性和非易失性介質(zhì)、可移動的和不可移動的介質(zhì)。作為示例,而不作為限制,CRM可以包括計算機(jī)存儲介質(zhì)和通信介質(zhì)。計算機(jī)存儲介質(zhì)包括以任何方法或技術(shù)實現(xiàn)的易失性和非易失性、可移動的和不可移動的介質(zhì),以用于存儲信息,如計算機(jī)可讀的指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)。計算機(jī)存儲介質(zhì)包括,但不僅限于,RAM、ROM、EEPROM、閃存或其他內(nèi)存技術(shù),CD-ROM、數(shù)字多功能磁盤(DVD)或其他光盤存儲器、盒式磁帶、磁帶、磁盤存儲器或其他磁存儲設(shè)備,或者可用于存儲所需要的信息并且計算機(jī)110可以訪問的任何其他介質(zhì)。通信介質(zhì)通常在一個調(diào)制數(shù)據(jù)信號(如載波)或其他傳輸機(jī)制中包含計算機(jī)可讀的指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或者其他數(shù)據(jù),并且包括任何信息提供介質(zhì)。那些精通本技術(shù)的人會熟悉調(diào)制數(shù)據(jù)信號,該信號設(shè)置或更改了一個或多個其特性,以便對該信號中的信息進(jìn)行編碼。作為示例,而不作為限制,通信介質(zhì)包括有線介質(zhì),如有線網(wǎng)絡(luò)或者直接有線連接,以及無線介質(zhì),如聲控、RF、紅外和其他無線介質(zhì)。上述任何幾項的組合也應(yīng)包括在CRM的范圍內(nèi)。
系統(tǒng)內(nèi)存130包括易失性和/或非易失性存儲器形式的計算機(jī)存儲介質(zhì),如只讀存儲器(ROM)131和隨機(jī)訪問存儲器(RAM)132。ROM 131中通常存儲了一個基本輸入/輸出系統(tǒng)133(BIOS),里面包含幫助在計算機(jī)110內(nèi)的各個元素之間(如在啟動過程中)傳輸信息的基本例程。RAM 132通常包含處理單元120立即可訪問和/或目前正在對其進(jìn)行操作的數(shù)據(jù)和/或程序模塊。作為示例,而不作為限制,圖1說明了操作系統(tǒng)134、應(yīng)用程序135、其他程序模塊136,以及程序數(shù)據(jù)137。
計算機(jī)110還可以包括其他可移動的/不可移動的、易失性/非易失性計算機(jī)存儲介質(zhì)。僅作為示例,圖1說明了一個可以從不可移動的非易失性磁介質(zhì)中讀取或?qū)懭氲挠脖P驅(qū)動器,一個從可移動的非易失性磁盤152讀取或?qū)懭氲挠泊膨?qū)動器,以及可以從可移動的非易失性光盤156(如CD ROM或其他光學(xué)介質(zhì))讀取或?qū)懭氲墓獗P驅(qū)動器155。其他可用于示范操作環(huán)境的可移動/不可移動的易失性/非易失性計算機(jī)存儲介質(zhì)包括但不僅限于磁帶、快速內(nèi)存卡、數(shù)字多功能磁盤、數(shù)字視頻磁帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅(qū)動器141通常通過一個不可移動的內(nèi)存接口(如接口140)連接到系統(tǒng)總線121,硬磁盤驅(qū)動器151和光盤驅(qū)動器155通常由可移動的內(nèi)存接口(如接口150)連接到系統(tǒng)總線121。
驅(qū)動器或其他海量存儲設(shè)備以及上面討論并在圖1中顯示的與它們關(guān)聯(lián)的計算機(jī)存儲介質(zhì),將為計算機(jī)110存儲計算機(jī)可讀的指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊以及其他數(shù)據(jù)。例如,在圖1中,硬盤驅(qū)動器141存儲了操作系統(tǒng)144、應(yīng)用程序145、其他程序模塊146,以及程序數(shù)據(jù)147。請注意,這些組件可能與操作系統(tǒng)134、應(yīng)用程序135、其他程序模塊136,以及程序數(shù)據(jù)137相同,也可能不同。操作系統(tǒng)144、應(yīng)用程序145、其他程序模塊146,以及程序數(shù)據(jù)147在這里使用了不同的編號,以至少說明它們是不同的副本。根據(jù)本發(fā)明的OS,如操作系統(tǒng)144,是計算機(jī)110的基本軟件控制程序,可執(zhí)行各種功能,包括提供用戶界面,管理應(yīng)用程序145的執(zhí)行,以及控制各種輸入/輸出(I/O)設(shè)備的數(shù)據(jù)的輸入和輸出。應(yīng)用程序145代表一個或多個可以在計算機(jī)110上執(zhí)行的各種各樣的軟件例程。應(yīng)用程序的示例包括,但不僅限于,教育程序、引用程序、辦公程序(例如,文字處理軟件、電子表格、數(shù)據(jù)庫)、娛樂程序,以及實用程序(例如,通信程序)。應(yīng)用程序145可以由用戶安裝在計算機(jī)110上,或者由計算機(jī)110的OEM和/或經(jīng)銷商預(yù)裝。
用戶可以通過諸如鍵盤162和指示設(shè)備161(通常是指鼠標(biāo)、軌跡球或觸摸板)之類的輸入設(shè)備向計算機(jī)20中輸入命令和信息。其他輸入設(shè)備(未顯示)可以包括麥克風(fēng)、游戲桿、游戲板、衛(wèi)星電視天線、掃描儀或類似的裝置。這些和其他輸入設(shè)備通常通過一個用戶輸入接口160(它連接到系統(tǒng)總線)連接到處理單元120,但也可以通過其他接口和總線結(jié)構(gòu)進(jìn)行連接,如并行端口、游戲端口或通用串行總線(USB)。監(jiān)視器191或其他類型的顯示設(shè)備也通過一個接口(如視頻接口190)連接到系統(tǒng)總線121。除了監(jiān)視器外,計算機(jī)還可包括其他外圍輸出設(shè)備,如揚(yáng)聲器197和打印機(jī)196,它們可以通過一個輸出外圍接口195進(jìn)行連接。
計算機(jī)110可以在一個網(wǎng)絡(luò)環(huán)境中運(yùn)行,使用邏輯連接與一臺或多臺遠(yuǎn)程計算機(jī)(如遠(yuǎn)程計算機(jī)180)相連接。遠(yuǎn)程計算機(jī)180可以是一臺個人計算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、一臺對等設(shè)備或其他通用網(wǎng)絡(luò)節(jié)點(diǎn),通常包括上文關(guān)于計算機(jī)110的描述中的許多或者全部元素,雖然在圖1中只顯示了記憶存儲設(shè)備181。圖1中描述的邏輯連接包括局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,但也可以包括其他網(wǎng)絡(luò)。這樣的網(wǎng)絡(luò)環(huán)境在辦公室、企業(yè)計算機(jī)網(wǎng)絡(luò)、Intranet以及全球計算機(jī)網(wǎng)絡(luò)(例如,Internet)中是常見的。
當(dāng)計算機(jī)110在一個LAN網(wǎng)絡(luò)環(huán)境中使用時,計算機(jī)110通過網(wǎng)絡(luò)接口或適配器170連接到LAN 171。當(dāng)計算機(jī)110在一個WAN網(wǎng)絡(luò)環(huán)境中使用時,計算機(jī)110通常包括一個調(diào)制解調(diào)器172或其他用于在WAN 173(如Internet)建立通信的裝置。調(diào)制解調(diào)器172可以是內(nèi)置的,也可以是外置的,可以通過用戶輸入接口160或其他相應(yīng)的機(jī)制連接到系統(tǒng)總線121。在網(wǎng)絡(luò)環(huán)境中,涉及計算機(jī)110的程序模塊,或者它的一部分,可以存儲在遠(yuǎn)程記憶存儲設(shè)備中。作為示例,而不作為限制,圖1說明了駐留在記憶設(shè)備181上的遠(yuǎn)程應(yīng)用程序185。顯然,這里顯示的網(wǎng)絡(luò)連接是示范性的,也可以使用其他裝置在計算機(jī)之間建立通信鏈接。
下面請參看圖2,一個方框圖說明了OS組件202。在某些計算機(jī)系統(tǒng)中,OS映像將被組織進(jìn)OS組件202,其中每一個OS組件202都執(zhí)行一個功能或功能組合。每一個OS組件202都最多可包括計算機(jī)可訪問的N個文件204。
下面請看圖3,一個流程圖說明了在目標(biāo)介質(zhì)上安裝簡化的OS映像的過程。目標(biāo)介質(zhì)是任何CRM,可由計算機(jī)在本地或遠(yuǎn)程訪問。用戶在302至少從許多OS組件中選擇一個OS組件(參見圖2,引用字符202)。在一個實施例中,用戶選擇了一組OS組件。許多OS組件包括用于啟用計算機(jī)中的硬件的驅(qū)動程序,這些硬件包括海量存儲設(shè)備、網(wǎng)卡,和/或圖1中所顯示的或未顯示的任何設(shè)備。如上文所描述,許多OS組件中的每一個組件都至少包括一個文件(參見圖2,引用字符204)。安裝簡化的OS映像的過程包括將與選定的OS組件集關(guān)聯(lián)的文件和相關(guān)的OS組件修改復(fù)制到目標(biāo)介質(zhì)上并進(jìn)行集成。與選定的OS組件關(guān)聯(lián)的文件在304復(fù)制到目標(biāo)介質(zhì)上,并在306集成為簡化的OS映像。
在一個實施例中,簡化的OS映像中的選定的OS組件集包括安裝型OS映像中的操作系統(tǒng)許多組件中的一部分。用戶還可以將其他的OS組件添加到選定的OS組件集中。其他OS組件可包括用戶提供的OS許多組件中所沒有的任何組件。其他OS組件包括但不僅限于特定的硬件驅(qū)動程序、腳本文件,以及應(yīng)用程序。例如,特定的硬件驅(qū)動程序包括海量存儲設(shè)備驅(qū)動程序、視頻設(shè)備驅(qū)動程序、輸入設(shè)備驅(qū)動程序,以及網(wǎng)絡(luò)設(shè)備驅(qū)動程序。要包括在簡化的OS映像中的硬件驅(qū)動程序可由用戶進(jìn)行自定義,以包括安裝型OS映像中提供的或者第三方提供的任何和全部硬件驅(qū)動程序。同樣,用戶還可以添加工具或?qū)嵱霉ぞ撸缇W(wǎng)絡(luò)客戶端、測試工具以及報告實用工具。與其他OS組件關(guān)聯(lián)的文件由用戶提供并復(fù)制目標(biāo)介質(zhì)上,用于集成到簡化的OS映像中。例如,要添加對特定的海量存儲設(shè)備的支持,用戶可以在硬件驅(qū)動程序列表中添加特定的海量存儲設(shè)備的條目,并在一個包含所有驅(qū)動程序的文件目錄中添加與特定的海量存儲設(shè)備關(guān)聯(lián)的硬件驅(qū)動程序。用戶可以在將簡化的OS映像安裝在目標(biāo)介質(zhì)上之前或之后添加或刪除對特定硬件設(shè)備的支持。
在一個實施例中,簡化的OS映像大約需要100兆字節(jié)的非易失性記憶存儲空間,而完全安裝的OS映像典型情況下卻需要950兆字節(jié)到1.2千兆字節(jié)。那些精通本技術(shù)的會注意到,隨著操作系統(tǒng)的發(fā)展,在不影響本發(fā)明的功能的情況下,簡化的OS映像的非易失性記憶存儲空間要求可能會大大地少于100兆字節(jié)。
簡化的OS映像還包括一個最小的文件列表和最低限度的狀態(tài)信息。例如,在WINDOWS操作系統(tǒng)中,狀態(tài)信息存儲在一個被稱為注冊表的數(shù)據(jù)庫中,該數(shù)據(jù)庫包括一系列叫做配置單元的不連續(xù)的文件。有一個主文件布局列表,該列表包含與安裝型OS映像所在的介質(zhì)中所包含的OS組件關(guān)聯(lián)的每個文件名。主文件布局列表中的條目表示它們對于簡化的OS映像是否為必需的。例如,在WINDOWS操作系統(tǒng)中,主文件布局列表是layout.inf。本發(fā)明包括映像生成軟件,用來分析主文件布局列表和識別簡化的OS映像所必需的文件。該映像生成軟件將把簡化的OS映像安裝在目標(biāo)介質(zhì)上,方法是將識別的文件復(fù)制到目標(biāo)介質(zhì)中的一個文件目錄中。然后該文件目錄可以被鏡像到一個非易失性介質(zhì)中。此外,映像生成軟件還在必要時將識別的文件解壓縮到目標(biāo)介質(zhì)上。映像生成軟件還可讓用戶在創(chuàng)建目錄結(jié)構(gòu)時在簡化的OS映像中添加其他必需的文件。用戶也可以采用這種方式在安裝型OS映像中添加里面所沒有的較新的驅(qū)動程序文件和其他實用程序文件。
一個GUI和一個文本界面可用來從OS的許多組件中選擇一部分OS組件。用戶可以通過一個應(yīng)用程序(如SDK)與任一界面進(jìn)行交互,以選擇放在簡化的OS映像中的一部分OS組件。上文圖3中描述的SDK包括生成與選定的OS組件子集關(guān)聯(lián)的文件的列表的裝置和用于把選定的OS組件子集在目標(biāo)介質(zhì)上安裝為簡化的OS映像的裝置。安裝的方法是將文件從安裝介質(zhì)復(fù)制到目標(biāo)介質(zhì)。此外,上文描述的示例和其它地方描述的示例構(gòu)成了選擇OS組件子集的裝置、生成文件列表的裝置,以及安裝選定的OS組件子集的裝置。
下面請看圖4,一個方框圖說明了在目標(biāo)介質(zhì)410上安裝簡化的OS映像412的過程。軟件開發(fā)工具包(SDK)405或至少一個其他應(yīng)用程序向用戶顯示一個列出了OS組件402的列表,如一個包含硬件驅(qū)動程序的列表。用戶從列表402中選擇一組OS組件。計算機(jī)上的一個或多個處理器執(zhí)行SDK 405以使用戶從OS組件列表402中選擇OS組件子集404??杀籗DK 405訪問的安裝型OS映像406提供對應(yīng)于列表402的許多OS組件407。例如,安裝型OS映像406位于包括WINDOWS操作系統(tǒng)產(chǎn)品的一個介質(zhì)上。SDK 405針對安裝型OS映像406應(yīng)用選定的OS組件集以識別與選定的OS組件集404關(guān)聯(lián)的文件。SDK 405也訪問和識別許多OS組件修改408中的任何一個修改以及與選定的OS組件集404關(guān)聯(lián)的對應(yīng)文件。被識別的OS組件修改416允許選定的OS組件414在目標(biāo)介質(zhì)410上作為簡化的OS映像412執(zhí)行。OS組件修改408將替換、補(bǔ)充或以別的方式修改許多OS組件407。
具體來說,對許多OS組件407的修改408可以包括修改OS組件407以不向非易失性存儲器寫入數(shù)據(jù)。例如,在WINDOWS操作系統(tǒng)環(huán)境中,本發(fā)明的OS組件將把注冊表信息寫到易失性存儲器而不是寫到非易失性存儲器中。注冊表信息包括存儲在一個數(shù)據(jù)庫中的被稱為“配置單元”的不連續(xù)的文件中的OS配置數(shù)據(jù)。在啟動期間,一個安裝型加載程序?qū)⑾蚺c簡化的OS映像關(guān)聯(lián)的內(nèi)核傳遞一個標(biāo)記,以向內(nèi)核表明正在啟動的是簡化的OS映像412。在內(nèi)核初始化過程中,注冊表管理器將看到該標(biāo)記并將注冊表寫入到易失性存儲器,即使在從一個只讀CRM啟動也是如此。對注冊表中的條目進(jìn)行的更改是在易失性存儲器中進(jìn)行的。由于易失性存儲器的性質(zhì),如果簡化的OS映像412重新啟動,所有的更改都將被扔掉。將注冊表信息存儲在易失性存儲器中的好處是,每一次啟動時簡化的OS映像412都有一個清潔的注冊表。在另一個實施例中,如果目標(biāo)計算機(jī)能夠?qū)Ψ且资源鎯ζ鬟M(jìn)行寫入訪問,那么就會為用戶提供一個選項,是否將注冊表信息或其他配置信息保存到非易失性存儲器中以使用戶能夠在不同的重新啟動之間對該信息進(jìn)行維護(hù)。
也可以對配置單元中的條目進(jìn)行修改。配置單元條目存儲在一個文本文件中。配置單元創(chuàng)建軟件在創(chuàng)建簡化的OS映像412時還將創(chuàng)建該文本文件的二進(jìn)制版本。配置單元創(chuàng)建軟件將分析該文本文件中的配置單元條目,并為目標(biāo)介質(zhì)創(chuàng)建一個二進(jìn)制配置單元。配置單元創(chuàng)建軟件還對現(xiàn)有的二進(jìn)制配置單元進(jìn)行修改,其做法是,將配置單元加載到存儲器中,應(yīng)用所請求的更改,然后以二進(jìn)制格式保存經(jīng)修改的配置單元。
例如,WINDOWS操作系統(tǒng)啟動時需要四個配置單元。必需的配置單元包括SYSTEM、SOFTWARE、SECURITY,以及安全帳戶管理器(SAM)配置單元。默認(rèn)的SYSTEM配置單元包括有關(guān)在自舉WINDOWS操作系統(tǒng)時要運(yùn)行哪些子系統(tǒng)、硬件驅(qū)動程序和服務(wù)的信息。本發(fā)明的SYSTEM是當(dāng)前WINDOWS操作系統(tǒng)安裝程序的SYSTEM配置單元的修改版本。配置單元創(chuàng)建軟件將把一個文本文件(如minint.inf)中的修改應(yīng)用到默認(rèn)SYSTEM配置單元。SOFTWARE配置單元是由配置單元創(chuàng)建軟件從一個文本文件(如hivesft.inf)創(chuàng)建的。SECURITY和SAM配置單元是長度為零的文件,表示在簡化的OS映像412上沒有相應(yīng)的安全信息。
根據(jù)傳遞到內(nèi)核的加載程序標(biāo)記(該標(biāo)記表示正在啟動簡化的OS映像412),注冊表管理器將在一個特定位置下面創(chuàng)建一個注冊表項。例如,注冊表管理器將在創(chuàng)建易失項HKLM/System/CurrentControlSet/Control/MiniNT之后創(chuàng)建一個叫做“Option”的DWORD值?!癘ption”將被設(shè)置為1以表示用戶是在簡化的OS映像412環(huán)境中。在用戶模式下執(zhí)行的應(yīng)用程序?qū)葱枰樵冏员眄椧愿鶕?jù)該值進(jìn)行配置。
在本發(fā)明的示范WINDOWS操作系統(tǒng)實施例中,簡化的OS映像擁有“system”帳戶的安全特權(quán)。簡化的OS映像可使用的內(nèi)存僅限于可用的易失性存儲器的量,因為沒有分頁文件提供對其他存儲器的訪問。此外,默認(rèn)情況下自動啟動的一些其他不需要的服務(wù)(例如,系統(tǒng)文件保護(hù))在本發(fā)明的示范WINDOWS操作系統(tǒng)實施例中對簡化的OS映像是禁用的。
SDK 405將把選定的OS組件414和識別的OS組件修改416作為簡化的OS映像412安裝到目標(biāo)介質(zhì)410中,做法是復(fù)制與選定的OS組件集404關(guān)聯(lián)的文件和識別的OS組件修改416,然后進(jìn)行集成。用戶還可以添加OS組件集407中不存在的其他OS組件。其他OS組件將通過SDK 405來添加到選定的OS組件414中。SDK 405將在目標(biāo)介質(zhì)410中添加一個腳本文件以執(zhí)行用戶指定的功能。如果目標(biāo)介質(zhì)410是一個只讀CRM,那么用戶應(yīng)在簡化的OS映像412安裝在CRM上之前對該腳本文件進(jìn)行自定義。如果目標(biāo)介質(zhì)410是一個可讀寫CRM,那么用戶可以在簡化的OS映像412安裝在CRM上之前或之后對該腳本進(jìn)行自定義。
那些精通本技術(shù)的人將會注意到,圖4中的安裝型OS映像406、OS組件修改集408,以及目標(biāo)介質(zhì)410可以由SDK 405本地或遠(yuǎn)程進(jìn)行訪問,或者可以包括在SDK 405中。遠(yuǎn)程訪問的示例如圖1的網(wǎng)絡(luò)環(huán)境所示。
下面請看圖5,一個流程圖說明了使用簡化的OS映像安裝另一個OS映像的過程。一臺計算機(jī)在502從CRM上的簡化的OS映像啟動。在一個實施例中,簡化的OS映像支持文本用戶界面和圖形用戶界面(GUI)。具體來說,GUI支持至少有256色和分辨率至少為640×480像素的視頻圖形陣列(VGA)視頻模式。用戶自定義的、基于文本的腳本與簡化的OS映像進(jìn)行交互,以指導(dǎo)在計算機(jī)上執(zhí)行一個或多個功能。腳本將確定執(zhí)行功能的步驟。腳本也將確定執(zhí)行步驟的順序。腳本還將支持多任務(wù)處理以及多個步驟的連續(xù)執(zhí)行。即,用戶一步一步地指定腳本中的每一個步驟是否只能在前面的步驟完成之后才能執(zhí)行。腳本還可采用這種方式允許一次執(zhí)行一個步驟以及同時執(zhí)行多個步驟。在一個實施例中,腳本是一個計算機(jī)可讀的文件并位于CRM中。計算機(jī)可執(zhí)行的指令駐留在一個CRM中以根據(jù)該腳本協(xié)調(diào)功能的啟動和執(zhí)行。在其他實施例中,腳本位于計算機(jī)本地或遠(yuǎn)離計算機(jī)。CRM可以位于計算機(jī)本地或者遠(yuǎn)離計算機(jī)(請分別參見圖6和7)。例如,計算機(jī)以遠(yuǎn)程方式訪問CRM或腳本,如圖1的網(wǎng)絡(luò)環(huán)境所示。
在一個實施例中,諸如OEM之類的用戶對腳本進(jìn)行編輯,以使腳本執(zhí)行必需的功能以在計算機(jī)上安裝參考OS映像。在一個實施例中,計算機(jī)是一臺空白PC,上面的海量存儲設(shè)備尚未格式化,也沒有分區(qū)。在另一個實施例中,計算機(jī)是一臺具有CRM的PC,并且有一個需要更新的OS。用戶還對腳本進(jìn)行編輯以在504驗證計算機(jī)上的硬件。計算機(jī)上的硬件包括網(wǎng)卡、海量存儲設(shè)備、視頻卡,和/或圖1中所顯示的或未顯示的任何其他設(shè)備。腳本通過啟用指定的硬件設(shè)備來驗證硬件,還可以進(jìn)行測試以驗證適當(dāng)?shù)牟僮鞑l(fā)現(xiàn)有缺點(diǎn)的硬件。對每一個硬件設(shè)備進(jìn)行驗證的過程一般來講需要硬件驅(qū)動程序,以使簡化的OS映像與硬件設(shè)備進(jìn)行通信。硬件驅(qū)動程序是一個硬件設(shè)備的制造商提供的專門軟件,它可在計算機(jī)上安裝的OS中運(yùn)行,與硬件設(shè)備進(jìn)行通信。在一個實施例中,簡化的OS映像支持即插即用(PNP)協(xié)議以檢測計算機(jī)中的硬件,并能夠識別相應(yīng)的硬件驅(qū)動程序。對于簡化的OS映像,PNP管理器服務(wù)也在運(yùn)行。在內(nèi)核初始化期間,PNP管理器的內(nèi)核模式部分將檢測計算機(jī)上的各種硬件設(shè)備,并將檢測到的硬件設(shè)備上的信息寫入到注冊表中的特定位置。在本發(fā)明的簡化的OS映像中,用戶模式PNP管理器被禁用,以便不自動安裝檢測到的硬件設(shè)備的驅(qū)動程序。這一點(diǎn)與其他OS映像PNP管理器的用戶模式部分確定是否要安裝檢測到的硬件設(shè)備的驅(qū)動程序不同。如果硬件驅(qū)動程序沒有安裝,那么PNP管理器的用戶模式部分將為這些硬件設(shè)備安裝硬件驅(qū)動程序。
在本發(fā)明中,如果相應(yīng)的硬件驅(qū)動程序正確地加載和初始化,那么簡化的OS映像就會假設(shè)特定的硬件會正確地運(yùn)行。還可以通過硬件制造商提供的測試套件對硬件進(jìn)行其他測試。例如,用戶可以向硬件驅(qū)動程序發(fā)送一個輸入/輸出控制(IOCTL)命令以與硬件進(jìn)行通信。通過分析IOCTL命令返回的值,用戶可以驗證該硬件是否正常運(yùn)行。作為另一個示例,要驗證ACME網(wǎng)絡(luò)接口卡(NIC)是否正常地運(yùn)轉(zhuǎn),用戶可以加載硬件驅(qū)動程序ACMENIC.SYS。一旦ACMENIC.SYS成功地加載,用戶還可以使用ACMENIC.SYS執(zhí)行回送測試,以驗證NIC是否正確地配置并正常運(yùn)轉(zhuǎn)。
OEM提供的硬件驅(qū)動程序或者簡化的OS映像內(nèi)的硬件驅(qū)動程序用于控制硬件,并且它們是為供支持保護(hù)模式的OS使用而編寫的。在一個實施例中,本發(fā)明的簡化的OS映像是一個支持保護(hù)模式的OS,如WINDOWS操作系統(tǒng)環(huán)境。簡化的OS映像包括可用于計算機(jī)上出現(xiàn)的一些或所有可能的硬件的一些或所有硬件驅(qū)動程序。如此,簡化的OS映像是獨(dú)立于硬件的。在一個實施例中,至少有一個文本文件(如txtsetup.sif或txtsetup.oem)列出了可能會出現(xiàn)在計算機(jī)中的所有可能的硬件可用的所有硬件驅(qū)動程序。用戶通過向列表中添加或從中刪除硬件設(shè)備對該文本文件進(jìn)行編輯,以使該文本文件代表可能的硬件范圍。通過最大限度地縮小硬件驅(qū)動程序列表,進(jìn)行硬件檢測和驗證所需要的時間也會最大限度地縮短。
在示范WINDOWS操作系統(tǒng)實施例中,硬件驅(qū)動程序可以是啟動型硬件驅(qū)動程序,也可以是非啟動型硬件驅(qū)動程序。簡化的OS映像自動加載啟動型硬件驅(qū)動程序。啟動型硬件驅(qū)動程序包括但不僅限于輸入、存儲(硬盤驅(qū)動器和文件系統(tǒng)),以及顯示器驅(qū)動程序。由于簡化的OS映像可以在各種計算機(jī)上啟動,不同的計算機(jī)可能有不同的顯示器、輸入和存儲設(shè)備。簡化的OS映像包括可以在大多數(shù)計算機(jī)上運(yùn)行的驅(qū)動程序的動態(tài)超集列表。安裝型加載程序(在常規(guī)安裝期間使用的加載程序)將加載驅(qū)動程序,這些驅(qū)動程序包括但不僅限于默認(rèn)VGA驅(qū)動程序、用于各種經(jīng)常使用的硬盤驅(qū)動器的通用海量存儲驅(qū)動程序、常規(guī)文件系統(tǒng)驅(qū)動程序以及用于鍵盤和鼠標(biāo)的輸入驅(qū)動程序。由于與VGA兼容的顯示設(shè)備是大多數(shù)WINDOWS操作系統(tǒng)所必需的,因此默認(rèn)的VGA驅(qū)動程序幾乎可以在WINDOWS操作系統(tǒng)環(huán)境中的所有計算機(jī)上運(yùn)行。安裝型加載程序?qū)⒆鳛閱有万?qū)動程序加載這些驅(qū)動程序,創(chuàng)建一個列表,并將該列表傳遞到內(nèi)核以將這些驅(qū)動程序初始化。在驅(qū)動程序初始化之前,將會在SYSTEM配置單元中的服務(wù)鍵值下面創(chuàng)建一個正確的條目。由于這些驅(qū)動程序是動態(tài)地加載的,因此在生成簡化的OS映像期間無法創(chuàng)建必需的注冊表條目。本發(fā)明的另一個驅(qū)動程序(如setupdd.sys)將在啟動型驅(qū)動程序初始化過程中執(zhí)行,以在其他驅(qū)動程序初始化之前在注冊表中創(chuàng)建必需的條目。這將有助于驅(qū)動程序的正確初始化。用戶將按腳本指定的方式加載非啟動型硬件驅(qū)動程序。
腳本將指導(dǎo)在506對海量存儲設(shè)備進(jìn)行分區(qū)。對海量存儲設(shè)備的分區(qū)過程包括在508在海量存儲設(shè)備上創(chuàng)建、刪除特定區(qū)域或?qū)⑺鼈兏袷交T谝粋€實施例中,簡化的OS映像將引用一個文本文件(如partinfo.txt)以獲得特定的分區(qū)信息。用戶對partinfo.txt進(jìn)行編輯以添加用戶所需要的特定的分區(qū)信息。腳本將用一個簡化的OS映像支持的文件系統(tǒng)格式對海量存儲設(shè)備進(jìn)行格式化。例如,在WINDOWS操作系統(tǒng)中,受支持的文件系統(tǒng)格式包括CDFS、UDF、FAT12、FAT16、FAT32和NTFS。
如果帶有參考OS映像的CRM遠(yuǎn)離計算機(jī),那么腳本將啟用網(wǎng)絡(luò)連接。腳本將執(zhí)行一個實用程序(如factory.exe)以檢測計算機(jī)中的特定網(wǎng)絡(luò)接口,并為該特定的網(wǎng)絡(luò)接口安裝相應(yīng)的硬件驅(qū)動程序。factory.exe實用程序?qū)⑹褂肞NP管理器API。網(wǎng)絡(luò)驅(qū)動程序安裝之后,腳本將通過一個實用程序(如netcfg.exe)初始化傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)堆棧以及相關(guān)的服務(wù)。TCP/IP堆棧以及相關(guān)的服務(wù)將允許計算機(jī)通過一個“net use”(例如)命令訪問遠(yuǎn)程計算機(jī)。啟用網(wǎng)絡(luò)連接之后,腳本在510從遠(yuǎn)程CRM獲取一個參考OS映像并在512將該參考OS映像安裝在計算機(jī)上。在一個實施例中,簡化的OS映像支持網(wǎng)絡(luò)連接協(xié)議(如服務(wù)器消息塊,SMB)以便可以在各個計算機(jī)之間進(jìn)行文件訪問。
在計算機(jī)上安裝參考OS映像的過程包括將與參考OS映像關(guān)聯(lián)的一個或多個文件復(fù)制到計算機(jī)上,并將這些文件集成。在示范WINDOWS操作系統(tǒng)環(huán)境中,將文件集成的過程包括但不僅限于創(chuàng)建或更新注冊表以及創(chuàng)建或更新桌面圖標(biāo)。腳本確定復(fù)制文件并進(jìn)行集成的步驟。腳本也將確定執(zhí)行步驟的順序。在計算機(jī)上安裝參考OS映像之后,可以將計算機(jī)關(guān)閉以便提供給客戶或者在514重新啟動。重新啟動的過程包括關(guān)閉計算機(jī),然后加載和初始化安裝的參考OS映像。在一個實施例中,本發(fā)明提供了一個框架,根據(jù)該框架,在計算機(jī)上啟動和安裝參考OS映像只需要重新啟動一次即可完成。即,腳本允許用戶只需要一次重新啟動即可將參考OS映像鏡像到計算機(jī)上。本發(fā)明還可使用戶將參考OS映像鏡像到與計算機(jī)關(guān)聯(lián)的一個CRM中。用戶可通過腳本實現(xiàn)所需要的鏡像方法。鏡像方法可以是任何一種傳送文件的方法,包括但不僅限于文件復(fù)制和完整的OS安裝。重新啟動之后,安裝的引用OS鏡像將為最終用戶協(xié)調(diào)OS映像安裝后的任何個性化工作。
可本地或遠(yuǎn)程訪問的易失性和非易失性CRM構(gòu)成了用于提供用戶自定義的基于文本的腳本的裝置。從本地CRM啟動,或者通過PXE遠(yuǎn)程啟動,或者任何其他遠(yuǎn)程啟動協(xié)議構(gòu)成了從CRM啟動具有32位或64位體系結(jié)構(gòu)的計算機(jī)的裝置。示范WINDOWS操作系統(tǒng)環(huán)境中的應(yīng)用程序(如cmd.exe和csh.exe)構(gòu)成了根據(jù)用戶自定義的基于文本的腳本在計算機(jī)上執(zhí)行一個或多個功能的裝置。此外,上文描述的示例和其它地方描述的示例構(gòu)成了提供腳本的裝置和啟動計算機(jī)的裝置。
下面請看圖6,一個方框圖說明了從一臺遠(yuǎn)程啟動計算機(jī)602啟動目標(biāo)計算機(jī)以在目標(biāo)計算機(jī)616上安裝參考OS映像612的過程。例如,在WINDOWS操作系統(tǒng)實施例中,遠(yuǎn)程啟動計算機(jī)602是一臺遠(yuǎn)程安裝服務(wù)器。遠(yuǎn)程啟動計算機(jī)602包括一個遠(yuǎn)程啟動CRM604,該CRM中包括一個簡化的OS映像606和一個遠(yuǎn)程啟動CRM腳本608。在一個實施例中,目標(biāo)計算機(jī)616連接到遠(yuǎn)程啟動計算機(jī)602,如圖1中的示范網(wǎng)絡(luò)環(huán)境所示。目標(biāo)計算機(jī)616通過許多方法和協(xié)議(包括但不僅限于啟動之前執(zhí)行環(huán)境,PXE)從遠(yuǎn)程啟動CRM 604進(jìn)行啟動。PXE啟動遵循動態(tài)主機(jī)配置協(xié)議(DHCP)。目標(biāo)計算機(jī)616將在網(wǎng)絡(luò)上廣播或以別的方式傳達(dá)DHCP啟動請求。遠(yuǎn)程啟動計算機(jī)602接收到DHCP啟動請求并從遠(yuǎn)程啟動CRM 604啟動目標(biāo)計算機(jī)616。啟動目標(biāo)計算機(jī)616的過程包括從遠(yuǎn)程啟動計算機(jī)602將簡化的OS映像606加載到目標(biāo)計算機(jī)616上的易失性存儲器,并在目標(biāo)計算機(jī)616上初始化簡化的OS映像606。
在WINDOWS操作系統(tǒng)中有一個適用于本地和遠(yuǎn)程啟動的啟動過程的示例。在根據(jù)本發(fā)明的WINDOWS操作系統(tǒng)實施例中,簡化的OS映像606包括與WINDOWS NT操作系統(tǒng)關(guān)聯(lián)的基碼,并帶有最低限度的WIN32應(yīng)用程序編程接口(API)子系統(tǒng)。最低限度的WIN32 API子系統(tǒng)包括但不僅限于輸入/輸出API和核心Win32 API。簡化的OS映像606使用安裝型加載程序而不使用啟動型加載程序來加載簡化的OS映像。用戶在一個配置文件中指定一個加載程序標(biāo)記,以便讓安裝型加載程序用來識別遠(yuǎn)程啟動CRM 604上的OS映像是簡化的OS映像606。在啟動期間,安裝型加載程序?qū)⒃O(shè)置該標(biāo)記。作為對設(shè)置的標(biāo)記的響應(yīng),簡化的OS映像內(nèi)的功能被啟用。例如,在boot.ini中指定了標(biāo)記“/minint”?!?minint”標(biāo)記類似于諸如“/debug”和“/vga”之類的其他加載程序。如此,安裝型加載程序?qū)⒑喕腛S映像606存在這一信息傳達(dá)到簡化的OS映像中的OS組件。OS組件將按此處描述改變它們的行為以作為簡化的OS映像606來運(yùn)行。例如,如上文所描述,功能包括將配置信息加載到易失性存儲器中。此外,用戶模式應(yīng)用程序還根據(jù)設(shè)置的標(biāo)記進(jìn)行配置。在此實施例中,對安裝型OS映像中的OS組件的修改(參見圖4,引用字符406)在OS組件內(nèi)存在,但在被特定的加載程序標(biāo)記激活之前是被動的。
安裝型加載程序?qū)凑找粋€文本文件(如txtsetup.sif)中指定的方式初始化各種硬件驅(qū)動程序。安裝型加載程序還允許用戶加載其他啟動型硬件驅(qū)動程序和/或更新一個硬件抽象層,以促進(jìn)簡化的OS映像606和目標(biāo)計算機(jī)616中的硬件之間的通信。
安裝型加載程序?qū)⑹褂贸R?guī)會話管理器而不使用與安裝型加載程序關(guān)聯(lián)的會話管理器。在啟動期間,與簡化的OS映像606關(guān)聯(lián)的一個內(nèi)核將執(zhí)行一個實用程序(如smss.exe)。當(dāng)smss.exe執(zhí)行時,它將查找在內(nèi)核初始化期間創(chuàng)建的表示該OS是簡化的OS映像606的注冊表項。如果該注冊表項存在,那么smss.exe將忽略通常在啟動到WINDOWS操作系統(tǒng)環(huán)境中時執(zhí)行的其他操作,這些操作包括但不僅限于創(chuàng)建一個分頁文件。實用程序smss.exe還執(zhí)行另一個實用程序(如winlogon.exe)以查找該注冊表項。如果該注冊表項存在,那么winlogon.exe將注冊表中指定的另一個進(jìn)程(如cmd.exe)而不是執(zhí)行身份驗證對話和explorer.exe。諸如cmd.exe或csh.exe之類的外殼支持WINDOWS操作系統(tǒng)內(nèi)的腳本功能。是選擇cmd.exe還是選擇另一個外殼可以由用戶在生成簡化的OS映像606之前或之后進(jìn)行配置。用戶還可以指定一個自定義外殼環(huán)境作為簡化的OS映像606的默認(rèn)外殼。該外殼支持具有一個或多個腳本文件(如winBOM.ini文件或floppy.cmd文件)的腳本,以執(zhí)行用戶指定的功能。在此實施例中,簡化的OS映像606將在簡化的OS映像606中或其他位置(如用戶指定的可移動的非易失性存儲器)搜索該腳本文件。如果能找到該腳本,那么簡化的OS映像606將在該腳本內(nèi)執(zhí)行命令。如果找不到該腳本,那么簡化的OS映像606將顯示一個命令提示符以接受用戶輸入的命令。例如,請看圖6,用戶將指定是執(zhí)行遠(yuǎn)程啟動CRM腳本608還是執(zhí)行引用CRM腳本614,還是兩者都執(zhí)行,還是兩者都不執(zhí)行。
然后實用程序winlogon.exe等待cmd.exe或其他外殼進(jìn)程完成。例如,winlogon.exe可能等待二十四小時。如果外殼進(jìn)程在二十四小時之后還沒有完成,那么winlogon.exe就會強(qiáng)制目標(biāo)計算機(jī)616重新啟動。實施時間限制是為了讓用戶不會將簡化的OS映像606當(dāng)作完全安裝的OS映像來使用。
簡化的OS映像606使用用戶指定的腳本來指導(dǎo)參考OS映像612在目標(biāo)計算機(jī)616上的安裝。本發(fā)明允許用戶配置安裝過程,以便通過提供一個多級別的腳本環(huán)境實現(xiàn)自動安裝。簡化的OS映像606將使用遠(yuǎn)程啟動CRM 604、目標(biāo)計算機(jī)616的本地CRM、或目標(biāo)計算機(jī)616可通過網(wǎng)絡(luò)訪問的CRM中的任何一個或任何組合中的一個代表腳本的文件,如winBOM.ini。腳本環(huán)境允許用戶協(xié)調(diào)許多計算機(jī)上任何一個腳本或許多腳本的執(zhí)行。用戶還可以在一個特定的腳本內(nèi)指定另一個腳本的執(zhí)行。例如,遠(yuǎn)程啟動CRM腳本608的最后一個步驟就可以執(zhí)行引用CRM腳本614。
在目標(biāo)計算機(jī)616啟動之后,用戶指定的腳本將查找包含參考OS映像612和引用CRM腳本614的引用CRM 610。引用CRM610位于目標(biāo)計算機(jī)616本地或以別的方式連接到目標(biāo)計算機(jī)616,例如,如圖1中的網(wǎng)絡(luò)環(huán)境。腳本將通過把與參考OS映像612關(guān)聯(lián)的文件復(fù)制到目標(biāo)計算機(jī)616的本地海量存儲設(shè)備并進(jìn)行集成來將參考OS映像612安裝在目標(biāo)計算機(jī)616上。在其他實施例中,腳本首先用一個文件系統(tǒng)對海量存儲設(shè)備進(jìn)行分區(qū)和格式化。在目標(biāo)計算機(jī)616上安裝參考OS映像612之后,腳本將關(guān)閉或重新啟動目標(biāo)計算機(jī)616。
下面是一個winBOM.ini腳本文件的示例,它與簡化的OS映像612一起使用以將海量存儲設(shè)備格式化,并將參考OS映像612安裝在目標(biāo)計算機(jī)616上。
---------------------------------------[Version]signature=$version$[Factory]
[WinPE]Restart=RebootLang=ENGSKU=proArch--x86ConfigSet=Awesome 2001SourceRoot=//machinename/WhistlerOPKUsername=Password=[DiskConfig]Disk1=Disk1.config[Disk1.config]Size1=*PartitionType 1=primaryFileSystem 1=ntfsQuickFormat 1=yes[OemRunOnce]---------------------------------------下面請看圖7,一個方框圖說明了從本地CRM 704啟動目標(biāo)計算機(jī)702以在目標(biāo)計算機(jī)702上安裝參考OS映像712的過程。本地CRM 704包括一個簡化的OS映像706和一個本地CRM腳本708。目標(biāo)計算機(jī)702從本地CRM 704上的簡化的OS映像706啟動。
在啟動之后,簡化的OS映像706使用用戶指定的腳本來指導(dǎo)在目標(biāo)計算機(jī)702上安裝參考OS映像712的過程。簡化的OS映像706將查找用戶指定的腳本來識別包含一個參考OS映像712和一個引用CRM腳本714的引用CRM 710。引用CRM 710位于目標(biāo)計算機(jī)702本地或者遠(yuǎn)離目標(biāo)計算機(jī)702,類似于圖6中的示例。例如,請看圖7,用戶將指定是執(zhí)行本地CRM腳本708還是執(zhí)行引用CRM腳本714,還是兩者都執(zhí)行,還是兩者都不執(zhí)行。腳本將通過把與參考OS映像712關(guān)聯(lián)的文件復(fù)制到與目標(biāo)計算機(jī)702關(guān)聯(lián)的海量存儲設(shè)備并進(jìn)行集成來將參考OS映像712安裝在目標(biāo)計算機(jī)702上。在其他實施例中,腳本首先用一個文件系統(tǒng)對海量存儲設(shè)備進(jìn)行分區(qū)和格式化。在目標(biāo)計算機(jī)702上安裝參考OS映像712之后,腳本將關(guān)閉或重新啟動目標(biāo)計算機(jī)702。
下面請看圖8,一個方框圖說明了帶有故障軟件810的計算機(jī)808與帶有簡化的OS映像804(含有腳本806)的恢復(fù)介質(zhì)802之間的交互。用戶將對腳本806進(jìn)行自定義以恢復(fù)計算機(jī)808中故障軟件810。例如,腳本806可以是圖5、6、或7中的腳本?;謴?fù)介質(zhì)802包含簡化的OS映像804和腳本806。計算機(jī)808上有一個軟件(如OS或應(yīng)用程序)發(fā)生了故障。故障軟件810包括但不僅限于被損壞、有運(yùn)行故障或有別的故障的軟件。腳本806將根據(jù)用戶指定的指令指導(dǎo)故障軟件810的恢復(fù),可以通過啟動計算機(jī)808,重新安裝軟件,向軟件中添加糾正代碼,或者以別的方式消除故障。在其他實施例中,恢復(fù)介質(zhì)802可由計算機(jī)808通過網(wǎng)絡(luò)進(jìn)行訪問。
在一個實施例中,用戶使用一臺引用計算機(jī)上的恢復(fù)介質(zhì)802從引用計算機(jī)和其他計算機(jī)上的軟件故障中恢復(fù)。其他計算機(jī)可以由引用計算機(jī)在本地或遠(yuǎn)程訪問。如此,恢復(fù)介質(zhì)802可用于自動地糾正許多計算機(jī)上的特定的類似的問題。例如,從故障軟件中恢復(fù)一臺計算機(jī)之后,腳本806可以將一個補(bǔ)丁程序應(yīng)用到腳本806中標(biāo)識的所有其他計算機(jī)。
在其他實施例中,帶有腳本806的簡化的OS映像804將與一臺或多臺計算機(jī)進(jìn)行交互以執(zhí)行各種任務(wù)。例如,備份和/或恢復(fù)計算機(jī)上的數(shù)據(jù),從一臺執(zhí)行簡化的OS映像804的位于中心位置的服務(wù)器遠(yuǎn)程排除計算機(jī)的故障,以及使用簡化的OS映像804作為遠(yuǎn)程服務(wù)器的瘦客戶端以代替計算機(jī)使用。另一個示例是從一個只讀介質(zhì)執(zhí)行反病毒軟件以對另一個OS映像上的被病毒感染的文件以及用簡化的OS映像中的或者只讀介質(zhì)上的安裝型OS映像上的正確版本更換其他OS映像上的被病毒感染的文件。
綜上所述,本發(fā)明的一些優(yōu)勢就已經(jīng)體現(xiàn)出來了。由于在不偏離本發(fā)明的范圍可以對產(chǎn)品和方法進(jìn)行各種更改,因此,上述說明中包含的所有內(nèi)容以及附圖中所顯示的內(nèi)容都應(yīng)該解釋為說明性的,沒有限制性的意義。
權(quán)利要求
1.一種計算機(jī)化的方法,包括提供用戶對基于文本的腳本的訪問;由用戶編輯基于文本的腳本,以提供用戶自定義的基于文本的腳本;從計算機(jī)可讀的介質(zhì)上的一個簡化的操作系統(tǒng)映像啟動第一計算機(jī),其中所述簡化的操作系統(tǒng)映像是第二計算機(jī)的完整操作系統(tǒng)映像,所述第二計算機(jī)具有獨(dú)立于第一計算機(jī)的硬件;以及根據(jù)用戶自定義的基于文本的腳本在第一計算機(jī)上執(zhí)行一個或多個功能,其中所述計算機(jī)化的方法獨(dú)立于體系結(jié)構(gòu)。
2.根據(jù)權(quán)利要求
1所述的計算機(jī)化的方法,其特征在于執(zhí)行過程包括在第一計算機(jī)上安裝一個完整的操作系統(tǒng)映像。
3.根據(jù)權(quán)利要求
2所述的計算機(jī)化的方法,其特征在于所述第一計算機(jī)具有一個海量存儲設(shè)備,并且其特征在于執(zhí)行過程包括對海量存儲設(shè)備進(jìn)行分區(qū)。
4.根據(jù)權(quán)利要求
2所述的計算機(jī)化的方法,其特征在于所述第一計算機(jī)具有一個海量存儲設(shè)備,并且其特征在于執(zhí)行過程包括對海量存儲設(shè)備進(jìn)行格式化。
5.根據(jù)權(quán)利要求
4所述的計算機(jī)化的方法,其特征在于格式化包括用簡化的操作系統(tǒng)映像支持的格式對帶有文件系統(tǒng)的海量存儲設(shè)備進(jìn)行格式化。
6.根據(jù)權(quán)利要求
2所述的計算機(jī)化的方法,其特征在于執(zhí)行過程還包括對所述第一計算機(jī)的硬件進(jìn)行驗證。
7.根據(jù)權(quán)利要求
6所述的計算機(jī)化的方法,其特征在于所述簡化的操作系統(tǒng)映像包括可在簡化的操作系統(tǒng)映像的保護(hù)模式下運(yùn)行的保護(hù)模式硬件驅(qū)動程序,其特征在于驗證過程包括在安裝之前,使用保護(hù)模式硬件驅(qū)動程序?qū)τ布M(jìn)行驗證。
8.根據(jù)權(quán)利要求
2所述的計算機(jī)化的方法,其特征在于安裝過程包括將與完整的操作系統(tǒng)映像關(guān)聯(lián)的一個或多個文件復(fù)制到計算機(jī)上并集成這些文件。
9.根據(jù)權(quán)利要求
8所述的計算機(jī)化的方法,其特征在于腳本確定復(fù)制和集成文件的許多步驟,并且其特征在于腳本確定執(zhí)行許多步驟的順序。
10.根據(jù)權(quán)利要求
1所述的計算機(jī)化的方法,其特征在于第一計算機(jī)的體系結(jié)構(gòu)是64位。
11.根據(jù)權(quán)利要求
1所述的計算機(jī)化的方法,其特征在于第一計算機(jī)的體系結(jié)構(gòu)大于32位。
12.根據(jù)權(quán)利要求
1所述的計算機(jī)化的方法,其特征在于啟動包括設(shè)置一個標(biāo)記;以及作為對設(shè)置的標(biāo)記的響應(yīng),啟用簡化操作系統(tǒng)映像內(nèi)的功能。
13.根據(jù)權(quán)利要求
12所述的計算機(jī)化的方法,進(jìn)一步包括允許用戶模式軟件響應(yīng)設(shè)置的標(biāo)記進(jìn)行配置。
14.根據(jù)權(quán)利要求
12所述的計算機(jī)化的方法,其特征在于功能包括將配置信息加載到易失性存儲器中。
15.根據(jù)權(quán)利要求
1所述的計算機(jī)化的方法,其特征在于計算機(jī)可讀的介質(zhì)上包含腳本。
16.根據(jù)權(quán)利要求
1所述的計算機(jī)化的方法,其特征在于腳本遠(yuǎn)離計算機(jī)可讀的介質(zhì)。
17.根據(jù)權(quán)利要求
1所述的計算機(jī)化的方法,其特征在于執(zhí)行包括從軟件的故障中恢復(fù)計算機(jī)。
18.根據(jù)權(quán)利要求
17所述的計算機(jī)化的方法,其特征在于軟件包括操作系統(tǒng)或應(yīng)用程序。
19.根據(jù)權(quán)利要求
1所述的計算機(jī)化的方法,其特征在于計算機(jī)可讀的介質(zhì)可由計算機(jī)通過網(wǎng)絡(luò)進(jìn)行訪問。
20.根據(jù)權(quán)利要求
1所述的計算機(jī)化的方法,進(jìn)一步包括對用戶自定義的基于文本的腳本進(jìn)行編輯以使執(zhí)行過程包括安裝另一個操作系統(tǒng)。
21.一個系統(tǒng),包括由用戶編輯基于文本的腳本,以提供用戶自定義的基于文本的腳本的裝置;從計算機(jī)可讀的介質(zhì)上的一個簡化的操作系統(tǒng)映像啟動第一計算機(jī)的裝置,其中所述簡化的操作系統(tǒng)映像是具有獨(dú)立于第一計算機(jī)的硬件的第二計算機(jī)的完整操作系統(tǒng)映像,并且所述簡化的操作系統(tǒng)映像是硬件獨(dú)立的;以及根據(jù)用戶自定義的基于文本的腳本在第一計算機(jī)上執(zhí)行一個或多個功能以在第一計算機(jī)上安裝簡化的操作系統(tǒng)映像的裝置。
22.一種計算機(jī)化的方法,包括提供用戶對基于腳本的文本的訪問;由用戶編輯基于文本的腳本,以提供用戶自定義的基于文本的腳本;從計算機(jī)可讀的介質(zhì)上的簡化的第一操作系統(tǒng)映像啟動第一計算機(jī),其中所述簡化的操作系統(tǒng)映像是具有獨(dú)立于第一計算機(jī)的硬件的第二計算機(jī)的完整操作系統(tǒng);以及根據(jù)用戶自定義的基于文本的腳本在第一計算機(jī)上安裝完整操作系統(tǒng)映像,其中啟動和安裝過程只需要重新啟動計算機(jī)一次,并且所述計算機(jī)方法是體系結(jié)構(gòu)獨(dú)立的。
23.根據(jù)權(quán)利要求
22所述的計算機(jī)化的方法,其特征在于腳本位于計算機(jī)可讀的介質(zhì)上。
24.根據(jù)權(quán)利要求
22所述的計算機(jī)化的方法,其特征在于還包括對第一計算機(jī)的硬件進(jìn)行驗證。
25.根據(jù)權(quán)利要求
22所述的計算機(jī)化的方法,其特征在于第一計算機(jī)具有一個海量存儲設(shè)備,并且其特征在于安裝過程包括對海量存儲設(shè)備進(jìn)行格式化。
26.根據(jù)權(quán)利要求
22的計算機(jī)化的方法,其特征在于安裝過程包括將與完整操作系統(tǒng)映像關(guān)聯(lián)的一個或多個文件復(fù)制到第一計算機(jī)上并集成這些文件。
27.根據(jù)權(quán)利要求
26的計算機(jī)化的方法,其特征在于腳本確定復(fù)制和集成文件的許多步驟,并且其特征在于腳本確定執(zhí)行許多步驟的順序。
28.根據(jù)權(quán)利要求
22所述的計算機(jī)化的方法,其特征在于所述第一計算機(jī)有計算機(jī)可讀的介質(zhì)。
29.一個系統(tǒng),包括具有用戶選定的操作系統(tǒng)組件的第一操作系統(tǒng)映像,所述第一操作系統(tǒng)映像是硬件獨(dú)立的;具有第二操作系統(tǒng)映像的第一計算機(jī),所述第一操作系統(tǒng)映像相對所述第二操作系統(tǒng)是簡化的;以及可由用戶自定義的基于文本的腳本文件,該腳本文件與第一操作系統(tǒng)映像進(jìn)行交互,以在具有獨(dú)立于第一計算機(jī)的硬件的第二計算機(jī)上安裝第二操作系統(tǒng)映像,其中所述基于文本的腳本文件包括用戶可編輯的文本。
30.根據(jù)權(quán)利要求
29所述的系統(tǒng),其特征在于操作系統(tǒng)的每一組件都至少包括一個文件。
31.根據(jù)權(quán)利要求
29所述的系統(tǒng),其特征在于操作系統(tǒng)組件包括硬件驅(qū)動程序。
32.根據(jù)權(quán)利要求
29所述的系統(tǒng),其特征在于第二操作系統(tǒng)映像有許多操作系統(tǒng)組件,并且其特征在于第一操作系統(tǒng)映像具有多個操作系統(tǒng)組件的子集。
33.根據(jù)權(quán)利要求
29所述的系統(tǒng),其特征在于第二計算機(jī)的體系結(jié)構(gòu)是64位。
34.根據(jù)權(quán)利要求
29所述的系統(tǒng),其特征在于腳本文件可以在大于32位體系結(jié)構(gòu)的計算機(jī)運(yùn)行。
35.一種計算機(jī)化的方法,所述方法包括基于要被啟用的需要的功能,從第一計算機(jī)的多個操作系統(tǒng)組件中選擇操作系統(tǒng)組件的一個子集;生成與選定的操作系統(tǒng)組件的子集關(guān)聯(lián)的文件列表,所述生成的文件列表是基于文本的,并可由用戶編輯;以及在目標(biāo)介質(zhì)上安裝選定的操作系統(tǒng)組件的子集作為簡化的操作系統(tǒng)映像,其中安裝過程包括從安裝介質(zhì)中將文件復(fù)制到目標(biāo)介質(zhì)中;以及使用目標(biāo)介質(zhì)引導(dǎo)具有獨(dú)立于第一計算機(jī)的硬件的第二計算機(jī),其中所述計算機(jī)化的方法是體系結(jié)構(gòu)獨(dú)立的。
36.根據(jù)權(quán)利要求
35所述的計算機(jī)化的方法,其特征在于操作系統(tǒng)組件包括硬件驅(qū)動程序。
37.根據(jù)權(quán)利要求
35所述的計算機(jī)化的方法,進(jìn)一步包括至少創(chuàng)建一個配置單元,其中安裝過程包括將創(chuàng)建的配置單元復(fù)制到目標(biāo)介質(zhì)中。
38.根據(jù)權(quán)利要求
35所述的計算機(jī)化的方法,其中安裝過程進(jìn)一步包括在目標(biāo)介質(zhì)上集成這些文件。
39.根據(jù)權(quán)利要求
35所述的計算機(jī)化的方法,進(jìn)一步包括選擇更多的操作系統(tǒng)組件,并且其中安裝過程包括在目標(biāo)介質(zhì)上安裝更多的操作系統(tǒng)組件。
40.一個系統(tǒng),所述系統(tǒng)包括基于要被啟用的需要的功能,從第一計算機(jī)的多個操作系統(tǒng)組件中選擇操作系統(tǒng)組件的一個子集的裝置;生成與選定的操作系統(tǒng)組件的子集關(guān)聯(lián)的文件列表的裝置,所述生成的文件列表是基于文本的,并可由用戶編輯;在目標(biāo)介質(zhì)上安裝選定的操作系統(tǒng)組件的子集作為獨(dú)立于硬件的簡化的操作系統(tǒng)映像的裝置,其中安裝過程包括從安裝介質(zhì)中將文件復(fù)制到目標(biāo)介質(zhì)中。
41.用來用許多操作系統(tǒng)組件在目標(biāo)介質(zhì)上創(chuàng)建簡化的操作系統(tǒng)映像的系統(tǒng),所述系統(tǒng)包括用戶界面,允許用戶從第一計算機(jī)的多個操作系統(tǒng)組件中選擇操作系統(tǒng)組件的子集,生成與選定的操作系統(tǒng)組件的子集關(guān)聯(lián)的文件列表,所述選擇的操作系統(tǒng)組件被選擇以啟用需要的功能,所述生成的文件列表是基于文本的,并且可由用戶編輯;以及操作系統(tǒng)組件修改,它們允許選定的操作系統(tǒng)組件集作為第二計算機(jī)上簡化的操作系統(tǒng)映像執(zhí)行,其中簡化的操作系統(tǒng)映像是硬件獨(dú)立的,并且第二計算機(jī)具有與第一計算機(jī)獨(dú)立的硬件。
42.根據(jù)權(quán)利要求
41所述的系統(tǒng),進(jìn)一步包括一個基于文本的腳本,用于指導(dǎo)簡化的操作系統(tǒng)映像執(zhí)行一個或多個功能。
43.根據(jù)權(quán)利要求
42所述的系統(tǒng),其特征在于這些功能包括在另一臺計算機(jī)上安裝一個操作系統(tǒng)。
44.根據(jù)權(quán)利要求
42所述的系統(tǒng),其特征在于這些功能包括從下列一組任務(wù)中選定的一個或多個任務(wù)從軟件故障中恢復(fù)第二計算機(jī),在第二計算機(jī)上備份和/或恢復(fù)數(shù)據(jù),遠(yuǎn)程排除另一計算機(jī)上的故障,以及使用計算機(jī)執(zhí)行應(yīng)用程序作為第二計算機(jī)的遠(yuǎn)程瘦客戶端。
45.根據(jù)權(quán)利要求
41所述的系統(tǒng),其特征在于操作系統(tǒng)組件集是許多操作系統(tǒng)組件的一個子集。
46.根據(jù)權(quán)利要求
41所述的系統(tǒng),進(jìn)一步包括許多操作系統(tǒng)組件中沒有的更多操作系統(tǒng)組件,并且其中在執(zhí)行應(yīng)用程序時,進(jìn)一步使一個或多個處理器執(zhí)行如下操作包括允許用戶在選定的操作系統(tǒng)組件集中至少添加一個其他操作系統(tǒng)組件。
47.根據(jù)權(quán)利要求
41所述的系統(tǒng),其特征在于操作系統(tǒng)組件修改包括將狀態(tài)信息寫入易失性存儲器。
48.根據(jù)權(quán)利要求
41所述的系統(tǒng),其特征在于在執(zhí)行應(yīng)用程序時,進(jìn)一步使一個或多個處理器執(zhí)行各種操作,包括生成簡化的操作系統(tǒng)映像。
49.根據(jù)權(quán)利要求
41所述的系統(tǒng),其特征在于在執(zhí)行應(yīng)用程序時,進(jìn)一步使一個或多個處理器執(zhí)行各種操作,包括至少創(chuàng)建一個配置單元。
50.根據(jù)權(quán)利要求
21的系統(tǒng),其中用于編輯的裝置包括一個文本界面。
專利摘要
一個創(chuàng)建和使用具有選定功能的操作系統(tǒng)(OS)映像的系統(tǒng)和方法。諸如個人計算機(jī)(PC)的原始設(shè)備制造商(OEM)或信息技術(shù)專業(yè)人士之類的用戶可以從安裝型0S映像中提供的許多OS組件中選擇一組OS組件。選定的該組OS組件作為OS映像可以安裝在計算機(jī)可讀的介質(zhì),如CD-ROM上。該OS映像包括一個腳本,用于與OS映像進(jìn)行交互以執(zhí)行用戶需要的功能,比如啟動一臺目標(biāo)計算機(jī)、安裝一個參考OS映像,或者從參考OS映像的失敗安裝中恢復(fù)目標(biāo)計算機(jī)。
文檔編號G06F9/445GKCN1315042SQ02140671
公開日2007年5月9日 申請日期2002年7月12日
發(fā)明者瑞安·伯卡特, 西薩雷曼·哈里卡里沙南, 湯姆·亞彥, 理查德·邦德, 維杰什·謝蒂, 維加亞謝德蘭·杰亞西蘭 申請人:微軟公司導(dǎo)出引文BiBTeX, EndNote, RefMan專利引用 (5),