新四季網

作業系統恢復方法及系統的製作方法

2023-07-02 22:03:21

專利名稱:作業系統恢復方法及系統的製作方法
技術領域:
本發明涉及計算機作業系統恢復技術領域,特別是涉及作業系統恢復方法及系統。
背景技術:
隨著計算機技術的不斷發展,電腦等計算機設備幾乎成了人們生活中必備的工具。但是用戶在使用計算機設備的過程中,經常會執行一些可能存在風險的操作,使得原本能夠正常運行的電腦,在經過這種操作之後變得不能正常運行,這對於用戶而言,無疑是一種「災難」。例如,用戶A想打給當前的作業系統補丁,以修復當前作業系統的漏洞,但是用戶A的電腦中安裝的是非正版的作業系統,用戶A打了一個「作業系統正版驗證補丁」之後,系 統會提示用戶的環境屬於盜版,用戶A被黑屏或被限制使用。此時,用戶A就會處於一個尷尬的境地他既無法「前進」到新打完補丁的系統,也無法「後退」到沒有打正版驗證補丁前的舊系統。又如,用戶B覺得自己的電腦慢,他想嘗試一下某軟體的「系統翻新」、「重裝高手」等功能,將自己的電腦快速重裝一下。可是,由於種種問題,重裝的過程失敗了(失敗可能是因為軟體產品還不夠穩定,也可能是用戶的環境比較複雜等等)。此時,用戶B也會處於一個尷尬的境地,他既無法「前進」到新重裝後的系統,也無法「後退」到雖然慢一點但仍能使用的舊系統。再如,用戶C給自己的機器打了一個系統補丁,由於種種未知的情況(例如,用戶的作業系統是簡體中文版,他卻給自己打了一個阿拉伯語言版本的系統補丁,結果導致兼容性問題,等等),打完補丁電腦就藍屏了,而且是啟動一次就藍屏一次!用戶C此時也處於一個尷尬的境地,他既無法「前進」到新打完補丁的系統,也無法「後退」到沒有打這個補丁的舊系統。在出現上述問題之後,用戶總是希望能夠退回到原來的系統中,以達到至少可以使用的狀態。為此,現有技術中提供了相應的「災難恢復」方法,由於無論是打補丁還是系統翻新等操作,都是一個新文件替換原始文件的過程,因此,在現有技術為了進行災難恢復,災難恢復工具就可以將所有的文件替換操作記錄下來,並對替換前的原始文件進行備份;一旦出現問題需要進行恢復,災難恢復工具就啟動一個Native程序,用備份的原始文件替換回去,從而使得系統恢復到之前的可用狀態。但是,該方法的前提是系統沒有受到「重創」,也即系統還能正常的啟動、加載Native程序並執行。例如,在前述的第二個例子,就可以使用這種方法進行恢復。但是,對於前述第一及第三個例子而言,系統已經無法啟動了,因此,現有的災難恢復工具就無法實現了。因此,如何在系統無法啟動的情況下依然能夠實現將系統恢復到用戶執行某操作之前的狀態,是迫切需要本領域技術人員解決的技術問題。

