專利名稱:在病毒攻擊時引導(dǎo)備選mbr的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及引導(dǎo)計算機中的操作系統(tǒng)。
背景技術(shù):
當(dāng)打開計算機時,調(diào)用存儲在計算機非易失性固態(tài)存儲器中的例如基本輸入輸出系統(tǒng)(BIOS)的引導(dǎo)裝入程序,從而開始“引導(dǎo)”過程,其中進(jìn)行各種初始化的工作。在這些初始化工作中最重要的是將操作系統(tǒng)從計算機的磁盤存儲器上復(fù)制到通常是計算機的易失性固態(tài)存儲器上,用于當(dāng)使用計算機時計算機的處理器執(zhí)行操作系統(tǒng)。當(dāng)關(guān)閉計算機或當(dāng)計算機“重引導(dǎo)”時,存儲器中的操作系統(tǒng)被刷新。通過從相對快的存儲器而不是從磁盤上執(zhí)行操作系統(tǒng),加速了計算機操作。
引導(dǎo)中基本的工具是主引導(dǎo)記錄(MBR),通常在引導(dǎo)過程早期BIOS從輔助存儲器訪問MBR。在當(dāng)前實施中,MBR可以存儲在硬盤驅(qū)動器的前63個扇區(qū),分區(qū)引導(dǎo)記錄(PBR)存儲在后續(xù)磁盤扇區(qū)中。MBR包含BIOS必須知道從而完成引導(dǎo)的各種O.S.數(shù)據(jù)的磁盤位置記錄,包括包含磁盤上數(shù)據(jù)分布的分區(qū)表。分區(qū)表可以具有例如4個分區(qū)的空間,每個條目包括分區(qū)大小、分區(qū)是引導(dǎo)分區(qū)時的標(biāo)記符、以及定義文件系統(tǒng)的類型。
本發(fā)明認(rèn)識到可能設(shè)計了惡意的病毒將磁盤的前63個扇區(qū)清空或者毀壞MBR從而阻止引導(dǎo)。本發(fā)明進(jìn)一步認(rèn)識到雖然能夠?qū)BR備份到外部存儲器中,但恢復(fù)MBR需要定位外部存儲器和從外部存儲器下載信息,這需要時間,并進(jìn)一步取決于用戶記得備份MBR的頻率,外部存儲的拷貝可能會過時??紤]到上述關(guān)鍵性的認(rèn)識,由此提供本發(fā)明。
發(fā)明內(nèi)容
計算機介質(zhì)存儲邏輯,該邏輯包括接收引導(dǎo)中斷信號、作為響應(yīng)使用服務(wù)主引導(dǎo)記錄(MBR)覆蓋當(dāng)前MBR。服務(wù)MBR用于引導(dǎo)服務(wù)操作系統(tǒng),然后由先前備份的MBR替代。
如果需要,在有的實施中,邏輯能夠包括當(dāng)使用服務(wù)MBR時訪問先前備份的MBR從而安裝任何沒有安裝的分區(qū)。服務(wù)MBR和先前備分的MBR可以存儲在輔助存儲器中的隱藏分區(qū)區(qū)域(HPA)中。
在非限制實施中,邏輯能夠包括在用服務(wù)MBR覆蓋當(dāng)前MBR之前,備份當(dāng)前MBR。只有首先確定MBR備份表有效時才備份當(dāng)前MBR。同時,只有首先確定服務(wù)MBR有效時才用服務(wù)MBR覆蓋當(dāng)前MBR。
在下面描述的有的實施中,先前備份的MBR可以是多個先前備份的MBR之一,先前備份的MBR存儲在輔助存儲器的HPA中。當(dāng)前主引導(dǎo)記錄通過以當(dāng)前主引導(dǎo)記錄覆蓋先前備份的主引導(dǎo)記錄中最早的一個而變化時,備份當(dāng)前主引導(dǎo)記錄。當(dāng)前主引導(dǎo)記錄中的分區(qū)表變化時,可以例如修改服務(wù)主引導(dǎo)記錄。
另一方面,計算機系統(tǒng)包括例如但不限于BIOS的引導(dǎo)裝入程序、例如但不限于硬盤驅(qū)動器的輔助存儲器,其存儲用戶操作系統(tǒng)(UOS)和服務(wù)操作系統(tǒng)(SOS)。能夠提供主存儲器,引導(dǎo)裝入程序通過接入當(dāng)前主引導(dǎo)記錄(MBR)將操作系統(tǒng)從輔助存儲器裝入主存儲器從而執(zhí)行引導(dǎo)序列。引導(dǎo)裝入程序響應(yīng)于引導(dǎo)中斷信號,使用存儲器輔助存儲器中的服務(wù)MBR替代當(dāng)前MBR,裝入SOS,使用輔助存儲器上先前備份的MBR替代服務(wù)MBR,然后使用先前備份的MBR去安裝服務(wù)MBR沒有安裝的分區(qū)。
另一方面,計算機系統(tǒng)包括使用存儲在輔助存儲器的隱藏保護區(qū)域的服務(wù)主引導(dǎo)記錄替代感染了病毒的當(dāng)前主引導(dǎo)記錄的裝置;使用服務(wù)主引導(dǎo)記錄將至少一個分區(qū)安裝到主存儲器的裝置;使用先前備份的主引導(dǎo)記錄覆蓋服務(wù)主引導(dǎo)記錄的裝置;和使用先前備份的主引導(dǎo)記錄安裝使用服務(wù)主引導(dǎo)記錄時沒有安裝的至少一個分區(qū)的裝置。
參考附圖能夠最佳地理解本發(fā)明的細(xì)節(jié),包括結(jié)構(gòu)和操作,其中相似附圖標(biāo)記表示相似部分。
圖1是描述本發(fā)明的非限制架構(gòu)的框圖;和圖2是描述引導(dǎo)至服務(wù)分區(qū)的邏輯的非限制實施方式的流程圖;圖3是描述將主引導(dǎo)記錄(MBR)備份至例如硬盤的輔助存儲器上的邏輯的非限制實施方式的流程圖。
具體實施例方式
首先參照圖1,其顯示了通常由10標(biāo)記的實施了本發(fā)明的數(shù)據(jù)處理系統(tǒng)的高層次框圖。一個非限制實施例中的系統(tǒng)10是個人計算機或膝上型電腦。系統(tǒng)10包括處理器12,可以是但不限于聯(lián)想公司的PowerPC處理器(或由例如Intel或AMD制造業(yè)界常見的其它處理器)。在通電時,處理器12執(zhí)行可以存儲在主計算機存儲器16中的例如基本輸入/輸出系統(tǒng)(BIOS)程序14的引導(dǎo)裝入程序,將例如硬盤驅(qū)動器或閃存或其它輔助存儲器的輔助數(shù)據(jù)存儲器20中的主操作系統(tǒng)18(例如Windows XP(注冊商標(biāo)))裝入存儲器16中。如圖1所示,主操作系統(tǒng)18可以位于輔助數(shù)據(jù)存儲器20的標(biāo)記為“C區(qū)”的分區(qū)中,該分區(qū)緊鄰具有主引導(dǎo)記錄(MBR)和理想的是分區(qū)引導(dǎo)記錄(PBR)的初始扇區(qū)組21之后。MBR可以包括具有多達(dá)四個分區(qū)的空間的分區(qū)表,盡管圖1為了簡潔只顯示了一個分區(qū)(“C”區(qū))。
在圖1所示的非限制架構(gòu)中,在稱為“普通”鎖點22上方的是隱藏受保護區(qū)域(HPA)24,HPA 24包含根據(jù)下述邏輯獲得的MBR備份和列出備份的MBR備份表,該表存儲在引導(dǎo)器(例如BIOS)知道的位置?!捌胀ā辨i點22可以由例如系統(tǒng)制造者建立,系統(tǒng)制造者在鎖點22建立SetMax指令,從而一旦發(fā)生整個系統(tǒng)啟動,具有MBR備份的區(qū)域24就會顯示為在輔助存儲器20上隱藏或不存在,保護了區(qū)域24(以及圖1中區(qū)域24之上的區(qū)域)不受破壞、病毒感染或任何其它會影響系統(tǒng)性能的傷害的影響。相應(yīng)地,SetMax指令包括代表普通鎖點22的位置邊界的任何適當(dāng)格式的數(shù)據(jù),例如邏輯塊地址(LBA)、扇區(qū)/同位標(biāo)磁道組/報頭等,從而當(dāng)設(shè)置SetMax時,SetMax指令有效定義的普通鎖點22之外的磁盤區(qū)域就會被截取,即例如當(dāng)用戶操作系統(tǒng)查詢實現(xiàn)為HDD存儲內(nèi)容的存儲器時,被截取的區(qū)域就不被輔助存儲器列為存儲器的一部分。
在MBR備份的區(qū)域24之上可以是一或多個持有增加備份的區(qū)域26,即在給定時間段內(nèi)增加到原始圖象上的新信息的備份。如圖1所示,每個增加點可以通俗地稱為“視窗陰影點”。在輔助存儲器20上的最高普通備份鎖點28之上可以是基礎(chǔ)備份區(qū)域30,其保持輔助存儲器20上提供的應(yīng)用的原始圖象、操作系統(tǒng)等,在基礎(chǔ)恢復(fù)解鎖點32之上可以是服務(wù)操作系統(tǒng)(SOS)分區(qū)34,其可保持例如Windows PE(注冊商標(biāo))的SOS。如果需要,例如磁盤操作系統(tǒng)(DOS)信息的隱藏分區(qū)信息可以存儲在SOS區(qū)域34(理想的)之上的區(qū)域36中。
理解了上述非限制架構(gòu),現(xiàn)在參考圖2,圖2顯示了如果MBR扇區(qū)組21中的MBR已經(jīng)被病毒破壞時能夠存儲在計算機介質(zhì)(例如但不限于BIOS14或主存儲器16)并且能夠由例如BIOS實施完成引導(dǎo)的邏輯。從框38開始,例如中斷引導(dǎo)流的用戶接收初始扇區(qū)組21中的MBR被破壞的電位指示。用戶可能中斷引導(dǎo)的理由之一是用戶可能接收到輔助存儲器被破壞的計算機消息。
進(jìn)行到判斷菱形框40,理想的是能夠確定MBR備份區(qū)域24中的備份表是否有效??梢酝ㄟ^比較表的散列(hash)和先前推導(dǎo)得到并存儲的散列來實現(xiàn),這將會在下文中參考圖3討論。
如果在判斷菱形框40的測試失敗了,返回錯誤并可以進(jìn)行正確動作。正確動作可以是如下重建有效MBR。使用將會在下面進(jìn)一步說明的圖3的邏輯得到的結(jié)構(gòu),可以訪問分區(qū)表中分區(qū)的開始邏輯框地址(LBA)和使用LBA訪問分區(qū)。讀取分區(qū)確定其是否是具有有效分區(qū)報頭分區(qū)引導(dǎo)記錄(PBR),從而確保該分區(qū)是分區(qū)表中指示的那個。指向位置處找到的數(shù)據(jù)也能夠和該分區(qū)最近備份的數(shù)據(jù)比較,如果三方都吻合,可以認(rèn)為確認(rèn)了正確分區(qū)開始點并且“正確的”MBR也相應(yīng)地被重建。
當(dāng)在判斷菱形框40的測試成功時,如果MBR沒有被破壞并且用戶由于其它原因中斷引導(dǎo),在框42備份正在使用的MBR。然后,在判斷菱形框44處可以確定存儲在BIOS知道的服務(wù)分區(qū)34的位置的服務(wù)MBR是否有效??梢酝ㄟ^比較服務(wù)MBR的散列和先前得到并存儲的散列從而完成該測試,這將會在下文中參考圖3進(jìn)行討論。
如果服務(wù)MBR無效,返回錯誤,否則邏輯流至框46用服務(wù)MBR覆蓋初始扇區(qū)組21中的當(dāng)前MBR。然后在框48將服務(wù)O.S.從服務(wù)分區(qū)34引導(dǎo)至存儲器16。服務(wù)MBR使得HPA的一部分看起來是標(biāo)準(zhǔn)分區(qū),從而可以給其分配一個驅(qū)動器字母并且其可以引導(dǎo)普通(知曉的非HPA)操作系統(tǒng)。
繼續(xù)到框50,使用MBR備份區(qū)域24中最近有效的MBR覆蓋正在初始扇區(qū)組21中使用的服務(wù)MBR。如將參考圖3進(jìn)行說明的,可以在備份區(qū)域24備份數(shù)個(例如10個)MBR,在框50使用最近有效的一個。為了確定最近有效的MBR,檢查MBR,首先檢查最近一個的有效性,如果最近MBR無效(例如指示感染病毒的全零或其它格式),然后檢查下一個最近MBR,依此類推。
在框52結(jié)束,現(xiàn)在可以使用在框50處替代服務(wù)MBR的最近有效備份MBR安裝任何使用服務(wù)MBR沒有安裝的分區(qū)。因而,現(xiàn)在認(rèn)識到原始用戶分區(qū)(例如4個)是通過迭代分區(qū)數(shù)安裝的,即對每一個新的分區(qū),更新MBR中的分區(qū)表,安裝各個分區(qū),然后更新下一分區(qū)表條目和安裝其分區(qū)等,直到安裝了所有的原始用戶分區(qū)。
圖3顯示在框54處當(dāng)例如用于檢測分區(qū)表或MBR其它部分的變化的驅(qū)動器指示要更新載使用中的MBR(即載初始扇區(qū)組21中的MBR)時,輸入DO循環(huán)。在判斷菱形框56,例如通過確定變化是否包括例如指示病毒感染的全零的一或多個格式,確定變化是否是實際的。假設(shè)變化是實際的,在框58處BIOS對MBR備份區(qū)域24解鎖,然后在框60處使用新的MBR覆蓋備份區(qū)域最早的MBR。
進(jìn)行到框62,更新由新備份的MBR指示的服務(wù)MBR中需要更新的任何分區(qū)表條目,然后計算并存儲服務(wù)MBR的散列,用于如上所述的在圖2中的判斷菱形框44。同時,在框處64更新MBR備份區(qū)域24中的MBR表,以反映在框60的覆蓋操作,然后計算并存儲表格的散列,用于如上所述的在圖2中的判斷菱形框40。然后在框66鎖住MBR備份區(qū)域24。
盡管詳細(xì)描述了“在病毒攻擊時引導(dǎo)備選MBR的系統(tǒng)和方法”,需要理解本發(fā)明只由權(quán)利要求限制。
權(quán)利要求
1.一種存儲邏輯的計算機介質(zhì),其包括接收引導(dǎo)中斷信號;使用服務(wù)主引導(dǎo)記錄覆蓋當(dāng)前主引導(dǎo)記錄;使用服務(wù)主引導(dǎo)記錄引導(dǎo)服務(wù)操作系統(tǒng);和用先前備份的主引導(dǎo)記錄替代服務(wù)主引導(dǎo)記錄。
2.根據(jù)權(quán)利要求1所述的介質(zhì),其中邏輯進(jìn)一步包括至少部分通過訪問先前備份的主引導(dǎo)記錄安裝,安裝在使用服務(wù)主引導(dǎo)記錄時沒有安裝的任何分區(qū)。
3.根據(jù)權(quán)利要求1所述的介質(zhì),其中服務(wù)主引導(dǎo)記錄和先前備份的主引導(dǎo)記錄存儲在輔助存儲器中的隱藏分區(qū)區(qū)域中。
4.根據(jù)權(quán)利要求3所述的介質(zhì),其中邏輯進(jìn)一步包括在用服務(wù)主引導(dǎo)記錄覆蓋當(dāng)前主引導(dǎo)記錄之前,備份當(dāng)前主引導(dǎo)記錄。
5.根據(jù)權(quán)利要求4所述的介質(zhì),其中只有首先確定主引導(dǎo)記錄備份表有效時才備份當(dāng)前主引導(dǎo)記錄。
6.根據(jù)權(quán)利要求1所述的介質(zhì),其中只有首先確定服務(wù)主引導(dǎo)記錄有效時才以服務(wù)主引導(dǎo)記錄覆蓋當(dāng)前主引導(dǎo)記錄。
7.根據(jù)權(quán)利要求1所述的介質(zhì),其中先前備份的主引導(dǎo)記錄是多個先前備份的主引導(dǎo)記錄之一,先前備份的主引導(dǎo)記錄存儲在輔助存儲器的隱藏分區(qū)區(qū)域中。
8.根據(jù)權(quán)利要求7所述的介質(zhì),其中邏輯進(jìn)一步包括如果當(dāng)前主引導(dǎo)記錄通過覆蓋先前備份的主引導(dǎo)記錄中最早的一個而變化時,備份當(dāng)前主引導(dǎo)記錄。
9.根據(jù)權(quán)利要求8所述的介質(zhì),其中邏輯進(jìn)一步包括如果當(dāng)前主引導(dǎo)記錄中的分區(qū)表變化時,至少修改服務(wù)主引導(dǎo)記錄。
10.一種計算機系統(tǒng),其包括至少一個引導(dǎo)裝入程序;至少一個輔助存儲器,用于至少存儲用戶操作系統(tǒng)和服務(wù)操作系統(tǒng);和至少一個主存儲器,引導(dǎo)裝入程序配置為至少部分通過訪問當(dāng)前主引導(dǎo)記錄將操作系統(tǒng)從輔助存儲器載入主存儲器從而執(zhí)行引導(dǎo)序列,引導(dǎo)裝入程序至少部分響應(yīng)于引導(dǎo)中斷信號,使用輔助存儲器中的服務(wù)主引導(dǎo)記錄替代當(dāng)前主引導(dǎo)記錄、載入服務(wù)操作系統(tǒng)、使用輔助存儲器上先前備份的主引導(dǎo)記錄替代服務(wù)主引導(dǎo)記錄、然后使用先前備份的主引導(dǎo)記錄來安裝任何沒有安裝的分區(qū)。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其中服務(wù)主引導(dǎo)記錄和先前備份的主引導(dǎo)記錄存儲在輔助存儲器中的隱藏分區(qū)區(qū)域中。
12.根據(jù)權(quán)利要求10所述的系統(tǒng),其中在用服務(wù)主引導(dǎo)記錄覆蓋當(dāng)前主引導(dǎo)記錄之前,備份當(dāng)前主引導(dǎo)記錄到輔助存儲器。
13.根據(jù)權(quán)利要求12所述的系統(tǒng),其中只有首先確定主引導(dǎo)記錄備份表有效時才備份當(dāng)前主引導(dǎo)記錄。
14.根據(jù)權(quán)利要求10所述的系統(tǒng),其中只有首先確定服務(wù)主引導(dǎo)記錄有效時才以服務(wù)主引導(dǎo)記錄覆蓋當(dāng)前主引導(dǎo)記錄。
15.根據(jù)權(quán)利要求10所述的系統(tǒng),其中先前備份的主引導(dǎo)記錄是多個先前備份的主引導(dǎo)記錄之一,先前備份的主引導(dǎo)記錄存儲在輔助存儲器中。
16.根據(jù)權(quán)利要求15所述的系統(tǒng),其中如果當(dāng)前主引導(dǎo)記錄通過以當(dāng)前主引導(dǎo)記錄覆蓋先前備份的主引導(dǎo)記錄中最早的一個而變化時,備份當(dāng)前主引導(dǎo)記錄。
17.根據(jù)權(quán)利要求16所述的系統(tǒng),其中如果當(dāng)前主引導(dǎo)記錄中的分區(qū)表變化時,至少修改服務(wù)主引導(dǎo)記錄。
18.一種計算機系統(tǒng),其包括使用存儲在輔助存儲器的隱藏保護區(qū)域的服務(wù)主引導(dǎo)記錄替代感染了病毒的當(dāng)前主引導(dǎo)記錄的裝置;使用服務(wù)主引導(dǎo)記錄將至少一個分區(qū)安裝到主存儲器的裝置;使用先前備份的主引導(dǎo)記錄覆蓋服務(wù)主引導(dǎo)記錄的裝置;和使用先前備份的主引導(dǎo)記錄安裝使用服務(wù)主引導(dǎo)記錄時沒有安裝的至少一個分區(qū)的裝置。
19.根據(jù)權(quán)利要求18所述的系統(tǒng),其中只有首先確定服務(wù)主引導(dǎo)記錄有效時才用服務(wù)主引導(dǎo)記錄覆蓋當(dāng)前主引導(dǎo)記錄。
20.根據(jù)權(quán)利要求19所述的系統(tǒng),其中先前備份的主引導(dǎo)記錄是多個先前備份的主引導(dǎo)記錄之一,先前備份的主引導(dǎo)記錄存儲在輔助存儲器中,如果當(dāng)前主引導(dǎo)記錄通過以當(dāng)前主引導(dǎo)記錄覆蓋先前備份的主引導(dǎo)記錄中最早的一個而變化時,備份當(dāng)前主引導(dǎo)記錄。
21.根據(jù)權(quán)利要求20所述的系統(tǒng),其中如果當(dāng)前主引導(dǎo)記錄中的分區(qū)表變化時,至少修改服務(wù)主引導(dǎo)記錄。
全文摘要
在硬盤驅(qū)動器上的被病毒感染的MBR可能阻止引導(dǎo)的情況下,可以使用隱藏受保護區(qū)域中的服務(wù)MBR引導(dǎo)服務(wù)O.S.,然后可以使用同樣也是在隱藏受保護區(qū)域中的先前備份的MBR替代服務(wù)MBR,來安裝任何缺少的分區(qū)。
文檔編號G06F9/445GK101046752SQ20071009130
公開日2007年10月3日 申請日期2007年3月29日 優(yōu)先權(quán)日2006年3月29日
發(fā)明者菲利普·李·查爾德斯, 邁克·查爾斯·戴維斯, 斯蒂文·代爾·顧德曼, 約瑟夫·韋恩·弗瑞曼, 蘭德爾·斯科特·斯普林菲爾, 羅德·戴維·沃特曼 申請人:聯(lián)想(新加坡)私人有限公司