專利名稱:使用獨(dú)立磁盤冗余陣列的計(jì)算機(jī)系統(tǒng)的開機(jī)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種使用獨(dú)立磁盤冗余陣列的計(jì)算機(jī)系統(tǒng)的開機(jī)方法,特別是有關(guān)于 一種根據(jù)計(jì)算機(jī)系統(tǒng)的硬盤屬性數(shù)據(jù)進(jìn)行開機(jī)程序的方法。
背景技術(shù):
獨(dú)立磁盤冗余陣列(Redundant Array of Independent Disks,RAID)是一種管理 數(shù)據(jù)儲存空間的技術(shù),可以軟件或硬件達(dá)成,其不僅將多個(gè)小容量的硬盤整合為一大容量 的硬盤,并且提供數(shù)據(jù)保護(hù)的功能。獨(dú)立磁盤冗余陣列技術(shù)廣泛應(yīng)用于需要多個(gè)硬盤的計(jì) 算機(jī)系統(tǒng)中,如網(wǎng)絡(luò)儲存系統(tǒng)(NetworkAttached Storage, NAQ。獨(dú)立磁盤冗余陣列技術(shù) 分為不同等級,如RAID-0、RAID-U RAID-5、RAID-6等。獨(dú)立磁盤冗余陣列技術(shù)RAID-O稱 為等量模式,是將計(jì)算機(jī)系統(tǒng)中的每一硬盤切割為等量的區(qū)塊,于每一硬盤中取固定大小 的區(qū)塊組成一數(shù)據(jù)卷(DataVolume),當(dāng)有數(shù)據(jù)欲儲存于計(jì)算機(jī)系統(tǒng)時(shí),獨(dú)立磁盤冗余陣列 技術(shù)RAID-O根據(jù)計(jì)算機(jī)系統(tǒng)中硬盤的數(shù)量,將數(shù)據(jù)分段寫入數(shù)據(jù)卷。由于數(shù)據(jù)平均分散于 多個(gè)硬盤,使用獨(dú)立磁盤冗余陣列技術(shù)RAID-O時(shí)的數(shù)據(jù)傳輸速率以硬盤的數(shù)量倍增。獨(dú)立 磁盤冗余陣列技術(shù)RAID-O沒有備份功能,當(dāng)計(jì)算機(jī)系統(tǒng)中任何一個(gè)硬盤無法使用,所有的 數(shù)據(jù)都會(huì)丟失。獨(dú)立磁盤冗余陣列技術(shù)RAID-I稱為鏡射模式,是在寫入數(shù)據(jù)至計(jì)算機(jī)系統(tǒng) 的主硬盤的同時(shí),也寫入相同數(shù)據(jù)至鏡射硬盤。獨(dú)立磁盤冗余陣列技術(shù)RAID-I所進(jìn)行的完 整備份動(dòng)作,使得主硬盤損壞時(shí),鏡射硬盤能夠代替主硬盤的工作。網(wǎng)絡(luò)儲存系統(tǒng)是一種通過網(wǎng)絡(luò)提供不同計(jì)算機(jī)系統(tǒng)間進(jìn)行檔案存取及管理的儲 存設(shè)備。由于數(shù)據(jù)存放在網(wǎng)絡(luò)儲存系統(tǒng)而非網(wǎng)絡(luò)服務(wù)器中,使用數(shù)據(jù)存取服務(wù)的時(shí)間不受 到網(wǎng)絡(luò)服務(wù)器的電源關(guān)閉所限制,并且檔案數(shù)據(jù)也更容易管理。以網(wǎng)絡(luò)儲存系統(tǒng)為例,公 知網(wǎng)絡(luò)儲存系統(tǒng)使用軟件方式的獨(dú)立磁盤冗余陣列技術(shù)RAID-I管理網(wǎng)絡(luò)儲存系統(tǒng)中的操 作系統(tǒng)數(shù)據(jù),然而,當(dāng)使用二個(gè)均以獨(dú)立磁盤冗余陣列技術(shù)RAID-I管理的網(wǎng)絡(luò)儲存系統(tǒng)A 與網(wǎng)絡(luò)儲存系統(tǒng)B時(shí),若使用者將網(wǎng)絡(luò)儲存系統(tǒng)B的一個(gè)硬盤取下,放置到網(wǎng)絡(luò)儲存系統(tǒng)A 時(shí),網(wǎng)絡(luò)儲存系統(tǒng)A無法辨認(rèn)出新增的硬盤是來自于自身以外的網(wǎng)絡(luò)儲存系統(tǒng),且由于獨(dú) 立磁盤冗余陣列技術(shù)RAID-I的鏡射特性,網(wǎng)絡(luò)儲存系統(tǒng)A中存放的操作系統(tǒng)數(shù)據(jù)與新增的 網(wǎng)絡(luò)儲存系統(tǒng)B的硬盤中存放的操作系統(tǒng)數(shù)據(jù)可能會(huì)相互干擾,相關(guān)描述可以圖1及圖2 表不。在圖1及圖2中,網(wǎng)絡(luò)儲存系統(tǒng)A及網(wǎng)絡(luò)儲存系統(tǒng)B可分別容納四個(gè)硬盤,斜線區(qū) 域表示網(wǎng)絡(luò)儲存系統(tǒng)B的硬盤操作系統(tǒng)區(qū)塊,格狀區(qū)域表示網(wǎng)絡(luò)儲存系統(tǒng)A的硬盤操作系 統(tǒng)區(qū)塊。圖1描述一硬盤10 (于附圖中僅描述其操作系統(tǒng)區(qū)塊)由網(wǎng)絡(luò)儲存系統(tǒng)B取下, 放置到網(wǎng)絡(luò)儲存系統(tǒng)A,并且網(wǎng)絡(luò)儲存系統(tǒng)A使用新增的硬盤10作為開機(jī)硬盤,此時(shí)儲存 于硬盤10的網(wǎng)絡(luò)儲存系統(tǒng)B的操作系統(tǒng)數(shù)據(jù)復(fù)寫(Copy)至網(wǎng)絡(luò)儲存系統(tǒng)A的所有操作系 統(tǒng)區(qū)塊;換言之,網(wǎng)絡(luò)儲存系統(tǒng)A的操作系統(tǒng)數(shù)據(jù)被網(wǎng)絡(luò)儲存系統(tǒng)B的操作系統(tǒng)數(shù)據(jù)同步。 如此一來,網(wǎng)絡(luò)儲存系統(tǒng)A中除硬盤10以外的其它硬盤,將因?yàn)椴僮飨到y(tǒng)數(shù)據(jù)與硬盤不匹 配而無法完成開機(jī)程序。圖2描述硬盤10由網(wǎng)絡(luò)儲存系統(tǒng)B取下,放置到網(wǎng)絡(luò)儲存系統(tǒng)A,并且網(wǎng)絡(luò)儲存系統(tǒng)A使用自身的硬盤作為開機(jī)硬盤,此時(shí)網(wǎng)絡(luò)儲存系統(tǒng)A的硬盤的操作系 統(tǒng)數(shù)據(jù)復(fù)寫至硬盤10的操作系統(tǒng)區(qū)塊;換言之,硬盤10原本儲存的網(wǎng)絡(luò)儲存系統(tǒng)B的操作 系統(tǒng)數(shù)據(jù),被網(wǎng)絡(luò)儲存系統(tǒng)A的操作系統(tǒng)數(shù)據(jù)同步。在圖2的情形下,若使用者取出硬盤10 再放回網(wǎng)絡(luò)儲存系統(tǒng)B,儲存于硬盤10的網(wǎng)絡(luò)儲存系統(tǒng)A的操作系統(tǒng)數(shù)據(jù),可能會(huì)復(fù)寫至網(wǎng) 絡(luò)儲存系統(tǒng)B中其它硬盤的操作系統(tǒng)區(qū)塊,導(dǎo)致操作系統(tǒng)數(shù)據(jù)與硬盤不匹配,無法完成開 機(jī)程序。此外,由于獨(dú)立磁盤冗余陣列技術(shù)RAID-O是將數(shù)據(jù)均分儲存于所有硬盤,無備份 功能,當(dāng)網(wǎng)絡(luò)儲存系統(tǒng)在其中一個(gè)硬盤未鎖緊的情形下進(jìn)行開機(jī)程序,正常安裝的硬盤的 操作系統(tǒng)數(shù)據(jù)會(huì)隨開機(jī)程序而被更新,而未鎖緊的硬盤將無法被辨識。之后,即使將松脫的 硬盤鎖緊并再次開機(jī),由于此硬盤的操作系統(tǒng)數(shù)據(jù)與其它正常安裝的硬盤的操作系統(tǒng)數(shù)據(jù) 已不相同,導(dǎo)致網(wǎng)絡(luò)儲存系統(tǒng)無法辨識此硬盤,網(wǎng)絡(luò)儲存系統(tǒng)所有的數(shù)據(jù)卷等于是損毀狀 態(tài)。簡言之,若二個(gè)皆使用獨(dú)立磁盤冗余陣列技術(shù)RAID-I的網(wǎng)絡(luò)儲存系統(tǒng)之間發(fā)生 硬盤抽換的動(dòng)作,獨(dú)立磁盤冗余陣列技術(shù)RAID-I的鏡射特性可能造成二個(gè)網(wǎng)絡(luò)儲存系統(tǒng) 中的操作系統(tǒng)數(shù)據(jù)相互復(fù)寫,使得網(wǎng)絡(luò)儲存系統(tǒng)無法辨認(rèn)其中部分硬盤而無法完成開機(jī)程 序;另一方面,若網(wǎng)絡(luò)儲存系統(tǒng)在有硬盤未正常連接的情形下進(jìn)行開機(jī)程序,根據(jù)獨(dú)立磁盤 冗余陣列技術(shù)RAID-O所產(chǎn)生的數(shù)據(jù)卷可能會(huì)損毀,即使重新鎖緊硬盤,使用者也無法存取 數(shù)據(jù)卷。上述問題可能發(fā)生在所有使用獨(dú)立磁盤冗余陣列技術(shù)的計(jì)算機(jī)系統(tǒng)上,降低了計(jì) 算機(jī)系統(tǒng)使用硬盤的穩(wěn)定性。
發(fā)明內(nèi)容
因此,本發(fā)明的主要目的即在于提供一種用于使用獨(dú)立磁盤冗余陣列管理硬盤的 計(jì)算機(jī)系統(tǒng)的開機(jī)方法。本發(fā)明涉及一種用于使用獨(dú)立磁盤冗余陣列管理硬盤的計(jì)算機(jī)系統(tǒng)的開機(jī)方法, 包含有檢查目前設(shè)于計(jì)算機(jī)系統(tǒng)中的第一數(shù)量個(gè)硬盤其中一硬盤所儲存的標(biāo)識符,是否為 計(jì)算機(jī)系統(tǒng)所記錄的多個(gè)標(biāo)識符之一,多個(gè)標(biāo)識符彼此相異,對應(yīng)于計(jì)算機(jī)系統(tǒng)所有可使 用的硬盤;以及于確認(rèn)硬盤所儲存的標(biāo)識符為計(jì)算機(jī)系統(tǒng)所記錄的多個(gè)標(biāo)識符之一后,進(jìn) 行一標(biāo)識符更新程序,以更新該計(jì)算機(jī)系統(tǒng)所記錄的多個(gè)標(biāo)識符及第一數(shù)量個(gè)硬盤所儲存 的第一數(shù)量個(gè)標(biāo)識符。
圖1及圖2是公知二個(gè)網(wǎng)絡(luò)儲存系統(tǒng)系統(tǒng)中的操作系統(tǒng)數(shù)據(jù)相互干擾的示意圖。圖3是本發(fā)明實(shí)施例一硬盤元數(shù)據(jù)的示意圖。圖4是本發(fā)明實(shí)施例用于計(jì)算機(jī)系統(tǒng)的一開機(jī)流程的示意圖。圖5是本發(fā)明實(shí)施例用來更新硬盤所儲存的標(biāo)識符的一流程的示意圖。圖6是本發(fā)明實(shí)施例用來更新硬盤所儲存的操作系統(tǒng)數(shù)據(jù)的時(shí)間信息的一流程 的示意圖。圖7是本發(fā)明實(shí)施例用來更新包含使用者專用的數(shù)據(jù)卷的硬盤數(shù)量的一流程的 示意圖。
其中,附圖標(biāo)記說明如下10 40、50、60、70
硬盤 流程400、402、404、406、408、410、412、414、416、步驟418、420、500、502、504、506、508、510、512、514、516、600、602、604、606、608、610、612、614、700、702、704、706、708、710、712、714、716、718、720、72具體實(shí)施例方式本發(fā)明用于使用獨(dú)立磁盤冗余陣列(Redundant Array of IndependentDisks, RAID)技術(shù)并具有可抽換式硬盤的計(jì)算機(jī)系統(tǒng),例如網(wǎng)絡(luò)儲存系統(tǒng)(Network Attached Storage, NAQ,后文所述的硬盤皆是可抽換式硬盤的簡稱。本發(fā)明定義一硬盤元數(shù)據(jù) (Metadata),用來做為計(jì)算機(jī)系統(tǒng)硬盤的屬性數(shù)據(jù)及相關(guān)信息,并根據(jù)硬盤元數(shù)據(jù)進(jìn)行計(jì) 算機(jī)系統(tǒng)的開機(jī)程序,以避免公知技術(shù)中因計(jì)算機(jī)系統(tǒng)無法辨認(rèn)硬盤而導(dǎo)致開機(jī)程序失敗 或數(shù)據(jù)卷(DataVolume)損毀的問題。請參考圖3,圖3是本發(fā)明實(shí)施例一硬盤元數(shù)據(jù)的示意圖。圖3的硬盤元數(shù)據(jù)的 格式是一連續(xù)字符串,依序包含標(biāo)識數(shù)據(jù)、數(shù)量數(shù)據(jù)及時(shí)間數(shù)據(jù)。其中,標(biāo)識數(shù)據(jù)等於硬盤 的標(biāo)識符,用以辨認(rèn)一硬盤是計(jì)算機(jī)系統(tǒng)自身的硬盤或是外來硬盤,可以是硬盤的媒體存 取控制層(Medium Access Control, MAC)地址、由32個(gè)16進(jìn)位數(shù)字所組成的通用唯一標(biāo) 識符(Universally UniqueIdentif ier,UUID)或其它隨機(jī)產(chǎn)生的長字符串,只要能夠使每 一硬盤的標(biāo)識數(shù)據(jù)具有唯一性即可。數(shù)量數(shù)據(jù)是目前計(jì)算機(jī)系統(tǒng)中包含使用者專用的數(shù)據(jù) 卷(Data Volume)的硬盤數(shù)量。時(shí)間數(shù)據(jù)則是有關(guān)操作系統(tǒng)寫入硬盤的先后順序的時(shí)間信 息,以避免時(shí)間設(shè)定變更后無法判斷操作系統(tǒng)數(shù)據(jù)新舊的狀況。時(shí)間數(shù)據(jù)于每次計(jì)算機(jī)系 統(tǒng)開機(jī)或有硬盤加入計(jì)算機(jī)系統(tǒng)時(shí)改變,時(shí)間數(shù)據(jù)的值在本發(fā)明一實(shí)施例中是以一遞增形 式表現(xiàn);時(shí)間數(shù)據(jù)的值越大,表示硬盤所儲存的操作系統(tǒng)數(shù)據(jù)越新。在此請注意,圖3的硬 盤元數(shù)據(jù)僅是本發(fā)明的一實(shí)施例,于本發(fā)明其它實(shí)施例中,標(biāo)識數(shù)據(jù)、數(shù)量數(shù)據(jù)及時(shí)間數(shù)據(jù) 的順序可作其它安排,且標(biāo)識數(shù)據(jù)、數(shù)量數(shù)據(jù)及時(shí)間數(shù)據(jù)的長度不限,可視需要設(shè)計(jì)。此外, 計(jì)算機(jī)系統(tǒng)在硬盤上建立硬盤元數(shù)據(jù)時(shí),亦可將標(biāo)識數(shù)據(jù)、數(shù)量數(shù)據(jù)及時(shí)間數(shù)據(jù)存放在不 連續(xù)的內(nèi)存區(qū)塊。而為了避免硬盤出現(xiàn)故障區(qū)塊(Bad Block)導(dǎo)致計(jì)算機(jī)系統(tǒng)無法順利完 成開機(jī),本發(fā)明在儲存硬盤元數(shù)據(jù)時(shí),同步儲存一備份硬盤元數(shù)據(jù),當(dāng)硬盤元數(shù)據(jù)變更時(shí), 備份硬盤元數(shù)據(jù)亦將一并更新。請參考圖4,圖4為本發(fā)明實(shí)施例用于以獨(dú)立磁盤冗余陣列技術(shù)管理硬盤的計(jì)算 機(jī)系統(tǒng)的一流程40的示意圖,流程40是計(jì)算機(jī)系統(tǒng)的開機(jī)流程,其中揭示了計(jì)算機(jī)系統(tǒng)如 何建立及使用硬盤元數(shù)據(jù),計(jì)算機(jī)系統(tǒng)中可設(shè)置一個(gè)以上的硬盤。流程40包含有以下步 驟步驟400:開始。步驟402 判斷系統(tǒng)初始化是否已完成。若是,進(jìn)行步驟410 ;若否,進(jìn)行步驟404。步驟404 建立每一硬盤的硬盤元數(shù)據(jù)。
步驟406 判斷系統(tǒng)初始化是否成功進(jìn)行。若是,回到步驟400 ;若否,進(jìn)行步驟 408。步驟408 產(chǎn)生一第一提示信息,以告知系統(tǒng)初始化失敗。步驟410 檢查目前設(shè)于計(jì)算機(jī)系統(tǒng)的一硬盤所儲存的標(biāo)識符是否是計(jì)算機(jī)系統(tǒng) 所記錄的標(biāo)識符之一。若是,進(jìn)行步驟414 ;若否,進(jìn)行步驟412。步驟412 禁止該硬盤做為開機(jī)硬盤;回到步驟410,對另一硬盤進(jìn)行檢查。步驟414:檢查該硬盤所儲存的操作系統(tǒng)數(shù)據(jù)的時(shí)間信息,是否是計(jì)算機(jī)系統(tǒng)中 所有硬盤所儲存的操作系統(tǒng)數(shù)據(jù)的時(shí)間信息中最新的。若是,進(jìn)行步驟416 ;若否,進(jìn)行步 驟 412。步驟416 檢查每一硬盤所儲存的包含使用者專用的數(shù)據(jù)卷的硬盤數(shù)量是否與計(jì) 算機(jī)系統(tǒng)正在使用的硬盤數(shù)量相等,以產(chǎn)生一第一檢查結(jié)果,以及檢查每一硬盤所儲存的 包含使用者專用的數(shù)據(jù)卷的硬盤數(shù)量是否皆相等,以產(chǎn)生一第二檢查結(jié)果。若第一及第二 檢查結(jié)果皆顯示相等,進(jìn)行步驟420;若任一檢查結(jié)果顯示不相等,進(jìn)行步驟418。步驟418 產(chǎn)生一第二提示信息,以告知數(shù)據(jù)卷可能損毀。步驟420:結(jié)束。步驟402至步驟408的系統(tǒng)初始化動(dòng)作的目的,在于讓全新尚未使用的計(jì)算機(jī)系 統(tǒng)也能使用流程40。系統(tǒng)初始化僅進(jìn)行一次,其中步驟404用來建立目前于計(jì)算機(jī)系統(tǒng)中 每一硬盤的硬盤元數(shù)據(jù),包含標(biāo)識數(shù)據(jù)、數(shù)量數(shù)據(jù)及時(shí)間數(shù)據(jù)。在硬盤上建立硬盤元數(shù)據(jù)的 同時(shí),計(jì)算機(jī)系統(tǒng)將各個(gè)硬盤的標(biāo)識數(shù)據(jù)記錄于計(jì)算機(jī)系統(tǒng)的主機(jī)板上的非揮發(fā)性內(nèi)存, 例如NAND型閃存。計(jì)算機(jī)系統(tǒng)所記錄的標(biāo)識數(shù)據(jù)的數(shù)量與計(jì)算機(jī)系統(tǒng)曾經(jīng)使用過多少個(gè) 硬盤有關(guān),不僅只記錄目前設(shè)于計(jì)算機(jī)系統(tǒng)的硬盤的標(biāo)識數(shù)據(jù)。由于進(jìn)行初始化的計(jì)算機(jī)系統(tǒng)尚未使用,因此數(shù)量數(shù)據(jù)的初始值為0,時(shí)間數(shù)據(jù)亦 有一初始值。若計(jì)算機(jī)系統(tǒng)成功地初始化,計(jì)算機(jī)系統(tǒng)進(jìn)行步驟410,檢查一硬盤H所儲存 的標(biāo)識數(shù)據(jù)是否為計(jì)算機(jī)系統(tǒng)所記錄的多個(gè)標(biāo)識數(shù)據(jù)之一。若初始化失敗,計(jì)算機(jī)系統(tǒng)產(chǎn) 生提示信息,告知使用者系統(tǒng)初始化失敗。使用者得知初始化失敗后,可將計(jì)算機(jī)系統(tǒng)重新 格式化,并再次進(jìn)行流程40。由于使用者得知初始化失敗后的后續(xù)步驟非本發(fā)明主要保護(hù) 的范圍,在此不詳述。以另一角度而言,若確知計(jì)算機(jī)系統(tǒng)已經(jīng)初始化完成并且建立了硬盤 元數(shù)據(jù),計(jì)算機(jī)系統(tǒng)可忽略步驟402至步驟408的系統(tǒng)初始化動(dòng)作,直接由步驟410開始執(zhí) 行流程40。當(dāng)計(jì)算機(jī)系統(tǒng)進(jìn)行步驟410,檢查發(fā)現(xiàn)硬盤H所儲存的標(biāo)識數(shù)據(jù)不是計(jì)算機(jī)系統(tǒng) 所記錄的標(biāo)識數(shù)據(jù)之一,可知硬盤H不是自身的硬盤,因?yàn)橛脖PH的硬盤元數(shù)據(jù)不是由計(jì)算 機(jī)系統(tǒng)所建立。換言之,硬盤H是來自他處(可能是其它計(jì)算機(jī)系統(tǒng))的硬盤,于是計(jì)算機(jī) 系統(tǒng)進(jìn)行步驟412,禁止硬盤H作為開機(jī)硬盤。如此一來,如圖1所示其它計(jì)算機(jī)系統(tǒng)的操 作系統(tǒng)數(shù)據(jù)復(fù)寫至計(jì)算機(jī)系統(tǒng)自身硬盤的操作系統(tǒng)區(qū)塊的問題不會(huì)發(fā)生,計(jì)算機(jī)系統(tǒng)的開 機(jī)程序能繼續(xù)進(jìn)行。當(dāng)計(jì)算機(jī)系統(tǒng)得知硬盤H不是自身的硬盤后,便回到步驟410,繼續(xù)檢 查其它硬盤的標(biāo)識數(shù)據(jù),以提高辨認(rèn)開機(jī)硬盤的效率。另一方面,當(dāng)計(jì)算機(jī)系統(tǒng)檢查發(fā)現(xiàn)硬盤H所儲存的標(biāo)識數(shù)據(jù)是計(jì)算機(jī)系統(tǒng)所記錄 的標(biāo)識數(shù)據(jù)之一,可知硬盤H是計(jì)算機(jī)系統(tǒng)自身的硬盤,但不表示硬盤H —定能做為開機(jī) 硬盤。計(jì)算機(jī)系統(tǒng)須進(jìn)行步驟414,檢查硬盤H所儲存的操作系統(tǒng)數(shù)據(jù)的時(shí)間信息,是否是計(jì)算機(jī)系統(tǒng)中所有硬盤所儲存的操作系統(tǒng)數(shù)據(jù)的時(shí)間信息中最新的;換言之,即檢查硬盤 H所儲存的時(shí)間數(shù)據(jù)的值,是否是計(jì)算機(jī)系統(tǒng)中所有硬盤所儲存的時(shí)間數(shù)據(jù)的值中的最大 值。若計(jì)算機(jī)系統(tǒng)檢查得知硬盤H所儲存的時(shí)間數(shù)據(jù)的值是所有硬盤所儲存的時(shí)間數(shù)據(jù)的 值中的最大值,表示計(jì)算機(jī)系統(tǒng)若以硬盤H做為開機(jī)硬盤,能夠開機(jī)成功,此時(shí)計(jì)算機(jī)系統(tǒng) 進(jìn)行步驟416。若計(jì)算機(jī)系統(tǒng)檢查得知硬盤H所儲存的時(shí)間數(shù)據(jù)的值不是最大值,計(jì)算機(jī)系 統(tǒng)進(jìn)行步驟412,禁止硬盤H做為開機(jī)硬盤,并且繼續(xù)檢查其它硬盤的標(biāo)識數(shù)據(jù)。舉例來說,假設(shè)計(jì)算機(jī)系統(tǒng)包含硬盤H在內(nèi)共有4個(gè)硬盤,當(dāng)計(jì)算機(jī)系統(tǒng)檢查得知 硬盤H所儲存的時(shí)間數(shù)據(jù)的值是100,其它硬盤所儲存的時(shí)間數(shù)據(jù)的值是100、100、60,表示 硬盤H具有最新的操作系統(tǒng)數(shù)據(jù),可做為開機(jī)硬盤。相對地,當(dāng)硬盤H所儲存的時(shí)間數(shù)據(jù)的 值是60,其它硬盤所儲存的時(shí)間數(shù)據(jù)的值皆是100,可知硬盤H所儲存的操作系統(tǒng)數(shù)據(jù)比其 它硬盤所儲存的操作系統(tǒng)數(shù)據(jù)更老舊,可能是久未使用,因此計(jì)算機(jī)系統(tǒng)禁止硬盤H做為 開機(jī)硬盤,避免舊操作系統(tǒng)數(shù)據(jù)復(fù)寫至具有最新操作系統(tǒng)數(shù)據(jù)的硬盤。步驟410、步驟412及步驟414可歸納為一步驟根據(jù)硬盤元數(shù)據(jù)所攜帶的硬盤標(biāo) 識符及操作系統(tǒng)數(shù)據(jù)的時(shí)間信息,尋找可用來開機(jī)的硬盤。在每一硬盤進(jìn)行標(biāo)識數(shù)據(jù)檢查 或時(shí)間數(shù)據(jù)檢查后,計(jì)算機(jī)系統(tǒng)進(jìn)行步驟416,檢查每一硬盤的數(shù)量數(shù)據(jù),即目前計(jì)算機(jī)系 統(tǒng)中包含使用者專用的數(shù)據(jù)卷的硬盤數(shù)量。請注意,使用者不一定會(huì)使用目前設(shè)于計(jì)算機(jī) 系統(tǒng)中的全部硬盤來建立數(shù)據(jù)卷,因此包含使用者專用的數(shù)據(jù)卷的硬盤數(shù)量,與計(jì)算機(jī)系 統(tǒng)中全部硬盤的數(shù)量不一定相等。數(shù)量數(shù)據(jù)檢查分為兩部分,其一是檢查每一硬盤所儲存的數(shù)量數(shù)據(jù)的值是否與計(jì) 算機(jī)系統(tǒng)正在使用的硬盤數(shù)量相等;其二是檢查每一硬盤所儲存的數(shù)量數(shù)據(jù)的值是否彼此 相等。步驟416可避免計(jì)算機(jī)系統(tǒng)在有硬盤松脫的情形下進(jìn)行開機(jī)程序,導(dǎo)致數(shù)據(jù)卷損毀 的問題。若步驟416產(chǎn)生的第一及第二檢查結(jié)果皆顯示相等,表示計(jì)算機(jī)系統(tǒng)成功地開機(jī), 此時(shí)計(jì)算機(jī)系統(tǒng)結(jié)束流程40。若步驟416產(chǎn)生的任何一個(gè)檢查結(jié)果顯示不相等,計(jì)算機(jī)系 統(tǒng)根據(jù)步驟418,產(chǎn)生提示信息,告知使用者數(shù)據(jù)卷可能損毀。舉例來說,當(dāng)硬盤H及其它硬盤所儲存的數(shù)量數(shù)據(jù)的值皆是4,并且計(jì)算機(jī)系統(tǒng)中 正在使用的硬盤數(shù)量也是4,表示計(jì)算機(jī)系統(tǒng)的硬盤皆安裝妥當(dāng),流程40完成后數(shù)據(jù)卷可 順利使用,不會(huì)損毀。相對地,當(dāng)硬盤H及其它硬盤所儲存的數(shù)量數(shù)據(jù)的值皆是4,但計(jì)算機(jī) 系統(tǒng)中正在使用的硬盤數(shù)量是3,表示計(jì)算機(jī)系統(tǒng)中可能有一個(gè)硬盤松脫,使用者由提示信 息得知數(shù)據(jù)卷可能損毀。在此情形下,使用者可關(guān)閉計(jì)算機(jī)系統(tǒng)的電源以確認(rèn)所有硬盤是 否安裝妥當(dāng),也可忽略提示信息,命令計(jì)算機(jī)系統(tǒng)完成開機(jī)程序。由于使用者所選擇進(jìn)行的 動(dòng)作不屬于本發(fā)明主要保護(hù)的范圍,于圖4中不詳述。此外請注意,當(dāng)計(jì)算機(jī)系統(tǒng)完成系統(tǒng) 初始化后有硬盤加入,新增的硬盤中可能沒有硬盤元數(shù)據(jù),或是有硬盤元數(shù)據(jù)但數(shù)量數(shù)據(jù) 的值是0,此時(shí)計(jì)算機(jī)系統(tǒng)不會(huì)對新增的硬盤進(jìn)行步驟416的數(shù)量數(shù)據(jù)檢查。新增的硬盤將 于流程40完成后,向計(jì)算機(jī)系統(tǒng)進(jìn)行注冊成為計(jì)算機(jī)系統(tǒng)可使用的硬盤,以取得更新的硬 盤元數(shù)據(jù)。簡言之,流程40分為三部分,如圖4中虛線所分示。第一部分包含步驟402至步 驟408,表示系統(tǒng)初始化程序,計(jì)算機(jī)系統(tǒng)于初始化時(shí)在每一硬盤上建立硬盤元數(shù)據(jù)。第二 部分包含步驟410至步驟414,表示操作系統(tǒng)數(shù)據(jù)保護(hù)程序,其中計(jì)算機(jī)系統(tǒng)將根據(jù)硬盤元 數(shù)據(jù)中的標(biāo)識數(shù)據(jù)及時(shí)間數(shù)據(jù),分辨出哪些硬盤可或不可做為開機(jī)硬盤,避免因?yàn)楠?dú)立磁盤冗余陣列技術(shù)RAID-I的鏡射特性,導(dǎo)致硬盤的操作系統(tǒng)區(qū)塊被錯(cuò)誤地覆寫而無法完成 開機(jī)程序。第三部分包含步驟416及步驟418,表示使用者數(shù)據(jù)保護(hù)程序,計(jì)算機(jī)系統(tǒng)將檢 查每一硬盤所儲存的數(shù)量數(shù)據(jù),避免計(jì)算機(jī)系統(tǒng)在有硬盤未正常連接的情形下進(jìn)行開機(jī)程 序,造成獨(dú)立磁盤冗余陣列技術(shù)RAID-O所產(chǎn)生的數(shù)據(jù)卷損毀。請注意,流程40為本發(fā)明的最佳實(shí)施例,本領(lǐng)域具通常知識者當(dāng)可據(jù)以做不同的 變化及修飾。舉例來說,以流程40中的系統(tǒng)初始化程序搭配操作系統(tǒng)數(shù)據(jù)保護(hù)程序做為另 一開機(jī)流程,能夠單獨(dú)保護(hù)操作系統(tǒng)數(shù)據(jù);或者,以流程40中的系統(tǒng)初始化程序搭配使用 者數(shù)據(jù)保護(hù)程序做為另一開機(jī)流程,能夠單獨(dú)保護(hù)使用者數(shù)據(jù)。此外,本發(fā)明其它實(shí)施例亦 可僅進(jìn)行標(biāo)識數(shù)據(jù)及時(shí)間數(shù)據(jù)檢查,或僅進(jìn)行標(biāo)識數(shù)據(jù)檢查及數(shù)量數(shù)據(jù)檢查。本發(fā)明進(jìn)一步提供標(biāo)識數(shù)據(jù)、時(shí)間數(shù)據(jù)及數(shù)量數(shù)據(jù)的更新流程,這些流程可接著 于圖4的流程40后進(jìn)行,讓計(jì)算機(jī)系統(tǒng)于特定時(shí)刻能實(shí)時(shí)更新硬盤元數(shù)據(jù),以加強(qiáng)計(jì)算機(jī) 系統(tǒng)的數(shù)據(jù)保護(hù)功能。請參考圖5,圖5為本發(fā)明實(shí)施例一流程50的示意圖,流程50用于 更新標(biāo)識數(shù)據(jù)。流程50包含有以下步驟步驟500:開始。步驟502 偵測開機(jī)程序是否完成。若是,進(jìn)行步驟512 ;若否,繼續(xù)步驟502。步驟504 偵測關(guān)機(jī)程序是否開始。若是,進(jìn)行步驟512 ;若否,繼續(xù)步驟504。步驟506 偵測是否有任何硬盤在開機(jī)程序完成后的運(yùn)作狀態(tài)下,自計(jì)算機(jī)系統(tǒng) 中移除。若是,進(jìn)行步驟512 ;若否,繼續(xù)步驟506。步驟508 偵測是否有任何硬盤在計(jì)算機(jī)系統(tǒng)的開機(jī)程序完成后的運(yùn)作狀態(tài)下, 加入計(jì)算機(jī)系統(tǒng)。若是,進(jìn)行步驟510 ;若否,繼續(xù)步驟508。步驟510 判斷新增的硬盤是否須注冊成為計(jì)算機(jī)系統(tǒng)可使用的硬盤。若是,進(jìn)行步驟512 ;若否,進(jìn)行步驟516。步驟512 更新儲存于計(jì)算機(jī)系統(tǒng)的非揮發(fā)性內(nèi)存中的所有標(biāo)識數(shù)據(jù)。步驟514 將計(jì)算機(jī)系統(tǒng)設(shè)定給各個(gè)硬盤使用的標(biāo)識數(shù)據(jù),寫入各個(gè)硬盤。步驟516 不變更標(biāo)識數(shù)據(jù)。步驟502及步驟504是針對硬盤可能在計(jì)算機(jī)系統(tǒng)電源關(guān)閉時(shí)進(jìn)行冷插拔(Cold Swap)所做的步驟。步驟506及步驟508是針對硬盤可能在計(jì)算機(jī)系統(tǒng)的開機(jī)程序完成后 的運(yùn)作狀態(tài)下進(jìn)行熱插拔(Hot Swap)所做的步驟。當(dāng)計(jì)算機(jī)系統(tǒng)根據(jù)步驟502偵測到開 機(jī)程序完成,或根據(jù)步驟504偵測到關(guān)機(jī)程序已開始,或根據(jù)步驟506偵測到有硬盤在計(jì)算 機(jī)系統(tǒng)的運(yùn)作狀態(tài)下被移除時(shí),計(jì)算機(jī)系統(tǒng)進(jìn)行步驟512及步驟514的標(biāo)識數(shù)據(jù)更新。根據(jù)步驟512,計(jì)算機(jī)系統(tǒng)更新主機(jī)板中非揮發(fā)性內(nèi)存所儲存的所有標(biāo)識數(shù)據(jù),讓 計(jì)算機(jī)系統(tǒng)所記錄的每一標(biāo)識數(shù)據(jù)的值與其先前的值不相同。根據(jù)步驟514,計(jì)算機(jī)系統(tǒng)從 重新設(shè)定完畢的標(biāo)識數(shù)據(jù)中,取部分標(biāo)識數(shù)據(jù)寫入目前于計(jì)算機(jī)系統(tǒng)中相對應(yīng)的各硬盤。 由于計(jì)算機(jī)系統(tǒng)可能偵測到硬盤的新增或移除,相對于原本的標(biāo)識數(shù)據(jù)的數(shù)量,計(jì)算機(jī)系 統(tǒng)由非揮發(fā)性內(nèi)存所取出的標(biāo)識數(shù)據(jù)的數(shù)量可能會(huì)增加或減少。舉例來說,假設(shè)計(jì)算機(jī)系 統(tǒng)中儲存了 10個(gè)標(biāo)識數(shù)據(jù)且原本設(shè)置有4個(gè)硬盤,當(dāng)計(jì)算機(jī)系統(tǒng)根據(jù)步驟506偵測到有一 硬盤被移除,此時(shí)計(jì)算機(jī)系統(tǒng)中設(shè)置的硬盤數(shù)量由4個(gè)減少為3個(gè),因此,計(jì)算機(jī)系統(tǒng)根據(jù) 步驟514,由10個(gè)標(biāo)識數(shù)據(jù)中取出3個(gè)標(biāo)識數(shù)據(jù)寫入相對應(yīng)的3個(gè)硬盤。另一方面,當(dāng)計(jì)算機(jī)系統(tǒng)根據(jù)步驟508,偵測到有硬盤在計(jì)算機(jī)系統(tǒng)的運(yùn)作狀態(tài)下加入計(jì)算機(jī)系統(tǒng)時(shí),計(jì)算機(jī)系統(tǒng)根據(jù)步驟510,依來自使用者的指示訊息判斷新增的硬盤是 否須注冊成為計(jì)算機(jī)系統(tǒng)可使用的硬盤。若新增的硬盤必須注冊,計(jì)算機(jī)系統(tǒng)進(jìn)行步驟512 及步驟514的標(biāo)識數(shù)據(jù)更新,如前所述,因此計(jì)算機(jī)系統(tǒng)的非揮發(fā)性內(nèi)存中儲存的所有標(biāo) 識數(shù)據(jù)、原有硬盤及新增的硬盤所儲存的標(biāo)識數(shù)據(jù)皆會(huì)更新。若新增的硬盤不須注冊,計(jì)算 機(jī)系統(tǒng)進(jìn)行步驟516,不變更計(jì)算機(jī)系統(tǒng)的非揮發(fā)性內(nèi)存中儲存的所有標(biāo)識數(shù)據(jù),也不變更 原有硬盤所儲存的標(biāo)識數(shù)據(jù)。在計(jì)算機(jī)系統(tǒng)處于運(yùn)作狀態(tài)下,由于硬盤可能多次熱插拔,因 此步驟506、步驟508及后續(xù)對應(yīng)的步驟可多次進(jìn)行。通過流程50,計(jì)算機(jī)系統(tǒng)能夠在進(jìn)行前述流程40時(shí),根據(jù)標(biāo)識數(shù)據(jù)精確辨認(rèn)出硬 盤所儲存的操作系統(tǒng)數(shù)據(jù)的新舊,進(jìn)而禁止具有舊操作系統(tǒng)數(shù)據(jù)的硬盤做為開機(jī)硬盤,加 強(qiáng)了計(jì)算機(jī)系統(tǒng)對于操作系統(tǒng)數(shù)據(jù)的保護(hù)功能。請注意,流程50為更新標(biāo)識數(shù)據(jù)的最佳實(shí) 施例,本領(lǐng)域具通常知識者當(dāng)可根據(jù)流程50做不同的變化及修飾。舉例來說,若計(jì)算機(jī)系 統(tǒng)的規(guī)格設(shè)定為禁止硬盤進(jìn)行熱插拔,則不須執(zhí)行步驟506及步驟508。請參考圖6,圖6為本發(fā)明實(shí)施例一流程60的示意圖,流程60用于更新時(shí)間數(shù)據(jù)。 流程60包含有以下步驟步驟600:開始。步驟602 偵測開機(jī)程序是否完成。若是,進(jìn)行步驟610 ;若否,繼續(xù)步驟602。步驟604 偵測是否有任何硬盤在計(jì)算機(jī)系統(tǒng)的開機(jī)程序完成后的運(yùn)作狀態(tài)下, 自計(jì)算機(jī)系統(tǒng)中移除。若是,進(jìn)行步驟610 ;若否,繼續(xù)步驟604。步驟606 偵測是否有任何硬盤在計(jì)算機(jī)系統(tǒng)的開機(jī)程序完成后的運(yùn)作狀態(tài)下, 加入計(jì)算機(jī)系統(tǒng)。若是,進(jìn)行步驟608 ;若否,繼續(xù)步驟606。步驟608 判斷新增的硬盤是否須注冊成為計(jì)算機(jī)系統(tǒng)可使用的硬盤。若是,進(jìn)行步驟610 ;若否,進(jìn)行步驟614。步驟610 取得計(jì)算機(jī)系統(tǒng)中所有硬盤所儲存的時(shí)間數(shù)據(jù)的值中的一最大值。步驟612 將該最大值與一差值相加,產(chǎn)生一加法結(jié)果,并將該加法結(jié)果寫入計(jì)算 機(jī)系統(tǒng)中所有硬盤。步驟614 不變更時(shí)間數(shù)據(jù)。當(dāng)計(jì)算機(jī)系統(tǒng)根據(jù)步驟602偵測到開機(jī)程序完成,或根據(jù)步驟604偵測到一硬盤 在計(jì)算機(jī)系統(tǒng)的運(yùn)作狀態(tài)下被移除時(shí),計(jì)算機(jī)系統(tǒng)進(jìn)行步驟610及步驟612,取得其中所有 硬盤所儲存的時(shí)間數(shù)據(jù)中的最大值Tmax,將最大值Tmax與一差值△ t相加,并且將加法結(jié)果 (Tmax+At)寫入目前計(jì)算機(jī)系統(tǒng)所有硬盤中儲存時(shí)間數(shù)據(jù)的位置,以更新目前所有硬盤所 儲存的時(shí)間數(shù)據(jù)。移除的硬盤的時(shí)間數(shù)據(jù)必然不會(huì)被更新。差值A(chǔ)t可等于1,亦可為其它 正整數(shù)值。當(dāng)計(jì)算機(jī)系統(tǒng)根據(jù)步驟606,偵測到一硬盤在計(jì)算機(jī)系統(tǒng)的運(yùn)作狀態(tài)下加入計(jì)算 機(jī)系統(tǒng)時(shí),計(jì)算機(jī)系統(tǒng)根據(jù)步驟608,依來自使用者的指示訊息判斷新增的硬盤是否須注冊 成為計(jì)算機(jī)系統(tǒng)可使用的硬盤。若新增的硬盤必須注冊,計(jì)算機(jī)系統(tǒng)進(jìn)行步驟610及步驟 612的時(shí)間數(shù)據(jù)更新;若新增的硬盤不須注冊,計(jì)算機(jī)系統(tǒng)進(jìn)行步驟614,不變更目前計(jì)算 機(jī)系統(tǒng)中所有硬盤所儲存的時(shí)間數(shù)據(jù)。請參考圖7,圖7為本發(fā)明實(shí)施例一流程70的示意圖,流程70用于更新數(shù)量數(shù)據(jù)。 流程70包含有以下步驟
步驟700:開始。步驟702 判斷使用者專用的數(shù)據(jù)卷是否成功建立。若是,進(jìn)行步驟704 ;若否,進(jìn) 行步驟718。步驟704 計(jì)算包含使用者專用的數(shù)據(jù)卷的硬盤數(shù)量,即數(shù)量數(shù)據(jù)。步驟706 將數(shù)量數(shù)據(jù)寫入包含使用者專用的數(shù)據(jù)卷的硬盤。步驟708 偵測是否有任何硬盤在計(jì)算機(jī)系統(tǒng)的開機(jī)程序完成后的運(yùn)作狀態(tài)下, 自計(jì)算機(jī)系統(tǒng)中移除。若是,進(jìn)行步驟712 ;若否,繼續(xù)步驟708。步驟710 偵測是否有任何硬盤在計(jì)算機(jī)系統(tǒng)的開機(jī)程序完成后的運(yùn)作狀態(tài)下, 加入計(jì)算機(jī)系統(tǒng)。若是,進(jìn)行步驟714 ;若否,繼續(xù)步驟710。步驟712 檢查是否移除的硬盤包含使用者專用的數(shù)據(jù)卷。若是,進(jìn)行步驟720 ;若 否,進(jìn)行步驟718。步驟714 判斷新增的硬盤是否須注冊成為計(jì)算機(jī)系統(tǒng)的硬盤。若是,進(jìn)行步驟 716 ;若否,進(jìn)行步驟718。步驟716 將數(shù)量數(shù)據(jù)的初始值寫入新增的硬盤。步驟718 不變更數(shù)量數(shù)據(jù)。步驟720 取得目前計(jì)算機(jī)系統(tǒng)中數(shù)量數(shù)據(jù)的值。步驟722:將取得的數(shù)量數(shù)據(jù)的值減1,產(chǎn)生一減法結(jié)果,并將該減法結(jié)果寫入包 含使用者專用的數(shù)據(jù)卷的硬盤。由于計(jì)算機(jī)系統(tǒng)每次開機(jī)完成時(shí),使用者皆有可能改變數(shù)據(jù)卷設(shè)定,因此在流程 70中,計(jì)算機(jī)系統(tǒng)先根據(jù)步驟702判斷使用者專用的數(shù)據(jù)卷是否成功建立。若判斷使用 者專用的數(shù)據(jù)卷建立失敗,計(jì)算機(jī)系統(tǒng)不會(huì)變更數(shù)量數(shù)據(jù),數(shù)量數(shù)據(jù)維持在上一次計(jì)算機(jī) 系統(tǒng)關(guān)機(jī)前的值。若判斷使用者專用的數(shù)據(jù)卷成功建立,計(jì)算機(jī)系統(tǒng)進(jìn)行步驟704及步驟 706,計(jì)算數(shù)量數(shù)據(jù),并將計(jì)算所得的數(shù)量數(shù)據(jù)的值寫入包含使用者專用的數(shù)據(jù)卷的硬盤。 舉例來說,假設(shè)計(jì)算機(jī)系統(tǒng)最多可容納5個(gè)硬盤而目前只有4個(gè)硬盤Hl H4設(shè)置于其中, 并且使用者以硬盤HI、H3、H4建立數(shù)據(jù)卷,此時(shí)計(jì)算機(jī)系統(tǒng)計(jì)算得數(shù)量數(shù)據(jù)的值是3,并將 數(shù)量數(shù)據(jù)=3寫入硬盤Hl、H3、H4。步驟708及步驟710為同時(shí)進(jìn)行的步驟,在開機(jī)程序完成后的運(yùn)作狀態(tài)下,計(jì)算機(jī) 系統(tǒng)持續(xù)偵測有無硬盤加入或自計(jì)算機(jī)系統(tǒng)中移除。當(dāng)計(jì)算機(jī)系統(tǒng)根據(jù)步驟708,偵測到 一硬盤自計(jì)算機(jī)系統(tǒng)中移除時(shí),計(jì)算機(jī)系統(tǒng)后續(xù)將進(jìn)行步驟712、718、720、722。詳細(xì)來說, 計(jì)算機(jī)系統(tǒng)進(jìn)一步檢查是否在移除的硬盤中包含了使用者專用的數(shù)據(jù)卷,若移除的硬盤沒 有包含數(shù)據(jù)卷,表示此硬盤移除不會(huì)影響目前使用的數(shù)據(jù)卷,此時(shí)計(jì)算機(jī)系統(tǒng)不變更數(shù)量 數(shù)據(jù)。若移除的硬盤包含了數(shù)據(jù)卷,計(jì)算機(jī)系統(tǒng)取得目前計(jì)算機(jī)系統(tǒng)中的數(shù)量數(shù)據(jù)的值并 將數(shù)量數(shù)據(jù)的值減1,產(chǎn)生一減法結(jié)果,接著將減法結(jié)果寫入包含使用者專用的數(shù)據(jù)卷的硬 盤。以前述例子來說,若被移除的是硬盤H2,數(shù)量數(shù)據(jù)不會(huì)變更;若被移除的是硬盤H1,取 得的數(shù)量數(shù)據(jù)的值仍是3,計(jì)算機(jī)系統(tǒng)將取得的數(shù)量數(shù)據(jù)的值減1,并將數(shù)量數(shù)據(jù)=2寫入 硬盤H3及H4。當(dāng)計(jì)算機(jī)系統(tǒng)根據(jù)步驟710,偵測到一硬盤加入計(jì)算機(jī)系統(tǒng)時(shí),計(jì)算機(jī)系統(tǒng)后續(xù)將 進(jìn)行步驟714、716、718。詳細(xì)來說,計(jì)算機(jī)系統(tǒng)依使用者的指示訊息,判斷新增的硬盤是否 須注冊成為計(jì)算機(jī)系統(tǒng)的硬盤,若新增的硬盤必須注冊,計(jì)算機(jī)系統(tǒng)將數(shù)量數(shù)據(jù)的初始值0寫入新增的硬盤。新增的硬盤不會(huì)立刻使用,而是等待下一次計(jì)算機(jī)系統(tǒng)進(jìn)行開機(jī)程序 (例如流程40)完成后,由使用者決定是否要使用新增的硬盤建立數(shù)據(jù)卷。若新增的硬盤不 須注冊,計(jì)算機(jī)系統(tǒng)不會(huì)變更數(shù)量數(shù)據(jù)。通過流程50、60及70對于硬盤元數(shù)據(jù)的實(shí)時(shí)更新,計(jì)算機(jī)系統(tǒng)得以在進(jìn)行流程40 時(shí),使用能精確分辨硬盤所儲存的操作系統(tǒng)數(shù)據(jù)的新舊程度的標(biāo)識數(shù)據(jù)、時(shí)間數(shù)據(jù)及數(shù)量 數(shù)據(jù),完成開機(jī)程序,不僅使操作系統(tǒng)數(shù)據(jù)得到最佳保護(hù),也避免因硬盤未妥當(dāng)安裝所造成 的數(shù)據(jù)卷損毀,大幅提升了計(jì)算機(jī)系統(tǒng)的穩(wěn)定性。在習(xí)知技術(shù)中,若同樣以獨(dú)立磁盤冗余陣列技術(shù)RAID-I管理操作系統(tǒng)數(shù)據(jù)的計(jì) 算機(jī)系統(tǒng)之間發(fā)生硬盤交換的動(dòng)作時(shí),獨(dú)立磁盤冗余陣列技術(shù)RAID-I的鏡射特性可能導(dǎo) 致計(jì)算機(jī)系統(tǒng)之間的操作系統(tǒng)數(shù)據(jù)相互復(fù)寫,使計(jì)算機(jī)系統(tǒng)無法辨識硬盤而不能完成開機(jī) 程序;若計(jì)算機(jī)系統(tǒng)以獨(dú)立磁盤冗余陣列技術(shù)RAID-O管理使用者數(shù)據(jù),在計(jì)算機(jī)系統(tǒng)中有 硬盤未正常連接的情形下進(jìn)行開機(jī)程序,數(shù)據(jù)卷可能損毀,導(dǎo)致無法存取使用者數(shù)據(jù)。相較 之下,當(dāng)計(jì)算機(jī)系統(tǒng)根據(jù)本發(fā)明所定義的硬盤元數(shù)據(jù)進(jìn)行本發(fā)明的開機(jī)流程,并且以數(shù)據(jù) 更新流程輔助開機(jī)流程時(shí),計(jì)算機(jī)系統(tǒng)能夠精確分辨出哪些硬盤禁止做為開機(jī)硬盤,避免 硬盤的操作系統(tǒng)區(qū)塊被錯(cuò)誤地覆寫而無法完成開機(jī)程序,同時(shí)能提醒使用者注意硬盤是否 未安裝妥當(dāng),進(jìn)而避免數(shù)據(jù)卷損毀。綜上所述,本發(fā)明避免計(jì)算機(jī)系統(tǒng)因使用獨(dú)立磁盤冗余陣列技術(shù)RAID-I及 RAID-O管理硬盤而導(dǎo)致的問題,大幅提升了計(jì)算機(jī)系統(tǒng)的穩(wěn)定性,硬盤中的操作系統(tǒng)數(shù)據(jù) 及使用者數(shù)據(jù)也得到最佳保護(hù)。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,凡依本發(fā)明權(quán)利要求所做的均等變化與修 飾,皆應(yīng)屬本發(fā)明的涵蓋范圍。
權(quán)利要求
1.一種用于一計(jì)算機(jī)系統(tǒng)的開機(jī)方法,該計(jì)算機(jī)系統(tǒng)使用獨(dú)立磁盤冗余陣列管理硬 盤,其特征在于檢查目前設(shè)于該計(jì)算機(jī)系統(tǒng)中的第一數(shù)量個(gè)硬盤其中一硬盤所儲存的一標(biāo)識符,是否 為該計(jì)算機(jī)系統(tǒng)所記錄的多個(gè)標(biāo)識符之一,該多個(gè)標(biāo)識符彼此相異,對應(yīng)于該計(jì)算機(jī)系統(tǒng) 所有可使用的硬盤;以及于確認(rèn)該硬盤所儲存的該標(biāo)識符為該計(jì)算機(jī)系統(tǒng)所記錄的該多個(gè)標(biāo)識符之一后,進(jìn)行 一標(biāo)識符更新程序,以更新該計(jì)算機(jī)系統(tǒng)所記錄的該多個(gè)標(biāo)識符及該第一數(shù)量個(gè)硬盤所儲 存的第一數(shù)量個(gè)標(biāo)識符。
2.如權(quán)利要求1所述的開機(jī)方法,其特征在于于確認(rèn)該硬盤所儲存的該標(biāo)識符不是該計(jì)算機(jī)系統(tǒng)所記錄的該多個(gè)標(biāo)識符之一時(shí),禁 止該硬盤做為該計(jì)算機(jī)系統(tǒng)的一開機(jī)硬盤。
3.如權(quán)利要求1所述的開機(jī)方法,其特征在于該標(biāo)識符更新程序包含有 偵測該計(jì)算機(jī)系統(tǒng)的一開機(jī)程序是否完成;于偵測到該開機(jī)程序完成時(shí),更新該計(jì)算機(jī)系統(tǒng)所記錄的該多個(gè)標(biāo)識符;以及 將該計(jì)算機(jī)系統(tǒng)中已更新的該多個(gè)標(biāo)識符其中第一數(shù)量個(gè)標(biāo)識符,分別寫入該第一數(shù) 量個(gè)硬盤,以更新該第一數(shù)量個(gè)硬盤所儲存的該第一數(shù)量個(gè)標(biāo)識符。
4.如權(quán)利要求1所述的開機(jī)方法,其特征在于該標(biāo)識符更新程序包含有 偵測該計(jì)算機(jī)系統(tǒng)的一關(guān)機(jī)程序是否開始;于偵測到該關(guān)機(jī)程序開始時(shí),更新該計(jì)算機(jī)系統(tǒng)所記錄的該多個(gè)標(biāo)識符;以及 將該計(jì)算機(jī)系統(tǒng)中已更新的該多個(gè)標(biāo)識符其中第一數(shù)量個(gè)標(biāo)識符,分別寫入該第一數(shù) 量個(gè)硬盤,以更新該第一數(shù)量個(gè)硬盤所儲存的該第一數(shù)量個(gè)標(biāo)識符。
5.如權(quán)利要求1所述的開機(jī)方法,其特征在于該標(biāo)識符更新程序包含有偵測該第一數(shù)量個(gè)硬盤中是否有任何硬盤在該計(jì)算機(jī)系統(tǒng)的一開機(jī)程序完成后,自該 計(jì)算機(jī)系統(tǒng)中移除;于偵測到該第一數(shù)量個(gè)硬盤其中一硬盤在該開機(jī)程序完成后,自該計(jì)算機(jī)系統(tǒng)中移除 時(shí),更新該計(jì)算機(jī)系統(tǒng)所記錄的該多個(gè)標(biāo)識符;以及將該計(jì)算機(jī)系統(tǒng)中已更新的該多個(gè)標(biāo)識符其中第二數(shù)量個(gè)標(biāo)識符,寫入對應(yīng)的第二數(shù) 量個(gè)硬盤,以更新該第二數(shù)量個(gè)硬盤所儲存的第二數(shù)量個(gè)標(biāo)識符,其中該第二數(shù)量個(gè)硬盤 是該第一數(shù)量個(gè)硬盤中除了該移除的硬盤外的其它硬盤。
6.如權(quán)利要求1所述的開機(jī)方法,其特征在于該標(biāo)識符更新程序包含有 偵測是否有任何硬盤在該計(jì)算機(jī)系統(tǒng)的一開機(jī)程序完成后,加入該計(jì)算機(jī)系統(tǒng);于偵測到一硬盤在該開機(jī)程序完成后,加入該計(jì)算機(jī)系統(tǒng)時(shí),判斷該加入的硬盤是否 須注冊成為該計(jì)算機(jī)系統(tǒng)可使用的硬盤;于該加入的硬盤必須注冊成為該計(jì)算機(jī)系統(tǒng)可使用的硬盤時(shí),更新該計(jì)算機(jī)系統(tǒng)所記 錄的該多個(gè)標(biāo)識符;以及將該計(jì)算機(jī)系統(tǒng)中已更新的該多個(gè)標(biāo)識符中第二數(shù)量個(gè)標(biāo)識符,寫入對應(yīng)的第二數(shù)量 個(gè)硬盤,以更新該第二數(shù)量個(gè)硬盤所儲存的第二數(shù)量個(gè)標(biāo)識符,其中該第二數(shù)量個(gè)硬盤包 含該第一數(shù)量個(gè)硬盤及該加入的硬盤。
7.如權(quán)利要求6所述的開機(jī)方法,其特征在于該標(biāo)識符更新程序另包含有于該加入的硬盤不須注冊成為該計(jì)算機(jī)系統(tǒng)可使用的硬盤時(shí),不變更該計(jì)算機(jī)系統(tǒng)所 記錄的該多個(gè)標(biāo)識符及該第一數(shù)量個(gè)硬盤所儲存的該第一數(shù)量個(gè)標(biāo)識符。
8.如權(quán)利要求1所述的開機(jī)方法,其特征在于檢查該硬盤所儲存的一時(shí)間數(shù)據(jù)的值是否為該第一數(shù)量個(gè)硬盤所儲存的第一數(shù)量個(gè) 時(shí)間數(shù)據(jù)的值中的最大值,該時(shí)間數(shù)據(jù)表示該硬盤所儲存的操作系統(tǒng)數(shù)據(jù)的時(shí)間信息;以 及于確認(rèn)該硬盤所儲存的該時(shí)間數(shù)據(jù)的值為該第一數(shù)量個(gè)時(shí)間數(shù)據(jù)的值中的最大值時(shí), 進(jìn)行一時(shí)間數(shù)據(jù)更新程序,以更新該第一數(shù)量個(gè)硬盤中每一硬盤所儲存的操作系統(tǒng)數(shù)據(jù)的 時(shí)間信息。
9.如權(quán)利要求8所述的開機(jī)方法,其特征在于于確認(rèn)該硬盤所儲存的該時(shí)間數(shù)據(jù)的值不是該第一數(shù)量個(gè)時(shí)間數(shù)據(jù)的值中的最大值 時(shí),禁止該硬盤做為該計(jì)算機(jī)系統(tǒng)的一開機(jī)硬盤。
10.如權(quán)利要求8所述的開機(jī)方法,其特征在于該時(shí)間數(shù)據(jù)更新程序包含有偵測該計(jì)算機(jī)系統(tǒng)的一開機(jī)程序是否完成;于偵測到該開機(jī)程序完成時(shí),取得該第一數(shù)量個(gè)硬盤所儲存的該第一數(shù)量個(gè)時(shí)間數(shù)據(jù) 的值中的一最大值;以及將該最大值與一差值相加,產(chǎn)生一加法結(jié)果,并將該加法結(jié)果寫入該第一數(shù)量個(gè)硬盤 中每一硬盤,以更新該第一數(shù)量個(gè)硬盤所儲存的該第一數(shù)量個(gè)時(shí)間數(shù)據(jù)。
11.如權(quán)利要求8所述的開機(jī)方法,其特征在于該時(shí)間數(shù)據(jù)更新程序包含有偵測該第一數(shù)量個(gè)硬盤中是否有任何硬盤在該計(jì)算機(jī)系統(tǒng)的一開機(jī)程序完成后,自該 計(jì)算機(jī)系統(tǒng)中移除;于偵測到該第一數(shù)量個(gè)硬盤其中一硬盤在該開機(jī)程序完成后,自該計(jì)算機(jī)系統(tǒng)中移除 時(shí),取得該第一數(shù)量個(gè)硬盤所儲存的該第一數(shù)量個(gè)時(shí)間數(shù)據(jù)的值中的一最大值;以及將該最大值與一差值相加,產(chǎn)生一加法結(jié)果,并將該加法結(jié)果寫入第二數(shù)量個(gè)硬盤中 每一硬盤,其中該第二數(shù)量個(gè)硬盤是該第一數(shù)量個(gè)硬盤中除了該移除的硬盤外的其它硬盤。
12.如權(quán)利要求8所述的開機(jī)方法,其特征在于該時(shí)間數(shù)據(jù)更新程序包含有偵測該第一數(shù)量個(gè)硬盤中是否有任何硬盤在該計(jì)算機(jī)系統(tǒng)的一開機(jī)程序完成后,加入 該計(jì)算機(jī)系統(tǒng);于偵測到一硬盤在該開機(jī)程序完成后,加入該計(jì)算機(jī)系統(tǒng)時(shí),判斷該加入的硬盤是否 須注冊成為該計(jì)算機(jī)系統(tǒng)可使用的硬盤;以及于該加入的硬盤必須注冊成為該計(jì)算機(jī)系統(tǒng)可使用的硬盤時(shí),取得該第一數(shù)量個(gè)硬盤 的該第一數(shù)量個(gè)時(shí)間數(shù)據(jù)的值中的一最大值;以及將該最大值與一差值相加,產(chǎn)生一加法結(jié)果,并將該加法結(jié)果寫入第二數(shù)量個(gè)硬盤中 每一硬盤,以更新該第二數(shù)量個(gè)硬盤所儲存的第二數(shù)量個(gè)時(shí)間數(shù)據(jù),其中該第二數(shù)量個(gè)硬 盤包含該第一數(shù)量個(gè)硬盤及該加入的硬盤。
13.如權(quán)利要求12所述的開機(jī)方法,其特征在于該時(shí)間數(shù)據(jù)更新程序另包含有于該加入的硬盤不須注冊成為該計(jì)算機(jī)系統(tǒng)可使用的硬盤時(shí),不變更該第一數(shù)量個(gè)硬 盤所儲存的該第一數(shù)量個(gè)時(shí)間數(shù)據(jù)。
14.如權(quán)利要求1所述的開機(jī)方法,其特征在于檢查該第一數(shù)量個(gè)硬盤中每一硬盤所儲存的一數(shù)量數(shù)據(jù)的值是否等于該第一數(shù)量,以 產(chǎn)生一第一檢查結(jié)果,其中該數(shù)量數(shù)據(jù)是該第一數(shù)量個(gè)硬盤中包含數(shù)據(jù)卷的硬盤數(shù)量;以 及檢查該第一數(shù)量個(gè)硬盤中每一硬盤所儲存的該數(shù)量數(shù)據(jù)的值是否皆相等,以產(chǎn)生一第 二檢查結(jié)果。
15.如權(quán)利要求14所述的開機(jī)方法,其特征在于于確認(rèn)該第一檢查結(jié)果及該第二檢查結(jié)果中任一檢查結(jié)果顯示不相等時(shí),產(chǎn)生一提示 信息,以告知數(shù)據(jù)卷可能損毀。
16.如權(quán)利要求14所述的開機(jī)方法,其特征在于于確認(rèn)該第一檢查結(jié)果及該第二檢查結(jié)果皆顯示相等時(shí),進(jìn)行一數(shù)量數(shù)據(jù)更新程序, 以更新該第一數(shù)量個(gè)硬盤中每一硬盤所儲存的該數(shù)量數(shù)據(jù)。
17.如權(quán)利要求16所述的開機(jī)方法,其特征在于該數(shù)量數(shù)據(jù)更新程序包含有 判斷數(shù)據(jù)卷是否成功建立;于數(shù)據(jù)卷成功建立時(shí),計(jì)算該數(shù)量數(shù)據(jù); 將該數(shù)量數(shù)據(jù)寫入該第一數(shù)量個(gè)硬盤中包含數(shù)據(jù)卷的硬盤;偵測該第一數(shù)量個(gè)硬盤中是否有任何硬盤在該計(jì)算機(jī)系統(tǒng)的一開機(jī)程序完成后,自該 計(jì)算機(jī)系統(tǒng)中移除;以及偵測是否有一硬盤在該開機(jī)程序完成后,加入該計(jì)算機(jī)系統(tǒng)。
18.如權(quán)利要求17所述的開機(jī)方法,其特征在于該數(shù)量數(shù)據(jù)更新程序另包含有 于數(shù)據(jù)卷建立失敗時(shí),不變更該數(shù)量數(shù)據(jù)。
19.如權(quán)利要求17所述的開機(jī)方法,其特征在于該數(shù)量數(shù)據(jù)更新程序另包含有 于偵測到該第一數(shù)量個(gè)硬盤其中一硬盤在該開機(jī)程序完成后,自該計(jì)算機(jī)系統(tǒng)中移除時(shí),檢查是否該移除的硬盤包含數(shù)據(jù)卷;于確認(rèn)該移除的硬盤包含數(shù)據(jù)卷時(shí),取得該數(shù)量數(shù)據(jù)的值;以及 將該數(shù)量數(shù)據(jù)的值減去一差值,產(chǎn)生一減法結(jié)果,并將該減法結(jié)果寫入該計(jì)算機(jī)系統(tǒng) 中包含數(shù)據(jù)卷的硬盤,以更新該包含數(shù)據(jù)卷的硬盤所儲存的該數(shù)量數(shù)據(jù)。
20.如權(quán)利要求19所述的開機(jī)方法,其特征在于該數(shù)量數(shù)據(jù)更新程序另包含有 于確認(rèn)該移除的硬盤未包含數(shù)據(jù)卷時(shí),不變更該數(shù)量數(shù)據(jù)。
21.如權(quán)利要求17所述的開機(jī)方法,其特征在于該數(shù)量數(shù)據(jù)更新程序另包含有于偵測到一硬盤在該開機(jī)程序完成后,加入該計(jì)算機(jī)系統(tǒng)時(shí),判斷該加入的硬盤是否 須注冊成為該計(jì)算機(jī)系統(tǒng)的硬盤;以及于該加入的硬盤須注冊成為該計(jì)算機(jī)系統(tǒng)的硬盤時(shí),將該數(shù)量數(shù)據(jù)的一初始值寫入該 加入的硬盤。
22.如權(quán)利要求21所述的開機(jī)方法,其特征在于該數(shù)量數(shù)據(jù)更新程序另包含有 于該加入的硬盤不須注冊成為該計(jì)算機(jī)系統(tǒng)的硬盤時(shí),不變更該數(shù)量數(shù)據(jù)。
全文摘要
本發(fā)明涉及使用獨(dú)立磁盤冗余陣列的計(jì)算機(jī)系統(tǒng)的開機(jī)方法,包含檢查目前設(shè)于計(jì)算機(jī)系統(tǒng)的第一數(shù)量個(gè)硬盤其中一硬盤所儲存的一標(biāo)識符,是否為計(jì)算機(jī)系統(tǒng)所記錄的多個(gè)標(biāo)識符之一;以及于確認(rèn)該硬盤所儲存的標(biāo)識符為計(jì)算機(jī)系統(tǒng)所記錄的多個(gè)標(biāo)識符之一后,進(jìn)行標(biāo)識符更新程序,以更新計(jì)算機(jī)系統(tǒng)中的多個(gè)標(biāo)識符及第一數(shù)量個(gè)硬盤所儲存的第一數(shù)量個(gè)標(biāo)識符。
文檔編號G06F3/06GK102117213SQ200910215890
公開日2011年7月6日 申請日期2009年12月31日 優(yōu)先權(quán)日2009年12月31日
發(fā)明者李育儒 申請人:緯創(chuàng)資通股份有限公司