發明內容
本發明提供了作業系統恢復方法及系統,能夠在系統無法啟動的情況下依然能夠實現將系統恢復到用戶執行某操作之前的狀態。本發明提供了如下方案一種作業系統恢復方法,包括以第一作業系統作為當前運行環境,對在所述第一作業系統中執行的處理操作進行監控;當監控到預定的處理操作時,記錄所述第一作業系統中的文件處理操作,對處理前的文件進行備份,並安裝第二作業系統;其中,所述備份的文件包括用戶文件以及所述第一作業系統的核心文件;所述用戶文件包括所述第二作業系統中無法處理的文件; 如果在預定的處理操作之後所述第一作業系統無法正常啟動,則以所述第二作業系統作為當前運行環境,利用所備份的核心文件對所述第一作業系統進行恢復,以使得所述第一作業系統能正常啟動;在所述第一作業系統正常啟動後,利用所備份的用戶文件對所述第一作業系統進行恢復,以便將所述第一作業系統恢復到執行所述預定的處理操作之前的狀態。可選的,所述核心文件包括啟動和進入所述第一作業系統所必需的文件。可選的,所述第二作業系統包括預安裝環境、剪裁處理過的磁碟作業系統DOS或Linux作業系統。可選的,所述第二作業系統中無法處理的文件包括文件路徑超過預置的長度閾值的用戶文件,或者,文件路徑中包含有預置類型的字符的用戶文件。可選的,所述預置類型的字符包括第二作業系統中不能識別的字符,或者第二作業系統中預留的關鍵字符。可選的,所述記錄所述第一作業系統中的文件處理操作包括記錄被處理文件的位置信息及標識信息之間的對應關係;所述利用所備份的核心文件對所述第一作業系統進行恢復包括根據所述對應關係以及所備份的核心文件的標識信息,確定所備份核心文件應恢復到的位置,並將所備份的核心文件恢復到對應的位置處;所述利用所備份的用戶文件對所述第一作業系統進行恢復包括根據所述對應關係以及所備份的用戶文件的標識信息,確定所備份的用戶文件應恢復到的位置,並將所備份的用戶文件恢復到對應的位置處。可選的,還包括記錄被處理文件的屬性信息,所述屬性信息包括是否具有第一作業系統開發公司的統一籤名,和/或被處理文件的MD5值;所述利用所備份的核心文件對所述第一作業系統進行恢復之前還包括判斷所備份的核心文件的屬性信息是否與所記錄的被處理文件的屬性信息相同,如果相同,則觸發執行所述利用所備份的核心文件對所述第一作業系統進行恢復的步驟;所述利用所備份的用戶文件對所述第一作業系統進行恢復包括判斷所備份的用戶文件的屬性信息是否與所記錄的被處理文件的屬性信息相同,如果相同,則觸發執行所述利用所備份的用戶文件對所述第一作業系統進行恢復的步驟。可選的,在安裝所述第二作業系統之後,還包括通過修改主引導記錄MBR的方式生成所述第二作業系統的啟動入口,以便在所述第一作業系統無法正常啟動時,通過所述啟動入口啟動所述第二作業系統,以所述第二作業系統作為當前運行環境,對所備份的核心文件進行恢復。一種作業系統恢復系統,包括監控單元,用於以第一作業系統作為當前運行環境,對在所述第一作業系統中執行的處理操作進行監控;記錄備份單元,用於當監控到預定的處理操作時,記錄所述第一作業系統中的文件處理操作,對處理前的文件進行備份,並安裝第二作業系統;其中,所述備份的文件包括用戶文件以及所述第一作業系統的核心文件;所述用戶文件包括所述第二作業系統中無法 處理的文件;第一恢復單元,用於如果在預定的處理操作之後所述第一作業系統無法正常啟動,則以所述第二作業系統作為當前運行環境,利用所備份的核心文件對所述第一作業系統進行恢復,以使得所述第一作業系統能正常啟動;第二恢復單元,用於在所述第一作業系統正常啟動後,利用所備份的用戶文件對所述第一作業系統進行恢復,以便將所述第一作業系統恢復到執行所述預定的處理操作之前的狀態。可選的,所述核心文件包括啟動和進入所述第一作業系統所必需的文件;所述第二作業系統包括預安裝環境、剪裁處理過的磁碟作業系統DOS或Linux作業系統;所述第二作業系統中無法處理的文件包括文件路徑超過預置的長度閾值的用戶文件,或者,文件中包含有預置類型的字符的用戶文件。可選的,所述預置類型的字符包括第二作業系統中不能識別的字符,或者第二作業系統中預留的關鍵字符。可選的,所述記錄備份單元具體用於記錄被處理文件的位置信息及標識信息之間的對應關係;所述第一恢復單元具體用於根據所述對應關係以及所備份的核心文件的標識信息,確定所備份核心文件應恢復到的位置,並將所備份的核心文件恢復到對應的位置處;所述第二恢復單元具體用於根據所述對應關係以及所備份的用戶文件的標識信息,確定所備份的用戶文件應恢復到的位置,並將所備份的用戶文件恢復到對應的位置處。可選的,還包括屬性信息記錄單元,用於記錄被處理文件的屬性信息,所述屬性信息包括是否具有第一作業系統開發公司的統一籤名,和/或被處理文件的MD5值;所述第一恢復單元具體用於判斷所備份的核心文件的屬性信息是否與所記錄的被處理文件的屬性信息相同,如果相同,則觸發執行所述利用所備份的核心文件對所述第一作業系統進行恢復的步驟;所述第二恢復單元具體用於
判斷所備份的用戶文件的屬性信息是否與所記錄的被處理文件的屬性信息相同,如果相同,則觸發執行所述利用所備份的用戶文件對所述第一作業系統進行恢復的步驟。可選的,還包括啟動入口生成單元,用於在安裝所述第二作業系統之後,通過修改主引導記錄MBR的方式生成所述第二作業系統的啟動入口,以便在所述第一作業系統無法正常啟動時,通過所述啟動入口啟動所述第二作業系統,以所述第二作業系統作為當前運行環境,對所備份的核心文件進行恢復。根據本發明提供的具體實施例,本發明公開了以下技術效果通過本發明,能夠對用戶執行的處理操作進行監控,如果發現用戶執行某種可能會有風險的處理操作,就可以對該處理操作過程中產生的文件處理情況進行記錄,並對處理前的文件進行備份,同時安裝第二作業系統;這樣,如果用戶的處理操作確實導致第一作業系統損壞甚至不能正常啟動,則可以啟動第二作業系統,在第二作業系統中對系統的核 心文件進行恢復,先將第一作業系統恢復到能夠啟動的狀態;然後,再在第一作業系統中對用戶文件進行恢復,最終將第一作業系統恢復到用戶執行處理操作前的狀態。可見,即使用戶的處理操作導致作業系統不能正常啟動,仍然能夠實現對作業系統的恢復,避免當作業系統受到「重創」以至於不能正常啟動時,就無法進行作業系統的恢復的問題。


