專利名稱:置備計算機(jī)中存儲器的系統(tǒng)和方法
本公開一般說來是關(guān)于計算機(jī)的,更具體地說,是關(guān)于計算機(jī)中格式化和分區(qū)一個或多個存儲器的系統(tǒng)和方法。
當(dāng)將一個或多個存儲器,例如硬盤,加進(jìn)一個計算機(jī)系統(tǒng)中時,經(jīng)常要對存儲器進(jìn)行特定置備。這些置備可能包括,例如,將硬盤分區(qū)成不同的邏輯區(qū)域,以便將某些數(shù)據(jù)或程序分開地存放,以及同時將硬盤格式化,以便使其適應(yīng)于某一特定操作系統(tǒng)。生產(chǎn)一臺裝有華盛頓州萊特蒙德市的微軟公司的Microsoft DOS或WINDOWS操作系統(tǒng)的新電腦時通常出現(xiàn)一個共同的情況。在生產(chǎn)中首先將一個或多個硬盤分區(qū)成一個或多個區(qū)域,例如,基本分區(qū),內(nèi)裝計算機(jī)操作系統(tǒng)和其他應(yīng)用程序;實(shí)用分區(qū),內(nèi)裝實(shí)用和維護(hù)程序;以及擴(kuò)展分區(qū)等。當(dāng)將一個新硬盤加進(jìn)計算機(jī)系統(tǒng)或重新格式化某個硬盤時,也會出現(xiàn)這種情況。就目前所討論的“置備”一詞,包含分區(qū)和適當(dāng)?shù)母袷交^程。
置備一個或多個硬盤有多個相關(guān)變量,從而形成了多種硬盤的潛在結(jié)構(gòu)。這些變量有些由磁盤決定,例如,硬盤的數(shù)量和容量;有些由系統(tǒng)決定,例如,支持“懸掛到磁盤”操作時要求預(yù)留的空間或者要求實(shí)用分區(qū)中單獨(dú)的存儲區(qū)域;又有些是由用戶決定的,例如,操作系統(tǒng)或多個分區(qū)的選擇。所以,如此多樣的結(jié)構(gòu)給計算機(jī)生產(chǎn)者特別是給那些為特殊顧客按客戶要求制作計算機(jī)的生產(chǎn)者帶來了諸多麻煩。
一般地,必須觀察置備一個或多個硬盤的過程,根據(jù)上述的變量進(jìn)行多項(xiàng)選擇以生成最優(yōu)的結(jié)構(gòu)。因此,最好簡化和/或自動化該功能以使該處理更順暢。
有鑒于此,提供了一種置備計算機(jī)中存儲器的系統(tǒng)和方法。在一個實(shí)施例中,該計算機(jī)包括一處理器和計算機(jī)存儲器,該計算機(jī)存儲器可是硬盤。該處理器是能運(yùn)行操作系統(tǒng)碼、接受外部指示和能對硬盤存取的。在操作中,處理器運(yùn)行一組用于置備硬盤的操作碼。該操作碼組包括有接收外部指示的指令、確定硬盤結(jié)構(gòu)的指令、從外部指示或結(jié)構(gòu)生成分區(qū)描述符的指令和按照分區(qū)描述符置備硬盤的指令。
在一個實(shí)施例中,外部指示由指示文件接收,從而提供用于指導(dǎo)置備過程的指令。
另一個實(shí)施例中,外部指示在命令行中給出,從而提供用于指導(dǎo)置備過程的指令。
這種置備計算機(jī)中存儲器的系統(tǒng)和方法的技術(shù)優(yōu)勢在于;使置備計算機(jī)存儲器簡便和/或自動化,因而使該處理流水化。
另一個技術(shù)優(yōu)勢在于,指示能被改動以適應(yīng)計算機(jī)存儲器的特殊結(jié)構(gòu)。
另一個技術(shù)優(yōu)勢在于,一長串的指示可放被在一個指示文件中,因此簡化了其輸入步驟。
圖1是為了實(shí)施一個實(shí)施例的一計算機(jī)的方框圖。
圖2是圖1中的計算機(jī)硬盤的布局圖。
圖3是為了置備圖2中的硬盤的由圖1中計算機(jī)所運(yùn)行的例程的流程圖。
下面的公開中,作為參考包含了美國專利申請序號____(律師文檔號DC-1313),其名稱為“改變計算機(jī)存儲器中的分區(qū)映射成邏輯驅(qū)動器的系統(tǒng)和方法”,于1997年11月3日遞交且與本請共同轉(zhuǎn)讓。
參照附圖1,參考號碼10所代表的一臺計算機(jī)由以下幾個部件構(gòu)成一個處理器12,一排隨機(jī)存取存儲器(RAM)14a和只讀存儲器(ROM)14b,一個或多個硬盤(以硬盤16代表),以及一個網(wǎng)絡(luò)接口18。每個部件都能通過圖中號碼20所代表的總線與處理器12通信。在本例中計算機(jī)10是一臺運(yùn)行Microsoft DOS和/或WINDOWS操作系統(tǒng)的個人計算機(jī)。應(yīng)當(dāng)理解,計算機(jī)10和它的圖示的部件僅是許多被本領(lǐng)域技術(shù)人員公知的不同類型的的計算機(jī)及部件的代表。
參照附圖2,硬盤16中包含一個主引導(dǎo)記錄30,其中有引導(dǎo)碼32和一個主分區(qū)表34。在主引導(dǎo)記錄30中包含了些普通的碼,例如用來啟動計算機(jī)10,這些碼是本領(lǐng)域人員公知的。與硬盤16相關(guān)的是開始36和結(jié)尾38,它們一起代表每個硬盤的總存儲量。與硬盤16相關(guān)的還有其性能(未示出),例如硬盤是否支持BIOS擴(kuò)展或一個特殊要求的總線接口??赡苓€有附加的硬盤(圖中未示出),這些硬盤有相似或不同的物理結(jié)構(gòu)。
參照附圖3,方法100用于置備計算機(jī)10中的硬盤16。作為例子,方法100由處理器12完成,但也可能是由一個例如通過網(wǎng)絡(luò)接口18連入的別的裝置完成。方法100的具體操作舉例也在下面給出。
在步驟110中,處理器12接受一條或多條指示。每條指示為方法100提供如何完成置備硬盤16的導(dǎo)引和指令。處理器12可從指示文件110a中讀到指示。指示文件110a是一個ASCII文本文件,其中包括了用于方法100的指令,指令是一種特殊編寫語言的形式的。指示文件110a可通過網(wǎng)絡(luò)接口18或由硬盤16獲得?;蛘撸幚砥?2可作為命令行參數(shù)110b接收指令。命令行參數(shù)是當(dāng)方法100被執(zhí)行時提供給方法100的命令。
這些指示允許一個用戶必要地限定置備硬盤的所有方面,包括引導(dǎo)記錄文件說明書(例如,一個將包含主引導(dǎo)記錄30的文件名,一個16比特文件安放表(“FAT16”)分區(qū)引導(dǎo)記錄,和/或一個FAT32分區(qū)引導(dǎo)記錄),文件系統(tǒng)類型(如,F(xiàn)AT16和/或FAT32),分區(qū)大小(即兆字節(jié)的數(shù)量),等等。一旦指示準(zhǔn)備好,不需更多的用戶輸入。
在步驟112中,處理器12檢查接收的指示以確定它們是否一致。也就是,處理器12檢查指示的句法并保證沒有兩條指示會相互沖突。如果指示不一致,處理器12在步驟114產(chǎn)生一個錯誤信息。
在步驟116中,處理器12確定硬盤16的特性。繼續(xù)以DOS和/或WINDOWS操作系統(tǒng)為例,處理器12可用BIOS調(diào)用和擴(kuò)展來確定硬盤16的特性,包括諸如實(shí)際硬盤的數(shù)量(硬盤16代表一個或多個硬盤)、每個盤的參數(shù)以及每個盤的能力等。每個盤的參數(shù)可能包括柱面數(shù)量、磁頭數(shù)量和磁道數(shù)量。每個磁盤的能力可包括BIOS的支持水平。處理器12將物理結(jié)構(gòu)存于隨機(jī)存取存儲器(RAM)14a中。
方法100順序通過硬盤16所代表的每個盤來操作。在步驟118中,處理器12確定是否要置備下一硬盤。如果要置備,處理器12在步驟120中分析該盤的特性以及接收到的關(guān)于該盤的指示,來生成一個或多個分區(qū)描述符。這種分析可以有缺省,或者返回(fall-back)描述符以容置在接收到的描述符中未提供或不可能提供的置備細(xì)節(jié)。其他不可能會被認(rèn)為是一個錯誤且通知用戶。
在步驟122中,處理器12通過處理事先生成的分區(qū)描述符來置備硬盤16。具體地,通過提供引導(dǎo)碼32和根據(jù)在步驟120中生成的分區(qū)描述符準(zhǔn)備主分區(qū)表34,處理器12寫主引導(dǎo)記錄30。處理器12還生成一個或多個分區(qū)引導(dǎo)記錄(圖中未示出)和適當(dāng)?shù)奈募卜疟怼?br>
在步驟122的結(jié)束后,或者根據(jù)步驟118的否定結(jié)論,處理器12在步驟124中決定是否置備其他磁盤。如果置備,執(zhí)行返回到步驟118開始置備下一磁盤。否則,執(zhí)行步驟126,處理器12報告硬盤16的最后邏輯結(jié)構(gòu)。
為了更清楚起見,以下描述幾個可用方法100完成的舉例操作。應(yīng)明白,許多不同的操作是已有的,所以這些舉例并不想以任何方式限定權(quán)利要求。舉例1步驟110-112接收“置備硬盤并預(yù)留32兆字節(jié)”的指示。步驟116-118僅有一個容量為10千兆字節(jié)的硬盤16。步驟120硬盤的容量比需要預(yù)留的容量大足夠多。生成一個分區(qū)描述符容置接收到的指示。步驟122寫主引導(dǎo)記錄30和分區(qū)引導(dǎo)記錄,在硬盤16的尾端38附近預(yù)留出32兆字節(jié)。舉例2步驟110-112接收“置備硬盤并在第二個硬盤上生成一個10兆字節(jié)的實(shí)用分區(qū)”的指示。步驟116-118有兩個硬盤。其中第一個硬盤的容量為2千兆字節(jié)。步驟120第一個硬盤的容量大于預(yù)先定義的基本分區(qū)的最高限。生成一個分區(qū)描述符以容置接收到的指示。步驟122在第一個硬盤中生成主引導(dǎo)記錄30和基本分區(qū)引導(dǎo)記錄。
再生成一個擴(kuò)展分區(qū)引導(dǎo)記錄,擴(kuò)展分區(qū)占用剩下的可用容量。檢查每個分區(qū)的容量是否大于預(yù)定的最低限。步驟118第二個硬盤的容量為6千兆字節(jié)。步驟120第二個硬盤的容量比實(shí)用分區(qū)需要的容量大足夠多。生成一個分區(qū)描述符以容置接收到的指示。步驟122在第二個硬盤中寫主引導(dǎo)記錄30、基本分區(qū)引導(dǎo)記錄和一個實(shí)用分區(qū)引導(dǎo)記錄。舉例3步驟110-112接收“用缺省值置備硬盤”的指示。步驟116-118僅有一個容量為10千兆字節(jié)的硬盤16。步驟120硬盤的容量大于預(yù)先定義的基本分區(qū)的上限。生成一個分區(qū)描述符以容置接收到的指示。步驟122生成主引導(dǎo)記錄30和一個基本分區(qū)引導(dǎo)記錄。再生成一個擴(kuò)展分區(qū)引導(dǎo)記錄。擴(kuò)展分區(qū)占用剩下的可用容量。檢查每個分區(qū)的容量是否大于預(yù)定的最低限。舉例4步驟110-112接收“置備硬盤和不建立擴(kuò)展分區(qū)”的指示。步驟116-118有一個容量為2.1千兆字節(jié)的硬盤16。步驟120由于不要求附加分區(qū),僅建立一個2.1千兆字節(jié)的基本分區(qū)。生成一個分區(qū)描述符以容置接收到的指示。步驟122建立主引導(dǎo)記錄30和一個基本分區(qū)引導(dǎo)記錄。剩下的100兆字節(jié)未被格式化。舉例5步驟110-112接收“置備硬盤和建立一個擴(kuò)展分區(qū)”的指令。步驟116-118有一個容量為2.1千兆字節(jié)的硬盤16。步驟120由于要求一個擴(kuò)展分區(qū),并且最小分區(qū)容量是500兆字節(jié),將建立一個1.6千兆字節(jié)的基本分區(qū)和一個500兆字節(jié)的擴(kuò)展分區(qū)。生成一個分區(qū)描述符以容置接收到的指示。步驟122建立主引導(dǎo)區(qū)記錄30和兩個附加引導(dǎo)記錄一個用于基本分區(qū),一個用于擴(kuò)展分區(qū)。舉例6步驟110-112接收到“設(shè)置磁盤為一個網(wǎng)絡(luò)服務(wù)器”和“建立一個1.6千兆字節(jié)的基本分區(qū)”的指示。步驟116-118有一個容量為2.0千兆字節(jié)的硬盤16。步驟120由于網(wǎng)絡(luò)服務(wù)器要求至少一個500兆字節(jié)的擴(kuò)展分區(qū),沒有足夠的磁盤空間來容置該兩個指示。1.6千兆字節(jié)基本分區(qū)減少到1.5千兆字節(jié)。生成一個分區(qū)描述符以容置接收到的指示。步驟122建立主引導(dǎo)記錄30和兩個附加引導(dǎo)記錄一個用于基本分區(qū),一個用于擴(kuò)展分區(qū)。報告該修改。舉例7步驟110-112接收到一條“置備包括一個FAT32分區(qū)的硬盤”的指示。步驟116-118有一個容量為1.8千兆字節(jié)的硬盤16。步驟120由于一個FAT32分區(qū)需要至少2.0千兆字節(jié),沒有足夠的磁盤空間來容置該兩個指示?;痉謪^(qū)減少到1.8千兆字節(jié)FAT16分區(qū)。生成一個分區(qū)描述符以容置接收到的指示。步驟122建立主引導(dǎo)記錄30和FAT16基本分區(qū)引導(dǎo)記錄。
雖然說明性的實(shí)施例已被示出和描述,許多修正、改變和替代也意在包括于上述的公開中,在某些例子中,引入某些特征不必使用其他特征。此外,附加特征,例如錯誤處理例程,可被加到所說明的實(shí)施例中而不改變該實(shí)施例的范圍。因此,應(yīng)對所附權(quán)利要求廣義地理解。
權(quán)利要求
1.一種計算機(jī),包括至少一個處理器,能運(yùn)行操作碼和接收外部指示至少一個可被該處理器存取的存儲器;一組操作碼,用于置備該至少一個存儲器;其中這組操作碼包含用于確定該至少一個存儲器的結(jié)構(gòu)的指令,用于接收至少一個外部指示的指令,和用于按照該指示置備該至少一個存儲器的指令。
2.權(quán)利要求1中所述的計算機(jī),其中至少一條指示是從一個包括一條附加指示的文件中接收的。
3.權(quán)利要求1中所述的計算機(jī),其中該處理器通過一命令行接收至少一條指示。
4.權(quán)利要求1中所述的計算機(jī),進(jìn)一步包括一個網(wǎng)絡(luò)連接且其中至少一條指示通過網(wǎng)絡(luò)連接接收。
5.權(quán)利要求1中所述的計算機(jī),進(jìn)一步包括一個軟盤且其中至少一條指示通過軟盤接收。
6.權(quán)利要求1中所述的計算機(jī),其中至少一條指示定義了該至少一個存儲器中的一個分區(qū)結(jié)構(gòu)。
7.一種置備一部計算機(jī)中的一個存儲器的方法,此方法包括步驟接收多條指示;確定該存儲器的結(jié)構(gòu);比較該指示和結(jié)構(gòu);以及如果結(jié)構(gòu)和指示的比較被允許,則根據(jù)指示生成分區(qū)描述符;以及按照分區(qū)描述符置備該存儲器。
8.權(quán)利要求7中所述的方法,進(jìn)一步包括如果結(jié)構(gòu)和指示的比較不被允許,則根據(jù)結(jié)構(gòu)生成分區(qū)描述符。
9.權(quán)利要求7中所述的方法,其中指示是從一個文件接收的。
10.權(quán)利要求7中所述的方法,其中指示是從一個操作系統(tǒng)命令行接收的。
11.權(quán)利要求7中所述的方法,其中計算機(jī)包含一個網(wǎng)絡(luò)連接,并且其中指示是通過網(wǎng)絡(luò)連接接收到的。
12.權(quán)利要求7中所述的方法,其中計算機(jī)包含一個軟盤,并且其中指示是通過軟盤接收到的。
13.權(quán)利要求7中所述的方法,其中指示定義了存儲器的一個分區(qū)結(jié)構(gòu)。
14.一種置備計算機(jī)中的兩個或多個存儲器的方法,此方法包括步驟接收關(guān)于第一個存儲器的第一指示;確定第一存儲器的第一結(jié)構(gòu);比較第一指示和第一結(jié)構(gòu);并且如果第一結(jié)構(gòu)和第一指令的比較被允許,則根據(jù)第一指示生成一個分區(qū)描述符;如果第一結(jié)構(gòu)和第一指示的比較不被允許,則根據(jù)該結(jié)構(gòu)生成分區(qū)描述符;按照分區(qū)描述符置備第一存儲器;并且對第二指示和第二存儲器重復(fù)上述步驟。
15.權(quán)利要求14中所述的方法,其中指示是從一個文件接收來的。
16.權(quán)利要求14中所述的方法,其中指示是從一個操作系統(tǒng)命令行接收來的。
17.權(quán)利要求14中所述的方法,其中計算機(jī)包含一個網(wǎng)絡(luò)連接,并且其中指示是通過網(wǎng)絡(luò)連接接收到的。
18.權(quán)利要求14中所述的方法,其中計算機(jī)包含一個軟盤,并且其中指示是通過軟盤接收到的。
19.一個程序產(chǎn)品,用于置備計算機(jī)中的一個或多個硬盤,此程序產(chǎn)品包括一個計算機(jī)可讀的存儲媒體;記錄在媒體上的用于確定第一硬盤的結(jié)構(gòu)的指令;記錄在媒體上的用于接收第一指示的指令;記錄在媒體上的用于按照該結(jié)構(gòu)和指示生成一分區(qū)描述符的指令;以及記錄在媒體上的用于用分區(qū)描述符置備第一硬盤的指令。
20.權(quán)利要求19中所述的程序產(chǎn)品,還包括記錄在媒體上的用于從一個文件中讀取該第一指示的指令。
21.權(quán)利要求20中所述的程序產(chǎn)品,其中計算機(jī)包括第二硬盤,并且其中文件包含有用于置備第二硬盤的第二指示。
22.權(quán)利要求19中所述的程序產(chǎn)品,還包括記錄在媒體上的用于從一命令行中讀取第一指示的指令。
23.權(quán)利要求19中所述的程序產(chǎn)品,還包括記錄在媒體上的用于從一個網(wǎng)絡(luò)連接讀取第一指示的指令。
全文摘要
置備一部計算機(jī)中存儲器的系統(tǒng)和方法。在一個實(shí)施例中,計算機(jī)包括處理器和計算機(jī)存儲器,后者可是硬盤。處理器能運(yùn)行操作系統(tǒng)碼、接受外部指示和對硬盤讀寫。在操作中,處理器運(yùn)行一組用于置備硬盤的操作碼。該碼組包括用于接收外部指示的指令、用于確定硬盤結(jié)構(gòu)的指令、用于從外部指示和/或硬盤結(jié)構(gòu)中生成分區(qū)描述符的指令和用于按照分區(qū)描述符置備硬盤的指令。
文檔編號G06F12/00GK1224194SQ9812671
公開日1999年7月28日 申請日期1998年12月30日 優(yōu)先權(quán)日1998年12月30日
發(fā)明者阿蘭·E·貝利茨 申請人:戴爾美國公司