系統復位的製作方法
2023-07-23 20:21:36 4
專利名稱:系統復位的製作方法
技術領域:
本發明涉及計算機軟體,且由其涉及用於將系統復位到其出廠狀態的軟體。
背景技術:
一些傳統作業系統向用戶提供將作業系統和/或計算機上執行的應用程式「回退」或「恢復」到那些組件在先前時間點上存在的狀態的能力。例如,「系統恢復」能力可允許用戶將系統文件、註冊表項、已安裝應用程式、和/或其他組件回退到這些組件在系統故障或失敗之前存在的狀態。類似地,一些作業系統提供了執行「系統復位」的能力,由此作業系統和/或應用程式被復位至其原始的「出廠」設置。通常,系統復位涉及執行系統恢復以使該系統回到其原始存在的、在對該作業系統和/或應用程式做出任何改變之前、和/或在任何數據被存儲到該系統上之前的狀態。(出於便利,術語「系統恢復」和「系統復位」在本文中用於指代這些能力,儘管任一這些術語以及用於描述由任何常規作業系統提供的能力的術語間的任何相似性不應被解讀為將該術語限制在由該作業系統所提供的功能性。)
發明內容
申請人:已經認識到,計算機系統的性能和/或可靠性可出於多種原因的任一種而隨時間降級。例如,作業系統和/或應用程式可開始比先前觀察到更緩慢地運行,或更頻繁地「崩潰」。此現象的一個原因可能是應用程式持續消耗資源,儘管其不再被用戶使用。另一個原因可能是用戶嘗試卸載應用程式而沒有將該應用程式從系統中完全移除。例如,體驗到與應用程式有關的問題的用戶可能試圖卸載它,但這樣做會使該應用程式處於「拆卸」 狀態,或留下可損害系統性能的「垃圾」。又一個原因可能是用戶做出的設置、一個或多個應用程式和/或作業系統之間隨時間產生的衝突。例如,用戶可具有已經在一時間點建立的一組設置,但隨後後來安裝的應用程式導致一些或所有設置以使其與其他設置衝突的方式改變。體驗到降級的系統性能和/或可靠性的用戶可能嘗試執行完全系統恢復,這通常涉及將他/她的個人數據備份至外部存儲設備、重新格式化硬碟驅動器以及隨後重新安裝作業系統和任何應用程式。存在若干與用戶執行完全系統恢復以處理降級的系統性能相關聯的問題。首先,這是非常耗時的運動。此外,一些用戶可能沒有認識到其個人數據必須在啟動完全系統恢復之前被備份至外部存儲設備,且因此可能在硬碟驅動器後來重新格式化時丟失數據。結果是,因通過卸載應用程式來改善系統性能的不成功嘗試而沮喪的用戶可能在其個人數據因執行完全系統恢復而不可挽回地丟失時以雙重的沮喪而告終。用戶通常使用的替代性辦法是嘗試將系統恢復到其曾最優運行的先前狀態,或將其復位至原始的出廠狀態。然而,這些辦法的每一個也存在若干問題。例如,將系統恢復到先前備份版本的先決條件是曾執行過備份。執行備份可能是耗時的過程,且(如上所述) 經常需要外部存儲設備,該設備在需要時可能被錯放和/或難以放置。此外,用戶標識系統何時最優運行以及記得此時他/她需要備份系統以供後來使用是非常困難的。即使用戶相信系統在特定時間最優運行,並記住隨後啟動備份,但用戶的信任可能被錯放,因為系統隨後可能包括後來性能降級的根本原因,即便還沒有顯示任何徵兆。此外,隨執行完全系統恢復一起執行的系統恢復或系統復位涉及用戶將其個人數據備份至外部驅動器,因為常規辦法不能保證用戶的數據不在恢復或復位操作期間被刪除。通過提供一些技術,由此用戶可通過執行系統復位來代替作業系統的現有實例和 /或具有新實例的應用程式而不會干擾用戶在系統上的個人數據,本發明的一些實施例解決了與傳統辦法相關聯的這些和其他缺陷。系統上的任何可能導致性能和/或可靠性降級的應用程式可被完全移除。在作業系統的現有實例和應用程式被移除之前,當發生移除時用戶的個人數據可被留在硬碟上的受保護區域中且不被打擾。當作業系統的新實例被應用時,用戶可重新安裝他/她希望在作業系統上具有的任何應用程式。同樣,本發明的一些實施例可提供簡單的技術,由此用戶可解決系統性能和/或可靠性降級的問題而不會打擾其個人數據且不必要執行耗時、複雜的備份和/或恢復操作。以上是對由所附權利要求書所定義的本發明的非限定性的概述。
附圖不旨在按比例繪製。在附圖中,各個附圖中示出的每個相同或近乎完全相同的組件由同樣的附圖標記來表示。出於簡明的目的,不是每個組件在每張附圖中均被標記。 在附圖中圖1是描繪根據本發明的一些實施例在執行系統復位之前的示例系統配置的框圖;圖2是描繪根據本發明的一些實施例在應用作業系統的新實例時的示例系統配置的框圖;圖3是描繪根據本發明的一些實施例在將用戶設置和帳戶轉移到作業系統的新實例時的示例系統配置的框圖;圖4是描繪根據本發明的一些實施例在移除作業系統的在前實例和/或應用程式時的示例系統配置的框圖;圖5是描繪根據本發明的一些實施例用於執行系統復位的示例過程的流程圖;圖6是描繪可被用於實現本發明的一些實施例的示例計算機的框圖;以及圖7是描繪其上可記錄體現本發明的各方面的示例存儲器的框圖。
具體實施例方式本發明的一些實施例提供了一些技術,由此用戶可通過執行系統復位來解決(例如,由不必要地消耗系統資源的未使用應用程式、嘗試卸載遺留應用程式殘餘的應用程式、 和/或其他原因帶來的)系統性能和/或可靠性降級的問題。在一些實施例中,系統復位以新實例代替系統上作業系統的在前實例,並移除系統上安裝的應用程式,而不會打擾用戶數據。因為用戶數據處於不被打擾,本發明的實施例可允許用戶解決系統性能和/或可靠性降級的問題,而不必要忍受執行完全系統恢復或系統恢復所需要的將個人數據備份到外部存儲設備的耗時的過程、或不必要猜測系統何時最佳運行以便可採取系統後來將被恢復的備份。
本發明的一些實施例提供了包括幾個步驟的過程。首先,用戶數據和設置被標識並編制清單,且隨後被移至存儲器上一個或多個受保護的位置。然後,作業系統的現有實例和系統上的任何應用程式被移除,同時使用戶的個人數據和設置完整。然後應用作業系統的新實例,隨後將用戶設置或其一部分應用至作業系統的新實例。此後,用戶可重新安裝他 /她所需的任何應用程式。因為作業系統的先前實例和系統上的任何應用程式被移除(例如,完全移除),因而用戶可選擇重新安裝的應用程式,使得沒有不希望應用程式的痕跡留在系統上以降級系統性能。進一步,可執行整個過程而不必要將用戶個人數據臨時遷移到外部存儲設備。該過程將在以下參考圖1-4更詳細地描述。圖1是根據本發明的一些實施例在執行系統復位之前的示例系統的高級描繪。在圖1所示的示例中,存儲元件101存儲當前作業系統(OS) 105,其反映任何用戶帳戶110。 存儲元件101上構成當前0S105的信息的位置可以任何適當方式指定。例如,在有華盛頓州雷蒙德的微軟公司提供的Microsoft Windows家族作業系統中,包含當前0S105的信息被存儲在C: \Windows位置中。其他作業系統可指定一個或多個其他位置,或不指定任何位置。本發明的各實施例不限於與任何特定位置中存儲的作業系統一起使用。由於本發明各實施例不限於這一方面,因此存儲元件101可包括任何合適類型的存儲元件。例如,存儲元件101可包括硬碟、快閃記憶體驅動器、和/或任何其他合適類型的無論存儲介質(媒體)。存儲元件101不需要包括物理存儲元件,然而,可替換地包括一個或多個虛擬存儲元件。例如,軟體元件101可經由一個或多個表示一個或多個物理存儲元件的軟體構造來實現。此外,儘管圖1所示的示例僅包括單個存儲元件101,但並非所有本發明的實施例都是如此限制,因為可替換性地使用任何合適數量的存儲元件。本發明的各實施例不限於任何特定的實現方式。在圖1所示的示例中,存儲元件101存儲「標準」位置115處的應用程式。這些應用程式例如可包括安裝在由作業系統指定的用於存儲已安裝應用程式的文件系統位置處的應用程式。例如,在Microsoft Windows家族作業系統中,應用程式115可被存儲在 C:\Program Files目錄中。其他作業系統可指定一個或多個其他位置,或不指定任何用於存儲應用程式115的位置。由於本發明各實施例不限於這一方面,因此可使用任何合適的方式來指定將從系統中移除的應用程式。在圖1的示例中,存儲元件101也存儲「非標準」位置120處的數據和應用程式。 在一些實施例中,數據和應用程式120可表示未被當前0S105和應用程式115涵蓋的存儲元件101上存儲的任何信息。然而,並非所有本發明的實施例都如此限制。將被保留的數據和應用程式可以任何合適的方式被指定。例如,一些實施例可掃描存儲元件101以標識似乎存儲用戶個人數據、帳戶、應用程式和/或設置的存儲位置,查找已知慣用於存儲此類信息的存儲位置(例如,文件夾),或以任何合適的方式標識數據和應用程式120。圖2描繪了作業系統125的新實例被應用於存儲元件101後的圖1示出的示例系統。在一些實施例中,作業系統125的新實例是OS的「乾淨副本」,其中所有設置都置於默認模式,且不包括作業系統可另行提供的應用程式。然而,由於本發明的各實施例並不限於此方面,因此新的作業系統實例可結合任何合適的設置和/或應用程式。可以多種方式的任一種執行將作業系統125的新實例應用於存儲元件101。例如,一些實施例可涉及轉移「恢復鏡像」,其包括從外部介質(例如記錄盤)新安裝作業系統所需的數據正文。其他實施例可涉及從存儲元件101上的恢復分區檢索恢復鏡像。在這一方面,一些計算機和/或存儲元件製造商可在存儲元件上在與存儲作業系統的「活動」(live) 實例的位置分離的位置處加載恢復鏡像,以便於需要時重新安裝作業系統。還有其他實施例可涉及將當前0S105啟動至離線環境(這在一些實施例中是其中沒有執行作業系統的執行環境)以創建構成OS的新實例125的恢復鏡像。離線環境可例如僅包括允許特定目標程序所必需的組件。當啟動至該環境時,由當前作業系統105執行這些程序可能導致生成恢復鏡像。隨後恢復鏡像可被應用於存儲元件101,如圖2所示。OS的新實例125可以任何合適方式被存儲在存儲元件101上。例如,在一些實施例中,OS的新實例125可被存儲在不同於存儲當前0S105的文件夾的一個或多個文件夾中。 本發明的各實施例不限於將OS的新實例125存儲在任何特定位置。作為將OS的新實例125應用於存儲元件101的結果,作業系統的兩個實例現在駐留在存儲元件101上,其中當前0S105反映用戶的設置、帳戶和其他信息。圖3描繪了正被修改以將這些設置、帳戶和其他信息應用於OS的新實例125的示例例系統。具體地,圖3 指示在130,用戶的設置、帳戶和其他信息從當前0S105轉移到OS的新實例125。這可以多種方式的任一種來執行。例如,在一些實施例中,當前0S105維護的一個或多個註冊表單元 (hive)被遷移至由OS的新實例125維護的註冊表。將用戶的設置、帳戶和其他信息遷移至OS的新實例125可包括執行多個動作的任一個。在一些實施例中,遷移可包括修改設置,諸如阻止已知由現有設置產生的將來問題。 例如,如果已知(例如,基於若干對幫助欄(help line)的用戶調用)特定設置或設置組合是有問題的,則(諸)設置可不被應用於OS的新實例125。例如,如果已知用戶由於與無線網絡配置有關的某些設置而體驗到了問題(這可能因為用戶實現了錯誤設置、因為應用程式隨時間改變了設置、和/或出於其他原因而導致),則那些設置可不被遷移至OS的新實例 125。在一些實施例中,可代替地實現已知會解決該問題的設置或設置組合。本發明的各實施例可以任何合適方式實現。一些用戶設置可不被遷移,因為移除一個或多個應用程式可能使得這些設置過時。例如,用戶桌面上指代將被移除的應用程式的「問題快捷方式」可能不被轉移到OS的新實例125。可採取多種類型動作的任一種來確保轉移到OS的新實例125的任何設置、帳戶和/或其他信息是有效的,且與系統上的其他信息一致。在一些實施例中,移動用戶帳戶111可涉及對數據和應用程式120檢查指定至用戶帳戶的連結的任何數據文件以確保帳戶存在於OS的新副本125。例如,如果用戶A和B 使用所示系統並分別擁有文件A. txt和B. txt,則移動用戶帳戶可能涉及檢查文件A. txt和 B. txt以確保用戶A和B的帳戶被移至OS的新實例125。當然,本發明的各實施例可確保數據可以任何合適方式被任何數量的用戶(包括一個)訪問。圖4描繪了移除當前0S105和應用程式115時的示例系統。移除可以多種方式中的任一種來完成。例如,如果包括當前0S105和應用程式115的信息的存儲位置是已知的, 則該信息可通過一個或多個指定該存儲位置的刪除操作來移除。如果包括當前0S105和應用程式115的信息的所有存儲位置都不是已知的,或不能確定無疑地確定,則可移除未存儲在已知用於存儲OS的新實例125的位置中的所有信息。因為本發明的各實施例並不限於此方面,因此可使用多種技術的任一種來移除當前0S105和應用程式115。本發明的一些實施例可提供發生系統復位前驗證某些條件得到滿足。例如,一些實施例可在開始系統復位前驗證存儲元件101包括對於OS的新實例125來說足夠的存儲空間。如果沒有,用戶可具有首先從存儲元件101中移除(「擦除」)當前0S105,然後(例如,在移除當前0S105之前存儲當前0S105的相同存儲位置中)應用OS的新實例125的靈活性。在圖5中示出了此技術的示例(即,示例過程500)。示例過程500始於動作502,在動作502,在開始系統復位之前執行一個或多個檢查。例如,可確定存儲元件是否包括對於同時存儲作業系統的新實例和當前存儲的作業系統的當前實例兩者來說足夠的存儲空間。在示例過程500中,動作502還包括定位將被用於實例化作業系統的新實例的恢復鏡像。如果作為動作502的檢查的結果確定存儲元件上沒有對於同時存儲作業系統的新實例和作業系統的當前實例兩者來說足夠的存儲空間,則實例過程500前進至動作504, 在動作504,向用戶提供繼續復位將要求移除作業系統的當前實例的指示。在一些實施例中,移除作業系統的當前實例的結果是作業系統的當前實例中反映的任何用戶設置將不被保留,由此執行「出廠復位」。然而,並非本發明的所有實施例都限於此種實現。例如,一些實施例可提供一種能力,由此即便在執行復位前移除作業系統的當前實例,用戶設置仍被保留。如果在動作502確定確實存在對於作業系統的兩個實例來說足夠的存儲空間,且動作502中執行的任何其他驗證是成功的,則示例過程500前進至動作506,其中提示用戶在「基本」和「高級」復位操作間選擇。在一些實施例中,執行「高級」復位包括向用戶呈現與復位有關的某些選項。用戶可從這些選項中選擇以指定執行復位的方式。一個示例選項例如可為,作業系統的當前實例是否在應用新實例之前被移除。可呈現多個選項的任一個。然後在動作508處理選擇基本或高級復位操作的用戶輸入。如果用戶選擇執行高級復位,則示例過程500前進至動作510,在動作510,允許用戶指定與復位操作有關的選項。然後在完成動作510處、或如果在動作508確定用戶選擇基本復位操作、或完成動作 504之際開始動作512。在動作512,作業系統在離線環境中重啟。如上所述,離線環境可為其中不執行作業系統的執行環境。然而,本發明各實施例並不限於此種實現。並且,啟動至離線環境僅僅是將作業系統的新實例應用於存儲元件的一種可能技術。可代替使用多種其他技術的任一種。示例過程500隨後前進至動作514,其中確定是否同意移除作業系統的當前實例 (例如,在動作504呈現警告後、或在用戶在動作506選擇高級復位並隨後在動作510指示應移除當前實例後)。如果這樣,過程500前進至動作516,其中作業系統的當前實例在動作516被移除。然後在動作518應用恢復鏡像,諸如通過在離線啟動環境中執行程序。回到動作514,如果確定不同意移除作業系統的當前實例(例如,因為用戶在動作 506選擇基本復位、或在動作506選擇高級復位但未指定應在動作510移除當前實例),則過程500前進至動作522,在動作522,除已被存儲在存儲元件上的作業系統的當前實例以外,還應用恢復鏡像。示例過程500然後前進至動作524,其中收集並存儲數據和設置,然後在動作5 進行復位。
一旦完成動作5 或518,過程500前進至動作520,其中啟動已應用的恢復鏡像。 然後在動作5 確定是否在應用新實例之前移除作業系統的現有示例。如果是的話,則示例過程500前進至動作530,在動作530,向用戶顯示「首次啟動」體驗。在這一方面,因為在示例過程500中移除作業系統的當前實例導致將執行「出廠復位」,因此動作530可包括允許用戶建立初始設置和/或執行其他配置任務。如果在動作5 確定在應用新實例之前不移除作業系統的現有實例,則示例過程 500前進至動作532,在動作532,(例如,動作524中收集的)數據和/或設置被應用於作業系統新應用的實例。然後示例過程500前進至動作532,其中向用戶呈現關於重新獲取因執行復位而移除的任何應用程式的指導。這可以多種方式的任一種來執行。例如,可向用戶提供對在線設施的接入以允許用戶重新安裝先前購買的程序。一旦完成動作530或534,示例過程500結束。從以上應認識到,本發明的一些實施例可在執行系統復位同時使用戶保留其個人數據和/或定製設置,以便用戶不需要忍受耗時的執行備份至一些用戶可能需要個別購買的外部存儲設備的過程。計算機和/或作業系統廠商可獲得益處,因為這些廠商可能體驗到過涉及執行復位的用戶支持交互的減少,因為簡化復位操作可導致更多用戶有足夠自信獨立執行該操作。此外,在系統復位期間保留用戶數據和/或設置可減少之前因丟失數據和/或設置而導致的用戶支持交互。用於實踐本發明的各特徵的系統和方法的各個方面可被實現在一個或多個計算機系統中,諸如圖6中示出的示例性計算機系統600。計算機系統600包括輸入設備602、 輸出設備601、處理器603、存儲器系統604和存儲606,這些設備全都經由可包括一個或多個總線、交換機、網絡和/或任何其他合適互連的互連機制605來直接或間接地耦合。輸入設備602接收來自用戶或機器(如,人類操作者)的輸入,並且輸出設備601向用戶或機器 (如,液晶顯示器)顯示或傳送信息。輸入和輸出設備主要可用於呈現用戶界面。可用於提供用戶界面的輸出設備的示例包括用於可視地呈現輸出的印表機或顯示屏和用於可聽地呈現輸出的揚聲器或其他聲音生成設備。可用於用戶界面的輸入設備的示例包括鍵盤和諸如滑鼠、觸摸板和數位化輸入板等定點設備。作為另一示例,計算機可以通過語音識別或以其他可聽格式來接收輸入信息。處理器603通常執行被稱為作業系統(例如,微軟Windows系列作業系統或任何其他合適的作業系統)的電腦程式,作業系統控制其他電腦程式的執行並提供調度、 輸入/輸出以及其他設備控制、會計、彙編、存儲安排、數據管理、存儲器管理、通信以及數據流控制。籠統而言,處理器和作業系統定義為其編寫應用程式和其他電腦程式語言的計算機平臺。處理器603還可執行一個或多個電腦程式以實現各種功能。這些電腦程式語言可以用任何類型的電腦程式語言來編寫,包括過程程序設計語言、面向對象的程序設計語言、宏語言、或它們的組合。這些電腦程式可存儲在存儲系統606中。存儲系統606 可將信息保持在易失性或非易失性介質上,並可以是固定或可移動的。在圖7中更詳細地示出了存儲系統606。存儲系統606可包括有形計算機可讀和可寫非易失性記錄介質501,其上存儲有定義電腦程式或要由該程序使用的信息的信號。記錄介質例如可以是盤存儲器、快閃記憶體、和/或可用於記錄和存儲信息的任何其它製品。通常,在操作中,處理器603使得數據從非易失性記錄介質601讀入允許處理器603比對介質502進行的更快的信息訪問的易失性存儲器501 (如,隨機存取存儲器,即RAM)中。如圖6所示,存儲器502可位於存儲系統606中或位於存儲器系統604中。處理器604 —般處理集成電路存儲器604、502內的數據,隨後在處理結束之後將這些數據複製到介質501中。已知有各種機制可用於管理介質501和集成電路存儲元件604、502之間的數據移動,並且本發明不限於當前已知的或以後研發的任何機制。本發明也不限於特定的存儲器系統604或存儲系統606。描述了本發明的至少一個實施例的若干方面,可以理解,本領域的技術人員可容易地想到各種更改、修改和改進。這樣的更改、修改和改進旨在是本發明的一部分,且旨在處於本發明的精神和範圍內。從而,上述描述和附圖僅用作示例。可以多種方式中的任一種來實現本發明的上述實施例。例如,可使用硬體、軟體或其組合來實現各實施例。當使用軟體實現時,該軟體代碼可在無論是在單個計算機中提供的還是在多個計算機和/或系統之間分布的任何合適的處理器或處理器的集合上執行。儘管可使用以任何適合的形式的電路來實現處理器,但這樣的處理器可被實現為集成電路, 集成電路組件中具有一個或多個處理器。應當理解,執行此處描述的功能的任何組件或組件的集合一般可被認為是控制上述功能的一個或多個控制器。一個或多個控制器可以用眾多方式來實現,諸如用專用硬體、 或通過採用使用執行上述功能的微碼或軟體來編程的一個或多個處理器。在控制器存儲或提供數據以供系統操作的情況下,這些數據可以存儲在中央儲存庫中、多個儲存庫中、或其組合。應當理解,計算機可以用多種形式中的任意一種來具體化,諸如機架式計算機、臺式計算機、膝上型計算機、或平板計算機。此外,計算機可以具體化在通常不被認為是計算機但具有合適的處理能力的設備中,包括個人數字助理(PDA)、智慧型電話、或任何其他適合的可攜式或固定電子設備。同樣,計算機可以具有一個或多個輸入和輸出設備。這些設備主要可用於呈現用戶界面。可用於提供用戶界面的輸出設備的示例包括用於可視地呈現輸出的印表機或顯示屏和用於可聽地呈現輸出的揚聲器或其它聲音生成設備。可用於用戶界面的輸入設備的示例包括鍵盤和諸如滑鼠、觸摸板和數位化輸入板等定點設備。作為另一示例,計算機可以通過語音識別或以其他可聽格式來接收輸入信息。這些計算機可以通過任何合適形式的一個或多個網絡來互連,包括作為區域網或廣域網,如企業網絡或網際網路。這些網絡可以基於任何合適的技術並可以根據任何合適的協議來操作,並且可以包括無線網絡、有線網絡或光纖網絡。而且,此處略述的各種方法或過程可被編碼為可在採用各種作業系統或平臺中任何一種的一個或多個處理器上執行的軟體。此外,這樣的軟體可使用多種合適的程序設計語言和/或程序設計或腳本工具中的任何一種來編寫,而且它們還可被編譯為可執行機器語言代碼或在框架或虛擬環境上執行的中間代碼。在這方面,本發明可被具體化為用一個或多個程序編碼的一個計算機可讀介質 (或多個計算機可讀介質)(如,計算機存儲器、一個或多個軟盤、緊緻盤(CD)、光碟、數字視頻盤(DVD)、磁帶、快閃記憶體、現場可編程門陣列或其他半導體器件中的電路配置、或其他非瞬態的有形計算機可讀存儲介質),當這些程序在一個或多個計算機或其他處理器上執行時,它們執行實現本發明的上述多個實施例的方法。計算機可讀介質或媒體可以是便攜的,使得其上存儲的一個或多個程序可被加載到一個或多個不同的計算機或其它處理器上以實現本發明上述的各個方面。如此處所使用的,術語「非瞬態計算機可讀存儲介質」只包含可被認為是產品(即,製品)或機器的計算機可讀介質。此處以一般的意義使用術語「程序」或「軟體」來指可被用來對計算機或其他處理器編程以實現本發明上述的各個方面的任何類型的計算機代碼或計算機可執行指令集。另外,應當理解,根據本實施例的一個方面,當被執行時實現本發明的方法的一個或多個電腦程式不必駐留在單個計算機或處理器上,而是可以按模塊化的方式分布在多個不同的計算機或處理器之間以實現本發明的各方面。計算機可執行指令可以具有可由一個或多個計算機或其他設備執行的各種形式, 諸如程序模塊。一般而言,程序模塊包括執行特定任務或實現特定抽象數據類型的例程、程序、對象、組件、數據結構等。通常,程序模塊的功能可以按需在多個實施例中進行組合或分布。而且,數據結構能以任何適合的形式存儲在計算機可讀介質上。為簡化說明,數據結構可被示為具有通過該數據結構中的位置而相關的欄位。這些關係同樣可以通過對各欄位的存儲分配傳達各欄位之間的關係的計算機可讀介質中的位置來得到。然而,可以使用任何適合的機制在數據結構的各欄位中的信息之間建立關係,包括通過使用指針、標籤、或在數據元素之間建立關係的其他機制。本發明的各個方面可單獨、組合或以未在前述實施例中特別討論的各種安排來使用,從而並不將其應用限於前述描述中所述或附圖形中所示的組件的細節和安排。例如,可使用任何方式將一個實施例中描述的各方面與其他實施例中描述的各方面組合。同樣,本發明可被具體化為方法,其示例已經提供。作為該方法的一部分所執行的動作可以按任何適合的方式來排序。因此,可以構建各個實施例,其中各動作以與所示的次序所不同的次序執行,不同的次序可包括同時執行某些動作,即使這些動作在此處描述的各說明性實施例中被示為順序動作。在權利要求書中使用諸如「第一」、「第二」、「第三」等序數詞來修飾權利要求元素本身並不意味著一個權利要求元素較之另一個權利要求元素的優先級、先後次序或順序、 或者方法的各動作執行的時間順序,而僅用作將具有某一名字的一個權利要求元素與(若不是使用序數詞則)具有同一名字的另一元素區分開的標籤以區分各權利要求元素。同樣,此處所使用的短語和術語是出於描述的目的而不應被認為是限制。此處對 「包括」、「包含」、或「具有」、「含有」、「涉及」及其變型的使用旨在包括其後所列的項目及其等效物以及其他項目。
權利要求
1.一種計算機系統(600)中使用的方法,所述計算機系統包括存儲作業系統的第一實例(105)、多個應用程式(115)和由所述計算機系統的用戶創建的數據(120)的至少一個存儲元件(101),所述方法包括(A)從所述至少一個存儲元件(101)中移除所述作業系統的第一實例(105)和所述多個應用程式(115);以及(B)在所述至少一個存儲元件(101)上安裝所述作業系統的第二實例(125)以代替所述作業系統的第一實例(105);其中執行(A)和(B)而不必從所述至少一個存儲元件(101)移除所述數據(120)。
2.如權利要求1所述的方法,其特徵在於,所述作業系統的第一實例包括設置,且其中 (B)包括將所述設置的至少一部分應用於所述作業系統的第二實例(125)。
3.如權利要求2所述的方法,其特徵在於,(B)包括在將一個或多個所述設置應用於所述作業系統的第二實例(125)之前修改一個或多個所述設置(110)。
4.如權利要求1所述的方法,其特徵在於,所述作業系統的第一實例(105)包括用戶帳戶(110),且其中(B)包括將所述用戶帳戶的至少一部分遷移至所述作業系統的第二實例 (125)。
5.如權利要求1所述的方法,其特徵在於,(B)包括使用所述作業系統的恢復鏡像。
6.如權利要求5所述的方法,其特徵在於,(B)包括將所述恢復鏡像從外部存儲介質轉移至所述至少一個存儲元件。
7.一種具有其上存儲的指令的計算機可讀存儲介質(604、606、701、702),當執行所述指令時執行一種方法,所述方法用於包括存儲作業系統的第一實例(105)、多個應用程式 (115)和由所述計算機系統的用戶創建的數據(120)的至少一個存儲元件(101)的系統,所述方法包括(A)確定所述至少一個存儲元件(101)是否有足夠的存儲空間用於存儲所述作業系統的第一實例(105)和所述作業系統的第二實例(125)兩者(502);(B)如果在(A)確定所述至少一個存儲元件(101)沒有足夠的存儲空間用於存儲所述作業系統的第一實例(105)和所述作業系統的第二實例(125)兩者(Bi)從所述至少一個存儲元件(101)中移除所述作業系統的第一實例(105)和所述多個應用程式(115) (516);以及(B2)在所述至少一個存儲元件(101)上安裝所述作業系統的第二實例(125)以代替所述作業系統的第一實例(105) (518);其中執行(Bi)和(B》而不必從所述至少一個存儲元件(101)移除所述數據(120);以及(C)如果在(A)確定所述至少一個存儲元件(101)具有足夠的存儲空間用於存儲所述作業系統的第一實例(105)和所述作業系統的第二實例(125)兩者,則(Cl)在所述至少一個存儲元件(101)上安裝所述作業系統的第二實例(125);以及(C2)從所述至少一個存儲元件(101)中移除所述作業系統的第一實例(105)和所述多個應用程式(120);其中執行(Cl)和(以)而不必從所述至少一個存儲元件(101)移除所述數據(120)。
8.如權利要求7所述的計算機可讀存儲介質,其特徵在於,所述作業系統的第一實例(105)包括設置,且(B2)或(Cl)包括將所述設置的至少一部分應用於所述作業系統的第二實例(125) 0
9.如權利要求8所述的計算機可讀存儲介質,其特徵在於,(B2)或(Cl)包括在將一個或多個所述設置應用於所述作業系統的第二實例(125)之前修改一個或多個所述設置。
10.如權利要求7所述的計算機可讀存儲介質,其特徵在於,(B2)或(Cl)包括使用所述作業系統的恢復鏡像(522)。
全文摘要
本發明涉及系統復位。本發明的一些實施例提供了一些技術,由此用戶可執行系統復位(例如,解決諸如由不必要地消耗系統資源的未使用應用程式、嘗試卸載遺留應用程式殘餘的應用程式、和/或其他原因導致的系統性能和/或可靠性降級的問題)。在一些實施例中,執行系統復位以作業系統的新實例代替系統上作業系統的第一實例,並移除系統上安裝的任何應用程式,而不會打擾用戶數據。
文檔編號G06F11/00GK102567128SQ201110436710
公開日2012年7月11日 申請日期2011年12月13日 優先權日2010年12月14日
發明者C·內格雷亞努, D·T·李, G·W·尼科爾斯, H·鄭, K·K·道魯如, K·P·蘇布拉馬尼亞, S·S·K·P·庫瑪卡斯圖裡, S·多利, V·奧加爾, 苑鈺楠 申請人:微軟公司