為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖I是本發明實施例提供的方法的流程圖;圖2是本發明實施例提供的系統的示意圖。
具體實施例方式下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員所獲得的所有其他實施例,都屬於本發明保護的範圍。首先需要說明的是,「打補丁」、「系統翻新」等處理操作實質上都是文件處理的過程,其中的文件處理可以包括原始文件的修改(相當於新文件替換原始文件)、原始文件的刪除、新文件的增加等等。在實現本發明的過程中發現,在用戶執行了安裝補丁文件、查殺木馬處理操作等之後,之所以會出現作業系統無法重新啟動的問題,是因為安裝補丁文件、系統翻新等操作通常會修改(替換或刪除)作業系統的一些核心文件,如果修改後的核心文件不再符合啟動和進入作業系統的條件,就會使得作業系統無法正常啟動。為了在出現上述問題之後,能夠對作業系統進行修復,本發明實施例提出了具體的解決方案,在該解決方案中,可以在作業系統中安裝一應用程式(為便於描述,在本發明實施例中,將其稱為「系統恢復工具」),通過該系統恢復工具執行本發明實施例中的各個步驟。
參見圖1,本發明實施例提供的作業系統恢復方法可以包括以下步驟SlOl :以第一作業系統作為當前運行環境,對在所述第一作業系統中執行的處理操作進行監控;第一作業系統也就是用戶自行安裝並且當前正在使用的作業系統,可以通過安裝驅動等方式來監控用戶執行了何種具體的處理操作。或者,在本發明實施例中,可以藉助於一些安全產品來實現對用戶操作的監控。例如,一些的安全產品中都具有「查殺木馬」、「清理插件」、「漏洞修復」等操作入口(例如,安全軟體的界面中可以提供「查殺木馬」、「清理插件」、「漏洞修復」按鈕等等),用戶可以通過該操作入口來執行漏洞修復(也就是在作業系統中進行安裝補丁文件)的操作等等;而這種操作入口是安全產品提供的,因此,用戶在通過這種操作入口執行操作的時候,安全產品自然就會獲知用戶執行了何種操作。因此,具體實現時,前文所述的系統恢復工具可以集成在安全產品中,成為該安全產品的一個功能模塊;當然也可以獨立於安全產品,但該系統恢復工具可以與安全產品有一定的信息交互,例如,安全產品監控到用戶執行了處理操作時,就可以將相關的信息通知給該系統恢復工具,等
坐寸οS102 :當監控到預定的處理操作時,記錄所述第一作業系統中的文件處理操作,對處理前的文件進行備份,並安裝第二作業系統;其中,所述備份的文件包括用戶文件以及所述第一作業系統的核心文件;所述用戶文件所述第二作業系統中無法處理的文件;可以預先將一些可能會存在風險的操作以列表、黑名單等方式記錄下來,這樣,在監控到用戶執行某處理操作時,就可以首先判斷當前正在執行的操作是否在該列表或黑名單中,如果存在,則證明用戶執行某種預定的處理操作,該操作可能會給當前的第一作業系統帶來風險。此時,本發明實施例就可以對執行該操作的過程中產生的文件處理操作進行記錄,並對處理前的文件進行備份。如前文所述,由於「打補丁」、「系統翻新」等處理操作都是文件處理的過程,因此,如果「打補丁」或「系統翻新」之後出現了問題,只要能夠將原有的原始文件恢復回去,並儘可能的還原用戶的所有原始數據(這些數據甚至包括原桌面背景文件),就可以使得作業系統恢復到執行處理操作之前的狀態。因此,在本發明實施例中,就是要在檢測到用戶正在執行某種預定的處理操作時,對文件處理的過程進行記錄,並對處理前的原始文件進行備份。對文件處理的過程進行記錄主要是要記錄下被處理文件的位置信息及標識信息,具體實現時,可以生成一個文件處理日誌列表,列表中的各條記錄保存各個被處理文件的位置信息與標識信息之間的對應關係。其中位置信息是指被處理文件所在的位置,也就是原始文件需要恢復到的位置,一般可以以文件路徑的方式進行記錄;標識信息用於標識具體被處理的文件,具體的標識信息可以是文件名或者文件的MD5值,等等。在記錄下上述信息的同時,還需要將被處理的文件(也就是原始文件)進行備份,這樣一旦發現系統出現問題,就可以對備份的文件進行恢復,例如根據備份的文件的標識信息找到該文件的位置,然後將備份的文件保存到該位置即可。其中,備份的文件包括用戶文件以及第一作業系統的核心文件,其中,用戶文件就是指用戶在系統中保存或者安裝的用戶配置文件,包括前文所述的桌面背景文件,另外還可以包括桌面上的文件、開始菜單裡的文件、快速啟動欄裡的快捷方式,甚至瀏覽器收藏夾裡收藏的網頁等等;作業系統的核心文件可以包括指啟動和進入所述第一作業系統所必需的文件,這種文件可以包括ntoskrnl. exe (微軟作業系統內核文件)、ntoskrnl. exe (單核非 PAE 鏡像)、ntkrnlpa. exe 等;還可以包括 win32k. sys (Windows 圖形子系統)、hal. dll(硬體抽象層)、所有的Boot-O級驅動程序、註冊表核心Hive文件等等。具體實現時,在執行某種特定的處理操作的過程中,對於系統的核心文件而言,可能僅涉及到上述各種核心文件中的一部分,因此,在備份時,可以僅對被處理的核心文件進行備份,而不是全部的核心文件。系統恢復軟體在對被處理的文件進行備份之後,可以釋放並安裝第二作業系統,在該第二作業系統被啟動之後,可以自動運行一段程序,用以完成一些將原始文件替換回去的操作,以便將第一作業系統恢復到能夠啟動的狀態。其中,由於僅需要在第二作業系統中執行文件的處理操作,因此,第二作業系統不需要具有非常完備的功能,只要能夠支持程序的運行,完成文件處理即可,因此,第二作業系統可以是PE (Preinstallation Environment,預安裝環境)、剪裁處理過的DOS (DiskOperating System,磁碟作業系統)或Linux作業系統,等等。其中,PE系統是指是帶有限 服務的最小Win32子系統,可以基於以保護模式運行的Windows XP Professional內核。它包括運行Windows安裝程序及腳本、連接網絡共享、自動化基本過程以及執行硬體驗證所需的最小功能。這樣可以保證能夠完成在本發明實施例中所需的功能的前提下,儘量小地佔用存儲及計算資源。所謂剪裁處理過的DOS以及Linux作業系統,其目的也是為了儘量小的佔用資源,因此,可以不必安裝完整的DOS或者Linux作業系統,而是將DOS或者Linux作業系統的功能進行剪裁,只要能夠支持基本的軟體運行功能即可。其中,具體的系統剪裁方法可以參見已有技術中的實現,這裡不再贅述。具體實現時,可以在安裝系統恢復軟體的同時,將第二作業系統的安裝包保存在某指定的文件夾中,這樣,當需要安裝第二作業系統時,直接到該文件夾中找到該安裝包,將其釋放並安裝即可。其中,在實際應用中,可以在系統恢復軟體檢測到用戶正在可疑的處理操作,或者檢測到某進程正在替換一些關鍵性的文件時,就自動安裝第二作業系統;或者,也可以是在檢測到可以的處理操作或者檢測到關鍵性文件的處理事件時,向用戶發出提示消息,例如,提示用戶當前的操作可能對作業系統帶來的風險,並詢問用戶是否安裝第二作業系統,如果用戶同意,再執行第二作業系統的安裝操作。具體實現時,無論是自動安裝第二作業系統,還是在用戶同意的情況下安裝第二作業系統,都可以對MBR (Master Boot Record,主引導記錄)進行修改,以便生成第二作業系統的啟動項。之所以要修改MBR是因為,計算機在上電後,BIOS (Basic Input OutputSystem,基本輸入輸出系統)會讀取MBR到內存0x0000:7C00處並執行。也就是說MBR控制著系統的啟動入口,因此,為了使得第二作業系統能啟動,就需要修改MBR。這樣生成的第二作業系統的啟動入口,會不依賴於現有第一作業系統,即使第一作業系統被損壞無法正常啟動,依然能夠獨立完成第二作業系統的啟動工作。在通過上述方式安裝第二作業系統的啟動入口的情況下,用戶在下次開機時,就可以在啟動界面中看到至少兩個啟動項,其中一個是第一作業系統的啟動項,還有一個是第二作業系統的啟動項。用戶可以首先點擊第一作業系統的啟動項,嘗試進入第一作業系統,如果發現第一作業系統無法進入,就可以點擊第二作業系統的啟動項,來進入第二作業系統。當然,如果用戶在點擊第一作業系統的啟動項之後,正常進入了第一作業系統,則證明第一作業系統並沒有受到重創,還能夠正常啟動,此時,系統恢復程序可以獲取到這一信息,然後就可以將所有備份文件及痕跡清除掉,還可以將第二作業系統卸載,這樣,用戶再次啟動計算機時,就不會再看到該第二作業系統的啟動項了。具體實現時,為了檢測第一作業系統是否能夠正常啟動,可以將系統恢復軟體設置為作業系統啟動後自動運行,因此,只要系統恢復軟體能夠運行,則證明作業系統是能夠正常啟動的,當然,還可以使用其他的檢測方式,這裡不再詳述。S103:如果在預定的處理操作之後所述第一作業系統無法正常啟動,則以所述第二作業系統作為當前運行環境,利用所備份的核心文件對所述第一作業系統進行恢復,以使得所述第一作業系統能正常啟動;如前文所述,如果第一作業系統無法正常啟動,則可以在檢測到用戶的選擇操作觸發時,啟動第二作業系統,啟動之後,就可以自動運行一段代碼,進行系統核心文件的恢復操作。其中,這段代碼也可以看做是系統恢復程序的一部分,只不過運行在另一個作業系統中,第二作業系統如果是DOS系統,則這個程序是一個DOS程序,由DOS作業系統啟動,如果是剪裁的Linux系統,則這個程序就是一個Linux平臺下的程序,那麼它將會由Linux操 作系統啟動,以此類推。具體在對核心文件進行恢復時,可以根據步驟S102中記錄及備份的信息,將被替換的原始文件按照原來的位置重新替換回去,和/或,將被刪除的原始文件重新保存到原來的位置處,等等。也就是說,對於進入和啟動第一作業系統所必需的文件,如果某些文件被替換了或者被刪除了,則可能導致該第一作業系統無法正常啟動,此時,只要將被替換的文件重新替換回去,將被刪除的文件重新添加回原來的位置,這樣,就可以保證第一作業系統能夠正常啟動。具體實現時,第二作業系統中運行的程序在進行核心文件的恢復時,可以首先識別第一作業系統分區信息,然後嘗試對第一作業系統的核心文件執行替換、新增等恢復操作。其中,識別分區信息的過程主要是識別出分區的類型,以便基於具體的分區類型執行後續的文件處理操作。例如,對於Windows系統而言,其分區類型大致分為FAT (FileAllocation Table,文件配置表,例如FAT32,是指32位的文件配置表)和NTFS (NewTechnology File System,新技術文件系統)兩種類型,如果不能識別出分區的類型,則可能無法正確的操作分區下的文件。具體實現時,基於不同的第二作業系統,具體的識別方法可能會有所差別,例如,在第一作業系統為Windows的情況下,如果第二作業系統是Linux系統,則可以基於NTFS3g開源項目識別Windows分區;如果第二作業系統是DOS系統,可以基於NTFS for DOS項目識別Windows分區,等等,具體的識別方法這裡不再詳述。其中,具體在利用所備份的核心文件對第一作業系統進行恢復時,具體的恢復操作就是執行預定處理時對文件操作的逆過程。例如,如果翻新系統或者打補丁等預定處理進行了刪除文件的操作,那麼恢復時執行的逆操作就是將備份的文件重新添加回來(可以使用系統的API =MoveFile);如果翻新系統或者打補丁等預定處理進行了創建文件(創建是需要記錄下)操作,那麼恢復時執行的逆操作應該是將創建出來的文件刪除(可以使用系統的API =DeleteFile);如果翻新系統或者打補丁等預定處理進行了替換文件操作,那麼恢復時執行的逆操作應該是將文件反向替換(可以使用系統的API MoveFile)0需要說明的是,在第二作業系統中執行對核心文件的恢復時,還可以對文件的完整性、真實性進行校驗,以保證恢復之後的文件是完整的、真實的,這樣才能保證第一作業系統能夠正常啟動。具體在進行校驗時,可以有多種實現方式,例如,核心文件屬於系統文件,而系統文件一般都是有籤名的,籤名如果被破壞則文件不可信,因此,可以通過文件的籤名來驗證文件的完整及真實性。另外,MD5 (Message Digest Algorithm 5,消息摘要算法第五版)算法也可以保證文件的可信、一致性。具體實現時,為了完成上述驗證過程,可以在備份文件的同時,記錄下文件的籤名、MD5值等信息,在執行文件的恢復操作時,首先判斷備份的文件是否具有籤名、MD5值是否與備份時記錄的相同,如果兩次判斷的結果均為是,再進行文件的替換、添加等操作。例如,假設要刪除的文件是C: \Windows\System32\Test. exe,這個文件是第一系統的核心文件(含有第一作業系統開發公司的統一籤名)、並且這個文件的MD5是acbf8178783e22cae3606a45808708f520128。則在發現正在刪除這個文件的操作時,需要執行以下操作首先備份C:\Windows\System32\Test. exe這個文件到一個目錄,比如C: \$360SysReset$\Backup\Test. exe ;同時,記錄文件的屬性有第一作業系統開發公司的統一籤名、MD5是acbf8178783e22cae3606a45808708f520128。這樣在文件處理日誌列表中就可以生成以下這樣一條記錄操作類型MoveFile操作源路徑C:\$360SysReset$\Backup\Test. exe操作目標路徑C:\Windows\System32\Test. exe是否含有第一作業系統開發公司統一籤名是文件MD5 acbf8178783e22cae3606a45808708f520128這樣,在對第一作業系統進行恢復時,第二作業系統中的程序就會讀取這條記錄準備執行逆操作,具體的逆操作步驟如下首先,判斷C: \$360SysReset$\Backup\Test. exe這個文件是否真的含有第一作業系統開發公司籤名(因為日誌裡記錄了這個文件應該是有籤名的,如果沒有則說明C: \$360SysReset$\Backup\Test. exe這個文件備份錯誤,不能冒然進行逆操作;然後,判斷C: \$360SysReset$\Backup\Test. exe 這個文件的 MD5 是否為 acbf8178783e22cae3606a45808708f520128 (如果不是則說明 C: \$360SysReset$\Backup\Test. exe這個文件備份錯誤,同樣不能冒然進行逆操作;如果前兩步判斷都沒問題,則可以開始逆操作=MoveFile,也即將C: \$360SysReset$\Backup\Test. exe 這個文件移動到 C:\Windows\System32\Test. exe 這個路徑。所有的逆操作過程都可以和上述描述類似。加入「籤名校驗」和「MD5校驗」可以
增強穩定性。S104:在所述第一作業系統正常啟動後,利用所備份的用戶文件對所述第一作業系統進行恢復,以便將所述第一作業系統恢復到執行所述預定的處理操作之前的狀態。在經過步驟S103的處理之後,可以使得第一作業系統能夠正常啟動,用戶再次重新啟動計算機時,就可以通過第一作業系統的啟動項,進入到第一作業系統。但在步驟S103中僅對第一作業系統的核心文件進行了恢復操作,此時第一作業系統僅僅恢復到了能夠啟動的狀態,而要想恢復到用戶執行漏洞修復等處理前的狀態,還需要對涉及到的用戶文件進行恢復。因此,在第一作業系統正常啟動之後,還可以對涉及到的用戶文件進行恢復,具體對用戶文件進行恢復的過程同樣可以包括文件的替換、增加等操作。在實際應用中,如果第一作業系統是Windows作業系統,則具體的文件恢復操作同樣可以調用系統的Native程序來完成。當然,在對用戶文件恢復的過程中,同樣可以依據在步驟S102中記錄下的被處理文件的位置、標識等信息,來實現文件的替換、增加、刪除等操作。並且,在恢復的過程中,還可以對用戶文件進行校驗,以保證恢復後的文件的完整性、真實性。具體在對用戶文件進行校驗時,與對系統核心文件的校驗類似,只不過用戶文件不像系統核心文件那樣,具有作業系統開發公司的統一籤名,因此,只能通過MD5值進行校驗,具體的,假設生成的文件處理日誌為操作類型MoveFile操作源路徑C:\$360SysReset$\Backup\Users\The_Evolution_of_TDL. pdf 操作目標路徑C:\Documents and Settings\Administrator\ 桌面 \The_EvoIution_of_TDL. pdf是否含有第一作業系統開發公司的統一籤名否文件MD5 8dbf8178793e22cae6606a45808708f520189之後,如果需要對文件進行恢復,則第一作業系統會讀取這條日誌準備進行「逆操作」。具體的逆操作步驟如下(I)判斷 C:\$360SysReset$\Backup\Users\The_Evolution_of_TDL. pdf 的 MD5是否為 8dbf8178793e22cae6606a45808708f520189,如果不是則說明 C: \$360SysReset$\Backup\Users\The_Evolution_of_TDL. pdf文件備份錯誤,不能冒然進行逆操作(2)如果上述判斷沒問題,則可以開始執行逆操作=MoveFile,將C:\$360SysReset$\Backup\Users\The_Evolution_of_TDL. pdf 的文件移動到 C:\Documents and Settings\Administrator\ 桌面 \The_Evolution_of_TDL. pdf 這個路徑。可見,在本發明實施例中,對於系統的核心文件,是在第二作業系統中進行恢復的,而對於用戶文件,是在第一作業系統能夠啟動之後,在第一作業系統中恢復的,之所以這樣進行是因為第二作業系統僅僅是能夠完成一些基本功能的小型作業系統,在這種作業系統中,可能無法處理路徑過長的文件,或者路徑中包含有非英文字符的文件;而對於一些用戶文件而言,由於是用戶進行保存或者命名的,可能會具有比較長的路徑,並且,路徑中經常會存在中文等非英文字符,因此,如果在第二作業系統中進行恢復,則可能會失敗。例如,如果第二作業系統是剪裁過的DOS系統,則能夠處理的文件一般有以下限制文件的路徑長度不能超過260個字符(DOS的能夠處理的最大路徑MAX_PATH是260),如超出則無法實現文件的替換等操作,另外,路徑裡不能包含有預置類型的字符等等。因此,在本發明實施例中,就採用了上述實現方式,最終使得作業系統能夠恢復到用戶執行某處理操作之前的狀態。其中,所述的預置類型的字符可以包括在第二作業系統中無法識別的字符,或者第二作業系統保留的關鍵字等等。例如,在DOS系統中只能識別英文字符,而中文、日文等字符都無法識別,但是用戶文件由於是由用戶創建的,因此,對於非英文用戶而言,文件名或者文件路徑中都有可能包含非英文字符,對於這種文件,DOS系統中就無法進行替換等處理操作。另外,如果用戶文件的文件路徑中存在DOS系統的保留關鍵字,則DOS也無法處理。DOS系統的保留關鍵字是指DOS作業系統中的幾個特殊名稱,包括C0M1、COM2……
C0M9,LPTU LPT2......LPT9,PRN, NUL, CON等。這些名稱往往具有特殊的含義,例如,COM代
表串口,LPT代表並口,PRN代表印表機,NUL代表空,CON代表屏幕。這些保留關鍵字意味著,任何文件都不能起這個名字。例如,如果用戶想創建一個文件叫c:\con (注意,沒有擴展名,就叫con),它在C盤根目錄下,這在DOS系統下實際上是不可以的,而在Windows環境下,用戶卻可以創 建出一個文件叫c:\con,因此,用戶文件的文件路徑中就很可能會包含這樣的關鍵字,但這在DOS系統中是無法處理的,只有回到Windows操作系中才能處理。需要說明的是,在第一作業系統恢復到能夠正常啟動的狀態之後,系統恢復工具還可以將所有備份文件及痕跡清除掉,還可以將第二作業系統卸載,這樣,用戶再次啟動計算機時,就不會再看到該第二作業系統的啟動項了。總之,在本發明實施例中,能夠對用戶執行的處理操作進行監控,如果發現用戶執行某種可能會有風險的處理操作,就可以對該處理操作過程中產生的文件處理情況進行記錄,並對處理前的文件進行備份,同時安裝第二作業系統;這樣,如果用戶的處理操作確實導致第一作業系統損壞甚至不能正常啟動,則可以啟動第二作業系統,在第二作業系統中對系統的核心文件進行恢復,先將第一作業系統恢復到能夠啟動的狀態;然後,再在第一作業系統中對用戶文件進行恢復,最終將第一作業系統恢復到用戶執行處理操作前的狀態。可見,即使用戶的處理操作導致作業系統不能正常啟動,仍然能夠實現對作業系統的恢復,避免當作業系統受到「重創」以至於不能正常啟動時,就無法進行作業系統的恢復的問題。與本發明實施例提供的作業系統恢復方法相對應,本發明實施例還提供了一種作業系統恢復系統,參見圖2,包括監控單元201,用於以第一作業系統作為當前運行環境,對在所述第一作業系統中執行的處理操作進行監控;記錄備份單元202,用於當監控到預定的處理操作時,記錄所述第一作業系統中的文件處理操作,對處理前的文件進行備份,並安裝第二作業系統;其中,所述備份的文件包括用戶文件以及所述第一作業系統的核心文件;所述用戶文件包括所述第二作業系統中無法處理的文件;第一恢復單元203,用於如果在預定的處理操作之後所述第一作業系統無法正常啟動,則以所述第二作業系統作為當前運行環境,利用所備份的核心文件對所述第一作業系統進行恢復,以使得所述第一作業系統能正常啟動;第二恢復單元204,用於在所述第一作業系統正常啟動後,利用所備份的用戶文件對所述第一作業系統進行恢復,以便將所述第一作業系統恢復到執行所述預定的處理操作之前的狀態。其中,所述核心文件包括啟動和進入所述第一作業系統所必需的文件。其中,所述第二作業系統包括預安裝環境、剪裁處理過的磁碟作業系統DOS或Linux作業系統。所述第二作業系統中無法處理的文件包括文件路徑超過預置的長度閾值的用戶文件,或者,文件中包含有預置類型的字符的用戶文件。其中,所述預置類型的字符包括第二作業系統中不能識別的字符,如非英文字符等等,或者第二作業系統中預留的關鍵字符。
具體實現時,記錄備份單元202具體可以用於記錄被處理文件的位置信息及標識信息之間的對應關係;第一恢復單元203具體用於根據所述對應關係以及所備份的核心文件的標識信息,確定所備份核心文件應恢復到的位置,並將所備份的核心文件恢復到對應的位置處;第二恢復單元204具體用於根據所述對應關係以及所備份的用戶文件的標識信息,確定所備份的用戶文件應恢復到的位置,並將所備份的用戶文件恢復到對應的位置處。 為了保證文件的完整性及真實性,該系統還可以包括屬性信息記錄單元,用於記錄被處理文件的屬性信息,所述屬性信息包括是否具有第一作業系統開發公司的統一籤名,和/或被處理文件的MD5值;此時,第一恢復單元203具體用於判斷所備份的核心文件的屬性信息是否與所記錄的被處理文件的屬性信息相同,如果相同,則觸發執行所述利用所備份的核心文件對所述第一作業系統進行恢復的步驟;第二恢復單元204具體可以用於判斷所備份的用戶文件的屬性信息是否與所記錄的被處理文件的屬性信息相同,如果相同,則觸發執行所述利用所備份的用戶文件對所述第一作業系統進行恢復的步驟。此外,該系統還可以包括啟動入口生成單元,用於在安裝所述第二作業系統之後,通過修改主引導記錄MBR的方式生成所述第二作業系統的啟動入口,以便在所述第一作業系統無法正常啟動時,通過所述啟動入口啟動所述第二作業系統,以所述第二作業系統作為當前運行環境,對所備份的核心文件進行恢復。總之,在本發明實施例中提供的上述作業系統恢復系統中,能夠對用戶執行的處理操作進行監控,如果發現用戶執行某種可能會有風險的處理操作,就可以對該處理操作過程中產生的文件處理情況進行記錄,並對處理前的文件進行備份,同時安裝第二作業系統;這樣,如果用戶的處理操作確實導致第一作業系統損壞甚至不能正常啟動,則可以啟動第二作業系統,在第二作業系統中對系統的核心文件進行恢復,先將第一作業系統恢復到能夠啟動的狀態;然後,再在第一作業系統中對用戶文件進行恢復,最終將第一作業系統恢復到用戶執行處理操作前的狀態。可見,即使用戶的處理操作導致作業系統不能正常啟動,仍然能夠實現對作業系統的恢復,避免當作業系統受到「重創」以至於不能正常啟動時,就無法進行作業系統的恢復的問題。通過以上的實施方式的描述可知,本領域的技術人員可以清楚地了解到本發明可藉助軟體加必需的通用硬體平臺的方式來實現。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,該計算機軟體產品可以存儲在存儲介質中,如R0M/RAM、磁碟、光碟等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,伺服器,或者網絡設備等)執行本發明各個實施例或者實施例的某些部分所述的方法。本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於裝置或系統實施例而言,由於其基本相似於方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。以上所描述的裝置及系統實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部模塊來實現本實施例方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。
以上對本發明所提供的作業系統恢復方法及系統,進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本發明的方法及其核心思想;同時,對於本領域的一般技術人員,依據本發明的思想,在具體實施方式
及應用範圍上均會有改變之處。綜上所述,本說明書內容不應理解為對本發明的限制。
權利要求
1.一種作業系統恢復方法,其特徵在於,包括 以第一作業系統作為當前運行環境,對在所述第一作業系統中執行的處理操作進行監控; 當監控到預定的處理操作時,記錄所述第一作業系統中的文件處理操作,對處理前的文件進行備份,並安裝第二作業系統;其中,所述備份的文件包括用戶文件以及所述第一作業系統的核心文件;所述用戶文件包括所述第二作業系統中無法處理的文件; 如果在預定的處理操作之後所述第一作業系統無法正常啟動,則以所述第二作業系統作為當前運行環境,利用所備份的核心文件對所述第一作業系統進行恢復,以使得所述第一作業系統能正常啟動; 在所述第一作業系統正常啟動後,利用所備份的用戶文件對所述第一作業系統進行恢復,以便將所述第一作業系統恢復到執行所述預定的處理操作之前的狀態。
2.根據權利要求I所述的方法,其特徵在於,所述核心文件包括啟動和進入所述第一作業系統所必需的文件。
3.根據權利要求I所述的方法,其特徵在於,所述第二作業系統包括預安裝環境、剪裁處理過的磁碟作業系統DOS或Linux作業系統。
4.根據權利要求I所述的方法,其特徵在於,所述第二作業系統中無法處理的文件包括文件路徑超過預置的長度閾值的用戶文件,或者,文件路徑中包含有預置類型的字符的用戶文件。
5.根據權利要求4所述的方法,其特徵在於,所述預置類型的字符包括第二作業系統中不能識別的字符,或者第二作業系統中預留的關鍵字符。
6.根據權利要求I所述的方法,其特徵在於,所述記錄所述第一作業系統中的文件處理操作包括 記錄被處理文件的位置信息及標識信息之間的對應關係; 所述利用所備份的核心文件對所述第一作業系統進行恢復包括 根據所述對應關係以及所備份的核心文件的標識信息,確定所備份核心文件應恢復到的位置,並將所備份的核心文件恢復到對應的位置處; 所述利用所備份的用戶文件對所述第一作業系統進行恢復包括 根據所述對應關係以及所備份的用戶文件的標識信息,確定所備份的用戶文件應恢復到的位置,並將所備份的用戶文件恢復到對應的位置處。
7.根據權利要求I所述的方法,其特徵在於,還包括 記錄被處理文件的屬性信息,所述屬性信息包括是否具有第一作業系統開發公司的統一籤名,和/或被處理文件的MD5值; 所述利用所備份的核心文件對所述第一作業系統進行恢復之前還包括 判斷所備份的核心文件的屬性信息是否與所記錄的被處理文件的屬性信息相同,如果相同,則觸發執行所述利用所備份的核心文件對所述第一作業系統進行恢復的步驟;所述利用所備份的用戶文件對所述第一作業系統進行恢復包括 判斷所備份的用戶文件的屬性信息是否與所記錄的被處理文件的屬性信息相同,如果相同,則觸發執行所述利用所備份的用戶文件對所述第一作業系統進行恢復的步驟。
8.根據權利要求I所述的方法,其特徵在於,在安裝所述第二作業系統之後,還包括通過修改主引導記錄MBR的方式生成所述第二作業系統的啟動入口,以便在所述第一作業系統無法正常啟動時,通過所述啟動入口啟動所述第二作業系統,以所述第二作業系統作為當前運行環境,對所備份的核心文件進行恢復。
9.一種作業系統恢復系統,其特徵在於,包括 監控單元,用於以第一作業系統作為當前運行環境,對在所述第一作業系統中執行的處理操作進行監控; 記錄備份單元,用於當監控到預定的處理操作時,記錄所述第一作業系統中的文件處理操作,對處理前的文件進行備份,並安裝第二作業系統;其中,所述備份的文件包括用戶文件以及所述第一作業系統的核心文件;所述用戶文件包括所述第二作業系統中無法處理的文件; 第一恢復單元,用於如果在預定的處理操作之後所述第一作業系統無法正常啟動,則以所述第二作業系統作為當前運行環境,利用所備份的核心文件對所述第一作業系統進行恢復,以使得所述第一作業系統能正常啟動; 第二恢復單元,用於在所述第一作業系統正常啟動後,利用所備份的用戶文件對所述第一作業系統進行恢復,以便將所述第一作業系統恢復到執行所述預定的處理操作之前的狀態。
10.根據權利要求9所述的系統,其特徵在於,所述核心文件包括啟動和進入所述第一作業系統所必需的文件;所述第二作業系統包括預安裝環境、剪裁處理過的磁碟作業系統DOS或Linux作業系統;所述第二作業系統中無法處理的文件包括文件路徑超過預置的長度閾值的用戶文件,或者,文件中包含有預置類型的字符的用戶文件。
11.根據權利要求10所述的系統,其特徵在於,所述預置類型的字符包括第二作業系統中不能識別的字符,或者第二作業系統中預留的關鍵字符。
12.根據權利要求9所述的系統,其特徵在於,所述記錄備份單元具體用於 記錄被處理文件的位置信息及標識信息之間的對應關係; 所述第一恢復單元具體用於 根據所述對應關係以及所備份的核心文件的標識信息,確定所備份核心文件應恢復到的位置,並將所備份的核心文件恢復到對應的位置處; 所述第二恢復單元具體用於 根據所述對應關係以及所備份的用戶文件的標識信息,確定所備份的用戶文件應恢復到的位置,並將所備份的用戶文件恢復到對應的位置處。
13.根據權利要求9所述的系統,其特徵在於,還包括 屬性信息記錄單元,用於記錄被處理文件的屬性信息,所述屬性信息包括是否具有第一作業系統開發公司的統一籤名,和/或被處理文件的MD5值; 所述第一恢復單元具體用於判斷所備份的核心文件的屬性信息是否與所記錄的被處理文件的屬性信息相同,如果相同,則觸發執行所述利用所備份的核心文件對所述第一作業系統進行恢復的步驟; 所述第二恢復單元具體用於 判斷所備份的用戶文件的屬性信息是否與所記錄的被處理文件的屬性信息相同,如果相同,則觸發執行所述利用所備份的用戶文件對所述第一作業系統進行恢復的步驟。
14.根據權利要求9所述的系統,其特徵在於,還包括 啟動入口生成單元,用於在安裝所述第二作業系統之後,通過修改主引導記錄MBR的方式生成所述第二作業系統的啟動入口,以便在所述第一作業系統無法正常啟動時,通過所述啟動入口啟動所述第二作業系統,以所述第二作業系統作為當前運行環境,對所備份的核心文件進行恢復。
全文摘要
本發明公開了一種作業系統恢復方法及系統,該方法包括對在所述第一作業系統中執行的處理操作進行監控;當監控到預定的處理操作時,記錄所述第一作業系統中的文件處理操作,對處理前的文件進行備份,並安裝第二作業系統;其中,所述備份的文件包括用戶文件以及所述第一作業系統的核心文件;所述用戶文件包括所述第二作業系統中無法處理的文件;如果在預定的處理操作之後所述第一作業系統無法正常啟動,則以所述第二作業系統作為當前運行環境,對所備份的核心文件進行恢復,以使得所述第一作業系統能正常啟動;在所述第一作業系統正常啟動後,對所備份的用戶文件進行恢復,以便將所述第一作業系統恢復到執行所述預定的處理操作之前的狀態。
文檔編號G06F11/14GK102819469SQ20121023069
公開日2012年12月12日 申請日期2012年7月4日 優先權日2012年7月4日
發明者王宇 申請人:北京奇虎科技有限公司, 奇智軟體(北京)有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