TW201706837A - 電腦系統 - Google Patents

電腦系統 Download PDF

Info

Publication number
TW201706837A
TW201706837A TW104144398A TW104144398A TW201706837A TW 201706837 A TW201706837 A TW 201706837A TW 104144398 A TW104144398 A TW 104144398A TW 104144398 A TW104144398 A TW 104144398A TW 201706837 A TW201706837 A TW 201706837A
Authority
TW
Taiwan
Prior art keywords
boot
primary
computer system
backup
computer
Prior art date
Application number
TW104144398A
Other languages
English (en)
Other versions
TWI576764B (zh
Inventor
許志良
鄭偉良
黃楹欽
Original Assignee
廣達電腦股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 廣達電腦股份有限公司 filed Critical 廣達電腦股份有限公司
Publication of TW201706837A publication Critical patent/TW201706837A/zh
Application granted granted Critical
Publication of TWI576764B publication Critical patent/TWI576764B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/85Active fault masking without idle spares

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

一種用以啟動一電腦之系統,其中在電腦的快閃記憶體中提供一對啟動(或雙啟動)。第一快閃啟動,也稱為主要啟動,係於電腦開機時且在開機自我測試之後被啟動。主要啟動判斷電腦的快閃記憶體中是否有儲存一次級啟動。當電腦的快閃記憶體中未儲存有次級啟動時,主要啟動恢復並且電腦使用主要啟動進行開機啟動。當電腦的快閃記憶體中儲存有次級啟動時,主要啟動恢復並且在電腦重置並使用次級啟動重新開機之後完成。

Description

電腦系統
本發明之系統與方法實施例係有關於電腦啟動系統。更具體地,本發明之系統與方法實施例係有關於具有主要與次級啟動的電腦啟動系統。
具有單一啟動碼的電腦通常由電腦上的快閃記憶體中啟動。如果此單一啟動碼遭到破壞,電腦將無法正常啟動。可能損壞啟動碼將會被修改,表示它不再起作用。這種情形通常要求聯繫製造商尋求幫助或送回電腦。接著,再由製造商提供替換的啟動碼,此將同時造成購買者和製造商的不方便。
本揭露實施例提供一種用以啟動一電腦之系統,其中在電腦的快閃記憶體中提供一對啟動(或雙啟動)。第一快閃啟動,也稱為主要啟動,係於電腦開機時且在開機自我測試之後被啟動。主要啟動判斷電腦的快閃記憶體中是否有儲存一次級啟動。當電腦的快閃記憶體中未儲存有次級啟動時,主要啟動恢復並且電腦使用主要啟動進行開機啟動。當電腦的快閃記憶體中儲存有次級啟動時,主要啟動恢復並且在電腦重置 並使用次級啟動重新開機之後完成。
在本揭露的一實施例中,主要啟動被局部安全保護,表示只有製造商有權存取主要啟動。此安全保護係設在適當的地方,以確保在發生次級啟動已損壞、不穩定或以其他方式不可用的事件時,電腦可以至少使用主要啟動啟動。安全保護可以採取許多形式,包括但不限於密碼存取,安全密鑰存取,或本領域技藝者所知的其他類型的安全保護方式。主要啟動的安全保護可以防止用戶存取來自的製造商的主要啟動。主要啟動可以在製造時被安裝,或者可以在稍後安裝或更新,例如在維護週期。另一方面,主要啟動可經由網路遠端地修改,例如經由製造商更新。電腦可以使用主要啟動啟動。
在本揭露一實施例中,次級啟動是可修改的,例如經由一個用戶。次級啟動包括一個開放網路安裝環境(Open Network Installation Environment,ONIE),其允許用戶透過包括諸如ONIE啟動碼、啟動環境、以及ONIE內核的區段,以及其他用戶可修改的區段來修改次級啟動。電腦可以使用次級啟動以及主要啟動啟動。次級啟動也可以經由網路或其它遠端來源進行更新。
在本揭露一實施例中,電腦以主要啟動啟動。主要啟動判斷次級啟動是否被儲存在電腦快閃記憶體中。如果快閃記憶體中沒有次級啟動時,例如如果電腦是新的,並且用戶還沒有建立/修改/安裝了次級啟動,主要啟動繼續。另一方面,用戶可能已經刪除了次級啟動,無論是有意還是無意的。在這兩種情況下,主要啟動繼續。各種周邊裝置可在主要啟動完成 之前被啟動。
在本揭露一實施例中,電腦以主要啟動啟動。主要啟動判斷次級啟動是否被儲存在電腦快閃記憶體中。如果有一個次級啟動存在於快閃記憶體時,主要啟動記錄此資訊。主要啟動繼續。各種周邊裝置可在主要啟動完成之前被啟動。一旦主要啟動完成之後,系統重置(reset)並使用次級啟動重新啟動(reboot)。由於在本實施例中主要啟動會較早完成,在主要啟動期間已被啟動的周邊裝置可能不要在次級啟動期間再次級啟動,因此可節省次級啟動期間的時間與資源。
在本揭露一實施例中,電腦使用主要啟動啟動、重新開始使用電腦並使用一次級啟動啟動。次級啟動的一個備份儲存在主要啟動的一分割區(partition)。
在本揭露一實施例中,電腦使用主要啟動啟動、重新開始使用電腦並且使用次級啟動啟動。次級啟動的兩個備份被儲存在主要啟動的一分割區。次級啟動的第一備份係被測試或驗證,以確保次級啟動的第一備份是非常可靠的,因為它的安裝和相應的診斷測試的本質來啟動電腦。次級啟動的第二備份可以局部地保護,並且可以可由用戶進行修改。次級啟動的第二備份可以用來啟動電腦。如果次級啟動的第二備份無法啟動電腦時,可用次級啟動的第一備份來啟動電腦。
在本揭露一實施例中,電腦會自動選擇要使用的啟動,無論是主要啟動或次級啟動。電腦預設使用為主要啟動,並要選擇主要啟動或次級啟動。於本實施例中,用戶不需要任何的操作。
在本揭露一實施例中,用戶可以選擇要使用主要啟動或次級啟動來啟動。舉例而言但不限於,一硬體跳線可被插入到電腦的主機板上的指定位置。跳線的位置決定了當電腦啟動且POST完成之後,主要啟動或次級啟動是否已完成。
在本揭露一實施例中,主及/或次級啟動可經由網路或其它遠端來源進行修改。
在本揭露一實施例中,主要啟動的診斷碼可以經由主要啟動碼及其核心碼進行存取或主要啟動的診斷碼可以直接經由輸入裝置上的熱鍵進行存取。
在本揭露一實施例中,次級啟動可以儲存在主要啟動的一分割區,儲存次級啟動的這類元件作為ONIE U-BOOT,U-BOOT環境變數和核心碼。分割區(保存的次級啟動)可以經由命令還原,例如但不限於輸入裝置上的一個熱鍵。使用還原操作,用戶可以還原次級碼(最近可操作版本)來操作,而不用維修電腦及/或通過一網路下載次級碼。
應當理解的是,本章節所敘述的是實施本發明之最佳方式,目的在於說明本發明之精神而非用以限定本發明之保護範圍,應理解下列實施例可經由軟體、硬體、韌體、或上述任意組合來實現。
100‧‧‧電腦系統
110‧‧‧主要啟動
120‧‧‧次級啟動
130‧‧‧中央處理器(CPU)
140‧‧‧複雜可程式邏輯裝置(CPLD)
200‧‧‧電腦系統
210‧‧‧主要啟動
220‧‧‧主要啟動碼
230‧‧‧主要啟動環境
240‧‧‧主要核心根檔案系統
250‧‧‧次級啟動備份
255‧‧‧次級已驗證備份啟動
260‧‧‧診斷碼
270‧‧‧次級啟動
280‧‧‧CPU
290‧‧‧CPLD
300‧‧‧電腦系統
305‧‧‧主要啟動
310‧‧‧主要啟動碼
315‧‧‧主要啟動環境
320‧‧‧主要核心根檔案系統
330‧‧‧次級啟動備份
335‧‧‧次級已驗證備份啟動
340‧‧‧診斷碼
345‧‧‧次級啟動
350‧‧‧次級啟動碼
355‧‧‧次級啟動環境
360‧‧‧次級核心根檔案系統
365‧‧‧用戶執行時間
400‧‧‧電腦系統
410‧‧‧中央處理器(CPU)
420‧‧‧主要啟動
430‧‧‧次級啟動
500‧‧‧電腦系統
510‧‧‧CPU
520‧‧‧CPLD
530、540、550、560‧‧‧訊號
600‧‧‧電腦系統
610‧‧‧主要啟動
620‧‧‧次級啟動
630‧‧‧CPLD
700‧‧‧電腦系統
710‧‧‧CPU
720‧‧‧主要啟動
730‧‧‧次級啟動
740‧‧‧選項
800‧‧‧流程圖
805、810、815、820、825、830、835、840、845、850、855、860、865‧‧‧ 執行步驟
900‧‧‧運算裝置
902‧‧‧處理器
904‧‧‧記憶體
906‧‧‧顯示裝置
908‧‧‧輸入裝置
910‧‧‧網路介面元件
為使本發明之上述和其他目的、特徵、和優點能更明顯易懂,下文特舉出一或多個較佳實施例,並配合所附圖式,作詳細說明如下,其中:第1圖顯示依據本發明一實施例之電腦系統示意圖,其包括 同時連接至CPU與CPLD的一主要與次級啟動。
第2圖顯示依據本發明一實施例之一示意圖,其中顯示一主要啟動及其子元件以及一次級啟動及其子元件,同時連接至CPU與CPLD。
第3圖顯示依據本發明另一實施例之一示意圖,其中顯示一個主要啟動及其子元件以及一次級啟動及其子元件,同時連接到一個CPU和一個CPLD。
第4圖顯示依據本發明一實施例之流程示意圖,其中顯示了一個CPU存取一個主要啟動之後接著存取一次級啟動的過程。
第5圖顯示依據本發明一實施例之示意圖,其中顯示CPU設定值被發送到與CPU進行通訊的一CPLD中。
第6圖顯示依據本發明一實施例之CPLD啟動流程圖。
第7圖顯示依據本發明一實施例之流程示意圖,其中顯示了一個CPU存取一個主要啟動之後接著存取一次級啟動的過程。
第8圖顯示依據本發明一實施例之處理流程圖,其中主要啟動係先被選取接著再選取次級啟動。
第9圖顯示依據本發明一實施例之電腦系統之示意圖,其中電腦的記憶體中包含一對啟動。
為使本發明之上述和其他目的、特徵、和優點能更明顯易懂,下文特舉出一或多個較佳實施例,並配合所附圖式,作詳細說明如下。在以下描述中,各種實施例將通過舉例的方式示出而不是限制在附圖的圖中的方法。在本揭露中引用的各種實施例不一定是相同的實施例,並且這樣的引用意味著 至少一個。注意的是,雖然揭露書係依所附圖式進行說明,然其並非用以限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
本揭露實施例提供一種用以啟動一電腦之系統,其中在電腦的快閃記憶體中提供一對啟動(boot)(或雙啟動)。所述啟動係用以於電腦重新啟動(restart)時將一作業系統載入至電腦的主記憶體中的軟體模組。第一快閃啟動,也稱為主要啟動,係較佳地於電腦開機時且在開機自我測試(POST)之後被啟動。主要啟動判斷電腦中是否有儲存且為可用的次級啟動。當電腦中未儲存有可用的次級啟動時,主要啟動啟動電腦並且進一步電腦操作都基於主要啟動。當一次級啟動存在並可用時,主要啟動完成,在此之後,電腦重置(reset)並使用次級啟動重新啟動(reboot)。
第1圖顯示依據本發明一實施例之電腦系統100的一雙啟動示意圖。其中主要啟動110以及次級啟動120連接到一個中央處理器(CPU)或處理器130。複雜可程式邏輯裝置(Complex Programmable Logic Device,簡稱CPLD)140也連接至CPU 130。CPU 130係同時連接至主要啟動110以及次級啟動120。CPLD 140係連接至CPU 130並控制CPU 130關於主要啟動110或次級啟動120的選擇。
在電腦系統100的啟動期間,在開機自我測試(POST)完成之後,CPLD 140選擇主要啟動110作為啟動程式來啟動電腦系統100。此可為預設設定或一更特定的選擇。
CPLD 140也判斷是否次級啟動120是否存在電腦系統100中並且可用。在某些情況下,次級啟動120可能不存在電腦系統100中或為不可用的。舉例來說但不限於,次級啟動120可能不存在,因為電腦系統100是新的且次級啟動120可能還沒有建立。通過非限制性示例的方式,次級啟動可能由於一些損壞或其他不可操作性而不可用。
主要啟動110較佳地為局部唯讀,使得消費者不能直接存取修改或以其他方式操作主要啟動110。
次級啟動120較佳地為一局部可修改的啟動,也就是說,次級啟動120可以在局部建立(例如:通過消費者)來執行可或可能不與主要啟動110一致的各種客製化的任務與行為。或者,用戶可以從另一來源載入一次級啟動120,例如經由一網路。啟動的雙重性質可建立一環境,其中消費者可在此環境中操縱次級啟動120以符合他們的定制需求,但可在故障情況下仍有可靠的固定備份,因此避免了聯繫製造商或送回機器的需求。
在一些實施例中,主要啟動110以及次級啟動120可以是相似或不相似。如果次級啟動120存在並且可用,一旦主要啟動順序完成之後,CPLD 140指示電腦系統100,經由CPU 130,使用次級啟動120重新啟動。
主要啟動110繼續,在判斷出次級啟動120存在且CPU 130指示以次級啟動120重新啟動之後,啟動各種可被連接到電腦系統的裝置,例如但不限於周邊裝置,如影像與音效卡以及輸入/輸出裝置。藉由在主要啟動110期間啟動各種周邊裝 置,次級啟動120可以跳過這些啟動,或只需啟動在主要啟動110期間沒有啟動的額外周邊裝置,從而更迅速且更有效地完成次級啟動。一旦主要啟動110結束,電腦系統重新開始,或重新以次級啟動120再次重新啟動。CPLD 140判定次級啟動120存在係藉由檢查電腦系統100保留用於次級啟動的記憶體的部分。接著,CPU存取次級啟動120,中斷主要啟動110,並啟動電腦系統100。
如上所述,次級啟動120與主要啟動110可以相同或可以不相同,然而,次級啟動120的目的與主要啟動110是相同的-都是希望成功地啟動電腦系統100。
在一些實施例中,如果次級啟動120成功完成之後,次級啟動120的副本或備份版本將被儲存在主要啟動110的一分割區(partition)。如果次級啟動120未成功完成時,電腦系統100可能不會將次級啟動120的副本或備份版本儲存在主要啟動110的一分割區。如此一來可以防止恢復一個不能啟動電腦系統100的備份次級啟動120的版本。這可為有用的,例如,當電腦系統100的韌體被更新時,並且更新後的韌體與其它現有韌體及/或元件可能存在相容性問題。藉由在主要啟動110的一分割區儲存次級啟動120的備份版本,電腦系統100可以回溯到較早的次級啟動,直到韌體更新問題可以得到解決。
第2圖顯示依據本發明一實施例之用於一電腦系統200之一雙啟動的示意圖,其中,主要啟動210包括多種元件,包括主要啟動碼220、主要啟動環境230、主要核心根檔案系統240、次啟動備份250、次級已驗證備份啟動255以及診斷 碼260。應當理解的是,主要啟動210可以含有其他附加的元件,這裡所列出的元素僅示例性的,而非用以限制。主要啟動210和次級啟動270被連接到CPU或處理器280。複雜可程式邏輯裝置(CPLD)290也連接至CPU 280。CPLD 290是一個可程式數位邏輯裝置,它比CPU或處理器280更簡化。
如第2圖所示,主要啟動210包括主要啟動碼220以及主要啟動環境230。主要啟動核心根檔案系統240選擇電腦系統200執行所需的檔案。次級啟動備份250也被儲存在主要啟動210,較佳地係在主要啟動210內的一分區,係為電腦系統200最後一次成功的次級啟動270的副本。次級啟動備份250通常不能被電腦系統200的用戶所存取。用戶只能使用特定密碼或安全密鑰(未繪示)來存取次級啟動備份250,這些密碼或安全密鑰較佳地由遠距管理機構如製造商維護。換句話說,次級啟動備份250係被局部地保護。
當現有的次級啟動270被損壞/丟失/或以其他方式不可用時,次級啟動備份250可用以取代次級啟動270。用戶可以從一個遠距管理機構如製造商中取得密碼或安全密鑰。藉由提供所請求的資訊,用戶可以接收密碼或安全密鑰來解鎖次級啟動備份250並且可覆寫已損壞/缺失/或以其他方式不可用的次級啟動270。
當現有的次級啟動270被損壞/丟失/或以其他方式不可用時,次級已驗證啟動備份255可用以取代次級啟動270。次級啟動270的這個備份版本被稱為次級已驗證啟動備份255,是因為它的安裝和相應的診斷測試的性質使其成為高度 可靠的。例如,次級已驗證啟動備份255可使用診斷工具或模擬器來進行測試,以驗證次級已驗證啟動255。
對於次級啟動備份250而言,存取次級已驗證啟動備份255可為有限或受限,例如利用一密碼。用戶可以從一遠距管理機構如製造商中檢索密碼或安全密鑰。藉由提供所請求的資訊,用戶可以接收密碼或安全密鑰來解鎖次級已驗證啟動備份255;然而,這些密碼或安全密鑰可能與用來存取次級啟動備份250的密碼或安全密鑰相同或可不相同。
第3圖顯示依據本發明另一實施例之用於一電腦系統300之一雙啟動系統的示意圖,其中,主要啟動305包括多種元件,包括主要啟動碼310、主要啟動環境315、主要核心根檔案系統320、次啟動備份330、次級已驗證備份啟動335以及診斷碼340。應當理解的是,主要啟動305可以含有其他附加的元件,這裡所列出的元素僅示例性的,而非用以限制。次級啟動345包含了各種元件,包括次級ONIE啟動碼350、次級啟動環境355、以及次級ONIE核心根檔案系統360。次級啟動345的一區段(section)用於用戶執行時間(customer runtime)365,其中包括與電腦系統300的操作有關的指令。主要啟動305以及次級啟動345係連接至CPU或處理器370。複雜可程式邏輯元件(CPLD)375也連接至CPU 370。CPLD 375是一個可程式數位邏輯裝置,它比CPU或處理器370更簡化。
如第3圖所示,主要啟動305包括主要啟動碼310。主要啟動碼310包含主要啟動載入程式,並且可提供主要啟動305及/或次級啟動345的升級。各種硬體例如串列即時時鐘 (DS1339)以及一般用途輸入/輸出(GPIO)接腳等可以使用主要啟動碼310進行初始化。主要啟動環境315包含儲存的主要啟動碼310。主要啟動環境315可以將資訊傳遞給主要啟動核心檔案系統320,例如MAC地址以及MTD(記憶體技術裝置)的分割區資訊。用戶可以經由主要啟動核心檔案系統320存取此資訊。主要啟動核心(根檔案系統)320選擇電腦系統300的操作所需的檔案。
次級啟動備份330也可以被儲存在主要啟動305。在一些實施例中,次級啟動備份(ONIE備份碼)330係儲存在主要啟動305內的一分割區中。次級啟動備份330係複製自電腦系統300的最後一次成功的次級啟動345。
在一些實施例中,次級啟動備份330通常不能被電腦系統300的用戶存取。用戶只能使用特定密碼或安全密鑰(未繪示)來存取次級啟動備份330。換句話說,次級啟動備份330係被局部地保護。當現有的次級啟動345被損壞/丟失/或以其他方式不可用時,次級啟動備份330可使電腦系統300重新啟動。用戶可以透過一些方法,例如經由一網路聯繫製造商,來聯繫取得密碼或安全碼。藉由提供所請求的資訊,用戶可以接收來自製造商的密碼或安全密鑰,以將次級啟動備份330解鎖並將其複製至次級啟動345或允許其從在主要啟動305的當前位置被取用。主要啟動305中的診斷碼340包含用於執行維護電腦系統300的各種診斷工具。
當現有的次級啟動345被損壞/丟失/或以其他方式不可用時,次級已驗證啟動備份335可用以取代次級啟動345。 次級啟動345的這個備份版本被稱為次級已驗證啟動備份335,是因為它的安裝和相應的診斷測試的性質使其成為高度可靠的。例如,次級已驗證啟動備份335可使用診斷工具或模擬器來進行測試。
對於次級啟動備份330而言,存取次級已驗證啟動備份335可為有限或受限,例如利用一密碼。用戶可以從一遠距管理機構如製造商中檢索密碼或安全密鑰。藉由提供所請求的資訊,用戶可以接收密碼或安全密鑰來解鎖次級已驗證啟動備份335;然而,這些密碼或安全密鑰可能與用來存取次級啟動備份330的密碼或安全密鑰相同或可不相同。
此外,在第3圖中,次級啟動345包括各種元件,包括次級ONIE啟動碼350、次級啟動環境355以及次級ONIE核心根檔案系統360。次級啟動345的一區段(section)用於用戶執行時間365,其中包括與電腦系統300的使用者有關的指令。至少這三種元件係以ONIE定義,換句話說,這些元件被包含在一個開放網路安裝環境並且係為用戶可修改的。然而,額外的元件也可以以ONIE定義。用戶可以各種方式修改這些或額外的元件以適應電腦系統300的特定應用或用途。然而,如前所述,用戶可能在電腦系統300不再使用次級啟動345來啟動的情形下,最終修改這些元件。因此,用戶可能希望返回到兩個次級啟動備份選項之一。第一選項可為次級啟動345的上一次成功版本,其係儲存在主要啟動305,以作為次級啟動備份330。第二選項可為次級啟動345的上一次成功測試,或通過認證的版本,其係儲存在主要啟動305,以作為次級已驗證啟動備份 335。當次級啟動345已不再具有功能或不再如用戶預期執行時,用戶可以擷取次級備份啟動330或次級已驗證備份啟動335。
然而,如上面所解釋的,次級備份啟動330與次級已驗證啟動備份335實際上不容易存取。這種安排可防止次級備份啟動330與次級已驗證備份啟動335的不受控制的存取並且也可防止損壞或不適當的變形。為了存取次級備份啟動330或次級已驗證啟動備份335,必須向製造商發出請求來取得密碼或安全密鑰,以便從主要啟動305中存取次級備份啟動330或次級已驗證啟動備份335。請求可以是多種方法,經由網路或者透過電子郵件。例如,訪問製造商的網頁,例如,以提供身份資訊,並且接收回覆的密碼或安全碼,以解鎖主要啟動305中的次級啟動備份330或次級已驗證啟動備份335。次級啟動345也包括用戶執行時間365,其中包括與電腦系統300的用戶有關的指令。主要啟動305以及次級啟動345被連接到CPU 370以及CPLD 375,其控制當電腦啟動順序初始化時的主要啟動305或次級啟動345的選擇。
如前述,但在這裡為了清楚起見也包括在內,電腦系統的啟動順序使用主要啟動305進行初始化。CPU 370與CPLD 375判斷次級啟動345的狀態。舉例來說,當電腦系統是新的且沒有次級啟動345時,次級啟動345可能不存在。如果次級啟動345不存在並且非可用,主要啟動305完成。如果次級啟動345存在並可用,CPLD 375指示CPU在主要啟動305完成之後使用次級啟動345重新啟動。如果在使用次級啟動345重新啟動 的過程中,電腦系統300並未成功地重新啟動,則可使用如CTRL-R來開始次級啟動備份330。
在另一實施例中,如果在使用次級啟動345重新啟動期間,電腦系統300並未成功地重新啟動,可開始如上所述的擷取密碼或安全密鑰來存取次級啟動備份330的流程。
此外,如第3圖中所示,次級啟動345包括儲存的ONIE啟動載入程式(用於啟動碼)。次級啟動環境355透過包含區段例如次級啟動碼350與次級啟動核心根檔案系統360以及其他客戶可修改的區段來允許用戶修改次級啟動。次級啟動核心根檔案系統360可以包括儲存的用戶修改過的ONIE核心與根檔案系統。一核心殼(kernel shell)環境也可以存在並且可以由客戶進行存取。次級啟動執行時間365可以包括儲存的用戶切換作業系統碼。
第4圖顯示依據本發明另一實施例之用於一電腦系統400之一雙啟動系統的示意圖,其中CPU 410,或者具有或不具有CPLD(未繪示),開始主要啟動420。CPU 410判定次級啟動430為可用。
在一個實施例中,主要啟動420繼續,並且電腦系統400的各種周邊裝置(未繪示)可被啟動。在主要啟動420完成之後,電腦系統400進行重置。第二啟動順序以主要啟動420開始並且CPU 410判定次級啟動430為可用的。在偵測到次級啟動430之後,主要啟動420停止,並且次級啟動430進行初始化。由於主要啟動420已在先前結束,主要啟動420期間所啟動的周邊裝置可於次級啟動430時保持啟動,因而縮短了次級啟動430 的持續時間。
如前所述,次級啟動430一般為用戶可更改的啟動,而主要啟動420一般為一個局部保護的啟動。次級啟動430完成,但由於各種周邊裝置已在使用主要啟動420的第一個啟動順序中被啟動,次級啟動430確實需要再次完成這些任務;因此,次級啟動430可以比如果相同的各種周邊裝置在次級啟動430期間被啟動時更有效地與迅速地發生。於另一實施例中,主要啟動420被停止,CPU 410切換至次級啟動430。次級啟動430開始,並且在次級啟動順序期間,各種周邊裝置可以被啟動。於本實施例中,CPU 410不返回至主要啟動420,除非次級啟動失敗。
於一實施例中,主要啟動420自動地開始,而無需用戶輸入。CPU 410判斷次級啟動430的狀態並且可依據次級啟動430的狀態決定要切換至次級啟動430或返回主要啟動420。另一方面,用戶可使用一硬體跳線(jumper)或一輸入裝置輸入指令(例如:熱鍵)來切換覆寫CPU 410,以指示CPU 410來使用主要啟動420或次級啟動430進行啟動。
如第5圖所示,示出了示例性電腦系統500的實施例。CPU 510係連接至CPLD 520。CPU設定值的訊號通路530提供一個值給CPLD 520。CPLD 520在下一個啟動順序中判斷哪個啟動在執行,如主要啟動或次級啟動(未繪示)。如果CPU設定值訊號通路530包含,例如,一個“是”的值,例如二進位的“0”,CPLD 520可以指示CPU 510使用主要啟動進行啟動。在另一方面,如果CPU 510設定值訊號通路530包含,例如, 一個“否”的值,例如二進位的“1”,CPLD 520可以指示CPU 510使用次級啟動進行啟動。應當指出的是,可以有其他的值和額外的啟動順序,例如但不限於第三啟動,其中第三啟動可能會與或本實施例中的主要啟動或次要啟動相同或不同。CPLD 520將如前所述的將CPU的設定值訊號通路530傳送至CPU 510。CPU 510傳送給CPLD 520一確認訊號540,可以是CPU_BOOT_OK_Y或CPU_BOOT_OK_N。(CPU_BOOT_OK_Y可以確保CPU無論是從主要啟動和次級啟動都啟動OK,如果訊號540是CPU_BOOT_OK_N,CPU 510從主要啟動以及次級啟動都不能成功啟動。)另一訊號,PLD_SYS_RST 550從CPLD 520傳送給CPU 510。如果此訊號號是一個指定的既定值,CPLD 520可以重置CPU 510;如果該信訓是另一個指定的既定值,CPLD 520可不重置CPU 510。額外的I2C通訊560可以在CPU 510和CPLD 520之間發生以啟動周邊裝置或執行其他任務。
第6圖顯示依據本發明一實施例的一電腦系統的CPLD啟動流程圖。一般而言,CPLD 630在電腦系統接上電源之後開始一個主要啟動610。如果主要啟動610是可用的,則主要啟動610碼設為BOOT_OK=L(二進位“0”)並且該訊號被發送給CPLD 630。CPLD 630接著切換到監視狀態,檢查主要啟動610在每個後續啟動週期的的狀態。如果主要啟動610不再起作用或BOOT_OK訊號沒有清除(高(H,二進位“1”),並且非低(L,二進位“0”)),CPLD 630暫停CPU(未繪示)重置並且改變啟動自舉值(boot strap value),在此之後,釋放重置並且次級啟動620開始。如果次級啟動620可以啟動電腦系統, 次級啟動620碼設置為BOOT_OK=L,並且CPLD 630接著切換到監控狀態。如果次級啟動620無作用(不能啟動電腦系統)或BOOT_OK訊號沒有清除(換言之,仍為(H)高),CPLD 630暫停CPU重置並改變啟動自舉值,在此之後,釋放重置並且主要啟動610開始。CPLD 630監控用戶是否開始一重置功能(將BOOT_OK信號從低(L,“0”)改變為高(H,“1”)),並開始主要啟動610。
第7圖顯示依據本發明一實施例之一電腦系統之一個主要啟動以及次級啟動的流程圖700。一般而言,在CPU 710完成開機自我測試(POST)之後,主要啟動720進行初始化。如果CPU 710接著判定次級啟動730並不存在或可用時,CPU 710可在螢幕上顯示選項740。第一請求可以是輸入一個診斷碼的請求,例如按入“CTRL+D”。第二請求可以是恢復次級啟動730的備份版本的請求,例如按入”Ctrl+R”。在此第二請求中,可能需要來自用戶的附加資訊,例如密碼或安全密鑰。如上所述,密碼或安全密鑰可從製造商或其它來源取得。
第8圖顯示依據本發明一實施例之一電腦系統之一主要啟動以及一次級啟動的示範處理流程圖800。第一步驟805係執行開機自我測試(POST)來啟動電腦系統。在步驟810中,主要啟動初始化,其包括步驟815,檢查啟動模式,可為診斷啟動或次級啟動,取決於用戶輸入。步驟820提供了一個輪詢時間(polling time)。在輪詢時間中,密碼或安全密鑰可被輸入,在這兩種情況下,流程處理移動到步驟825,其啟動連接到電腦系統的任何周邊裝置並且在步驟830中執行啟動殼 (boot shell),其可包括來自該用戶的其它碼及/或命令。在步驟830完成之後,用戶可以重新啟動或重置以繼續流程。在步驟830後,有兩種選項。第一種選項包含步驟835,其執行一診斷碼,接著,電腦系統被重置,並且流程移動至步驟865,其中CPLD切換啟動為次級啟動,在返回至步驟810之前,第二個選項則是繞過在步驟835的診斷碼,並且流程直接到步驟865。
在步驟840中,如果輸入不正確的密碼或安全密鑰時,無論是執行步驟835進入一個診斷模式或執行步驟845進入一正常模式,CPLD將主要啟動切換至次級啟動,並在步驟850中執行次級啟動初始化。在步驟855中,各種周邊裝置可以連接至電腦系統,例如次級啟動專屬的周邊裝置。
在另一實施例中,次級啟動係備份在主要啟動的一分割區。此備份可以包括如上所述的一次級啟動備份及/或一次級已驗證過的啟動備份。在步驟860中執行次級啟動殼,在此之後,電腦系統被重置,從步驟810的主要啟動開始執行。
第9圖顯示依據本發明一實施例之一示範運算裝置900的一組通用元件的邏輯配置。於此例中,運算裝置900包括一處理器902用於執行可以儲存在一個儲存裝置或元件904的指令。如熟悉此技藝人士所熟知的,裝置可以包括多種類型的記憶體、資料儲存、或者非暫態電腦可讀取儲存媒體,例如供處理器902執行用的程序指令的第一資料儲存,單獨的影像或資料的儲存,可移除式記憶體,用於與其他裝置分享資訊等等。裝置通常可包括一些類型的顯示元件906,例如觸控螢幕或液晶顯示器(LCD),儘管如可攜式媒體播放器可能通過其他 方式傳達資訊,例如通過音訊揚聲器。如前所討論的,該裝置在許多實施例中可包括至少一輸入元件908,其可接收來自用戶的傳統輸入。這種傳統的輸入可以包括,例如,一按鈕、觸控板、觸控螢幕、鍵盤、滑鼠、按鍵,或任何可供用戶輸入一個命令給裝置的這類裝置或元件。在一些實施例中,第9圖中的運算裝置900可包括一個或多個網路介面元件910,其可透過各種網路,例如無線網路、藍牙、射頻(RF)、有線或無線通訊系統等進行通訊。在許多實施例中,裝置可以與一網路例如網際網路進行通訊,並且可以與其他這類的裝置進行通訊。
每個運算裝置通常可包括作業系統,其提供可執行程序指令,以提供裝置的一般管理和操作,並且通常可以包括電腦可讀取媒體,其儲存有多個指令,當這些指令被伺服器的處理器執行時,可使運算裝置執行其預期的功能。作業系統以及伺服器的一般功能的適當實現方式是已知的或可商用的並且易於由本領域中熟習此技藝者加以實現,特別是根據本揭露書的內容實現。
其他實施例可另外在各種操作環境中實現,該各種操作環境在一些實施例中可包括用於操作多個應用程式之一或多台伺服器電腦、用戶電腦或運算裝置。用戶或客戶裝置可包括任意多個通用個人電腦,例如以標準作業系統運作的桌上型或膝上型電腦、以及以行動軟體運作並能支援多個網路和訊息通訊協定的蜂巢、無線以及手持裝置。該系統也可包括多個以各種商用作業系統以及其他已知針對特殊目的之應用程 式運作的工作站,上述特殊目的可例如為發展和資料庫管理。上述裝置也可包括其他電子裝置,例如虛擬終端、瘦客户端、遊戲系統以及其他能透過網路通訊之裝置。
大部分實施例使用熟習此技藝者周知之至少一網路,用於支援各種商用通訊協定之通訊,例如TCP/IP、OSI、FTP、UPnP、NFS、CIFS、AppleTalk等等。網路可為,例如為局部區域網路、廣域網路、虛擬私有網路、網際網路、內連網(intranet)、外連網(extranet)、公眾電話交換網路(public switched telephone network)、紅外線網路、無線網路以及以上任意組合。
在運算裝置包含有網路伺服器之實施例中,網路伺服器可執行各種伺服器或中層應用程式,包括HTTP伺服器、FTP伺服器、CGI伺服器、資料伺服器、Java伺服器以及商業應用程式伺服器。伺服器也能夠相應於用戶裝置的請求而執行程式或腳本,例如藉由執行一或多個以任意程式語言或其他腳本語言編寫的網路應用程式,上述任意程式語言可例如為Java®、C、C#或C++,且上述其他腳本語言可例如為Perl、Python或TCL、以及其中一種組合。伺服器也可包括資料庫伺服器,包括但不限於可在開放商業市場上取得的伺服器如Oracle®、微軟®、Sybase®以及IBM®等的伺服器。
操作環境可包括上述討論之各種資料儲存以及其他記憶體和儲存媒體。各種資料儲存以及其他記憶體和儲存媒 體會駐於各種位置之內,例如儲存媒體局部之上(以及/或駐於)一或多台電腦或網路上任意電腦或所有電腦的遠端。在實施例的特定組合中,資訊可駐於熟習此技藝人士所熟知之儲存區域網路(SAN)之內。類似地,用於執行電腦,伺服器或其他網路裝置特性功能的任意所需檔案可於合適之處在局部以及/或遠端儲存。上述系統包括電腦化裝置,每個這種裝置可包括透過匯流排電耦接的硬體元件,元件包括,例如至少一中央處理單元(CPU)、至少一輸入裝置(例如滑鼠、鍵盤、控制器、觸控顯示器元素或按鍵)以及至少一輸出裝置(例如顯示器裝置、印表機或喇叭)。此種系統也可包括一或多個儲存裝置,例如碟機、光學儲存裝置和固態儲存裝置例如隨機存取記憶體(RAM)或唯讀記憶體(ROM),以及可移除媒體裝置、記憶體卡、快閃卡等等。
該裝置也可包括所述之電腦可讀取儲存媒體讀取器、通訊裝置(例如終端機、網路卡(無線或有線)、紅外線通訊裝置)以及工作記憶體。電腦可讀取儲存媒體讀取器可連接或用於接收電腦可讀取儲存媒體用於暫時以及/或更永久包括、儲存、傳送、以及擷取電腦可讀取資訊,該電腦可讀取儲存媒體代表遠端、局部、固定以及/或可移除儲存裝置以及儲存媒體。系統和各種裝置通常也可包括位於至少一工作記憶體裝置之內之多個軟體應用程式、模組、服務或其他元件,包括作業系統和應用程式程式,例如客製化應用程式或網路瀏覽器。熟 習此技藝人士可知替代實施例具有上述實施例的各種變化型。例如,也可使用客製化硬體以及/或特定元件可以硬體、軟體(包括可攜軟體、例如小程式(applet))或兩者兼有加以實現。另外,也可使用到其他運算裝置的連接,該其他運算裝置可例如為網路輸入/輸出裝置。
用以包括編碼、或部分編碼的儲存媒體和電腦可讀取媒體可包括此技藝中已知或使用的任意合適媒體,包括儲存媒體和運算媒體,例如但不限於揮發性和非揮發性、可移除和不可移除媒體,以針對儲存以及/或資訊傳輸的任意方法或技術實現,例如電腦可讀取指令、資料構造、程式模組或其他資料,包括RAM、ROM、EEPROM、快閃記憶體或其他記憶體技術、CD-ROM、數位光碟(digital versatile disk,DVD)或其他光學儲存、磁盒、磁帶、磁碟儲存或其他磁性儲存裝置或任意其他用於儲存所需資訊且會由系統裝置存取之媒體,。依據本發明技術和教示,熟習此技藝人士可知其他方式以及/或方法用以實現本發明各種實施例。
本發明雖以較佳實施例揭露如上,然其並非用以限定本發明。任何熟習此項技藝者,在不脫離本發明之精神和範圍內,當可做些許的更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
800‧‧‧流程圖
805、810、815、820、825、830、835、840、845、850、855、860、865‧‧‧執行步驟

Claims (10)

  1. 一種電腦系統,包括:一處理器;一局部保護的主要啟動;一局部可修改的次級啟動;一電腦可讀取記憶體,其儲存複數指令,當該等指令由該處理器所執行時,使得該處理器執行複數操作,該等操作包括:以該主要啟動開始一電腦系統之一第一啟動順序;重新啟動該電腦系統並且以相應於該電腦系統之重新啟動,以一次級啟動開始一第二啟動順序;以及因應於未以該次級啟動完成該第二啟動順序,重新啟動該電腦系統並以該主要啟動重新開始一第三啟動順序。
  2. 如申請專利範圍第1項所述之電腦系統,該等操作更包括將該次級啟動之一備份儲存於該主要啟動之一分割區。
  3. 如申請專利範圍第2項所述之電腦系統,其中儲存有該次級啟動之該備份的該主要啟動之該分割區係以一安全密鑰進行安全保護。
  4. 如申請專利範圍第2項所述之電腦系統,其中該電腦系統更包括該次級啟動之一第二備份。
  5. 如申請專利範圍第4項所述之電腦系統,其中該次級啟動之該第二備份係在儲存於該主要啟動之該分割區之前進行測試,以確保該次級啟動之該第二備份可以啟動該電腦系統。
  6. 如申請專利範圍第4項所述之電腦系統,其中該次級啟動之該第二備份係為局部保護的。
  7. 如申請專利範圍第5項所述之電腦系統,該等操作更包括:相應於未能以該次級啟動完成該第二啟動順序,重新啟動該電腦系統並以該次級啟動之該第二備份重新開始該第三啟動順序。
  8. 如申請專利範圍第1項所述之電腦系統,更包括一自動啟動系統,其中,當在一自動啟動模式時,該處理器係至少部份依據一命令來於該主要啟動和該次級啟動之間進行一選擇。
  9. 如申請專利範圍第8項所述之電腦系統,更包括一跳線(jumper),用以選擇該主要啟動或該次級啟動。
  10. 如申請專利範圍第1項所述之電腦系統,其中該主要啟動可經由一電腦網路來進行升級。
TW104144398A 2015-08-13 2015-12-30 電腦系統 TWI576764B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/825,864 US10191811B2 (en) 2015-08-13 2015-08-13 Dual boot computer system

Publications (2)

Publication Number Publication Date
TW201706837A true TW201706837A (zh) 2017-02-16
TWI576764B TWI576764B (zh) 2017-04-01

Family

ID=57995438

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104144398A TWI576764B (zh) 2015-08-13 2015-12-30 電腦系統

Country Status (3)

Country Link
US (1) US10191811B2 (zh)
CN (1) CN106445728B (zh)
TW (1) TWI576764B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI682271B (zh) * 2018-11-28 2020-01-11 英業達股份有限公司 伺服器系統
TWI786871B (zh) * 2021-08-30 2022-12-11 大陸商訊牧信息科技(上海)有限公司 電腦和系統啓動方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10191811B2 (en) * 2015-08-13 2019-01-29 Quanta Computer Inc. Dual boot computer system
US10534618B2 (en) * 2016-09-27 2020-01-14 American Megatrends International, Llc Auto bootloader recovery in BMC
CN106648632A (zh) * 2016-12-02 2017-05-10 英业达科技有限公司 计算机系统
DE102017212918A1 (de) * 2017-07-27 2019-01-31 Robert Bosch Gmbh Verfahren zum Betreiben eines Steuergerätes und Vorrichtung mit zugehörigem Steuergerät
US10747548B2 (en) * 2018-02-06 2020-08-18 Dell Products, L.P. Manufacturing information handling systems with operating system-specific hardware and/or firmware components
KR102552463B1 (ko) * 2018-04-20 2023-07-06 삼성전자 주식회사 어플리케이션 프로세서, 시스템 온 칩 및 장치의 부팅 방법
KR102567097B1 (ko) * 2018-12-05 2023-08-14 삼성전자주식회사 임베디드 시스템의 부트 롬 업데이트 방법 및 부팅 방법
US11550593B2 (en) * 2019-01-08 2023-01-10 Dell Products L.P. Information handling system quick boot
US11048521B2 (en) * 2019-09-25 2021-06-29 Adva Optical Networking Se Resilient upgradable boot loader with power reset
US12008359B2 (en) 2020-02-13 2024-06-11 Intel Corporation Update of boot code handlers
US11836502B2 (en) * 2021-06-14 2023-12-05 Dell Products L.P. Multi-boot system and method for a baseboard management controller (BMC)

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5136711A (en) * 1990-10-17 1992-08-04 Ast Research System for multiple access hard disk partitioning
US6205548B1 (en) * 1998-07-31 2001-03-20 Intel Corporation Methods and apparatus for updating a nonvolatile memory
US6308264B1 (en) * 1998-09-30 2001-10-23 Phoenix Technologies Ltd. Dual use master boot record
US6421792B1 (en) * 1998-12-03 2002-07-16 International Business Machines Corporation Data processing system and method for automatic recovery from an unsuccessful boot
US6247126B1 (en) * 1999-01-25 2001-06-12 Dell Usa, L.P. Recoverable software installation process and apparatus for a computer system
US6754855B1 (en) * 1999-12-01 2004-06-22 Microsoft Corporation Automated recovery of computer appliances
US6754818B1 (en) * 2000-08-31 2004-06-22 Sun Microsystems, Inc. Method and system for bootstrapping from a different boot image when computer system is turned on or reset
US6584561B1 (en) * 2000-09-19 2003-06-24 Dell Products L.P. System and method to modify CD boot
US6859876B2 (en) * 2000-12-29 2005-02-22 Hewlett-Packard Development Company, L.P. System and method for detecting and using a replacement boot block during initialization by an original boot block
US20020147784A1 (en) * 2001-04-06 2002-10-10 Stephen Gold User account handling on aggregated group of multiple headless computer entities
CN1241120C (zh) * 2001-08-31 2006-02-08 联想(北京)有限公司 计算机硬盘数据备份及恢复方法
US7024581B1 (en) * 2002-10-09 2006-04-04 Xpoint Technologies, Inc. Data processing recovery system and method spanning multiple operating system
US7206971B2 (en) * 2003-04-07 2007-04-17 Lsi Logic Corporation Selectable and updatable computer boot memory
US7315940B1 (en) * 2003-10-07 2008-01-01 Nortel Networks Limited Recovery of a network element after a restart
US7340595B2 (en) * 2005-01-07 2008-03-04 International Business Machines Corporation Multiplex execution-path system
US7523350B2 (en) * 2005-04-01 2009-04-21 Dot Hill Systems Corporation Timer-based apparatus and method for fault-tolerant booting of a storage controller
KR100750132B1 (ko) * 2005-09-27 2007-08-21 삼성전자주식회사 부팅, 소프트웨어 자동 업데이트 및 에러 복원 방법과 그시스템, 그 방법을 기록한 컴퓨터 판독 가능한 기록매체
TWI327290B (en) * 2006-10-03 2010-07-11 Magic Pixel Inc Electronic system with nand flash memory storing boot code and a highly reliable boot up method
US7987351B2 (en) * 2006-10-06 2011-07-26 Broadcom Corporation Method and system for enhanced boot protection
US7900036B2 (en) * 2006-12-18 2011-03-01 International Business Machines Corporation System and method for implementing boot/recovery on a data processing sysem
US8190869B2 (en) * 2007-04-17 2012-05-29 Lexmark International, Inc. Dual boot strategy to authenticate firmware in a computing device
KR101393307B1 (ko) * 2007-07-13 2014-05-12 삼성전자주식회사 보안 부팅 방법 및 그 방법을 사용하는 반도체 메모리시스템
TWI411959B (zh) * 2008-03-21 2013-10-11 Asustek Comp Inc 具雙開機程式碼區之電腦系統及其啟動方法
TW200951812A (en) * 2008-06-03 2009-12-16 Dfi Inc Method and apparatus for changing BIOS parameters via a hot key
TW201030518A (en) * 2009-02-11 2010-08-16 Inventec Corp BIOS, computer device and BIOS recovery
US20130036300A1 (en) * 2010-02-26 2013-02-07 Samsung Electronics Co., Ltd Method of fixing error of boot image for fast booting and image forming apparatus for performing the method
US8429391B2 (en) * 2010-04-16 2013-04-23 Micron Technology, Inc. Boot partitions in memory devices and systems
TW201220191A (en) * 2010-11-08 2012-05-16 Inventec Corp Electronic apparatus and booting method thereof
CN102479148A (zh) * 2010-11-30 2012-05-30 英业达股份有限公司 周边元件的输入输出端口状态的监控系统与其方法
US8751783B2 (en) * 2011-01-20 2014-06-10 Hewlett-Packard Development Company, L.P. Booting computing devices with EFI aware operating systems
KR20120092222A (ko) * 2011-02-11 2012-08-21 삼성전자주식회사 보안 부팅 방법 및 보안 부트 이미지 생성 방법
TWI571800B (zh) * 2011-04-19 2017-02-21 仁寶電腦工業股份有限公司 電腦開機之方法與電腦系統
US8732527B2 (en) * 2011-08-16 2014-05-20 Google Inc. Secure recovery apparatus and method
CN103186393A (zh) * 2011-12-30 2013-07-03 鸿富锦精密工业(深圳)有限公司 具有基板管理控制器固件的电子装置及固件加载方法
TWI447583B (zh) 2012-02-10 2014-08-01 Phison Electronics Corp 資料保護方法、記憶體控制器與記憶體儲存裝置
US9141802B2 (en) * 2012-09-25 2015-09-22 Intel Corporation Computing device boot software authentication
US9531550B2 (en) * 2012-10-19 2016-12-27 Ubiquiti Networks, Inc. Wireless gateway adapter for a power-over-ethernet port
KR101959359B1 (ko) * 2012-11-06 2019-03-18 에이치피프린팅코리아 유한회사 빠른 부팅을 위한 부트 이미지를 업데이트하는 방법 및 이를 수행하는 화상형성장치
TW201426544A (zh) * 2012-12-24 2014-07-01 Ene Technology Inc 電子系統及開機管理方法
US9141396B2 (en) * 2013-03-14 2015-09-22 International Business Machines Corporation Live initialization of a boot device
WO2014160375A1 (en) 2013-03-14 2014-10-02 Microchip Technology Incorporated Boot sequencing for multi boot devices
US9195544B2 (en) * 2013-03-14 2015-11-24 International Business Machines Corporation Self-healing using an alternate boot partition
KR20140145879A (ko) * 2013-06-14 2014-12-24 삼성전자주식회사 가상 블록 디바이스로 파일 시스템을 마운트하는 전자 장치 및 방법
KR20150008546A (ko) * 2013-07-15 2015-01-23 삼성전자주식회사 보안 다운로드 및 기능 실행방법 및 장치
CN105378663B (zh) * 2013-07-31 2019-01-15 惠普发展公司,有限责任合伙企业 用于更新引导代码的系统和方法
TWI486877B (zh) * 2013-09-26 2015-06-01 Wistron Corp 韌體更新方法
CN105468390B (zh) * 2014-09-05 2020-11-06 中兴通讯股份有限公司 Boot在线升级装置及方法
US9959125B2 (en) * 2015-08-05 2018-05-01 Samsung Electronics Co., Ltd. Field update of boot loader using regular device firmware update procedure
US10191811B2 (en) * 2015-08-13 2019-01-29 Quanta Computer Inc. Dual boot computer system
US10515218B2 (en) * 2016-10-01 2019-12-24 Intel Corporation Systems, apparatuses, and methods for platform security

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI682271B (zh) * 2018-11-28 2020-01-11 英業達股份有限公司 伺服器系統
TWI786871B (zh) * 2021-08-30 2022-12-11 大陸商訊牧信息科技(上海)有限公司 電腦和系統啓動方法

Also Published As

Publication number Publication date
US10191811B2 (en) 2019-01-29
CN106445728B (zh) 2019-08-09
US20170046229A1 (en) 2017-02-16
CN106445728A (zh) 2017-02-22
TWI576764B (zh) 2017-04-01

Similar Documents

Publication Publication Date Title
TWI576764B (zh) 電腦系統
US9858066B2 (en) Updating firmware of a hardware component
US9389878B1 (en) Pre-boot management of drivers and programs
US9703635B2 (en) Method, computer program, and computer for restoring set of variables
US7734945B1 (en) Automated recovery of unbootable systems
CN109542744B (zh) 检测终端开机异常问题的方法、装置、存储介质及终端
KR101931007B1 (ko) 컴퓨팅 디바이스의 초기화 트레이스
JP6873811B2 (ja) 情報処理装置
US9152492B2 (en) Performing recovery of a headless computer
WO2006039593A2 (en) Self-monitoring and updating of firmware over a network
JP2013506205A (ja) ポータブルデスクトップデバイス、ならびにホストコンピュータシステムハードウェア認識および構成の方法
TWI706274B (zh) 容許透過復原代理器進行作業系統修復的運算裝置與非暫態電腦可讀儲存媒體
US11030047B2 (en) Information handling system and method to restore system firmware to a selected restore point
JP2019204488A (ja) リモートユーティリティによるファームウェアの更新
US20130080751A1 (en) Method and device for updating bios program for computer system
TW202131170A (zh) 韌體損壞恢復技術
US10102008B2 (en) Managed boot process system
US8949588B1 (en) Mobile telephone as bootstrap device
WO2018049798A1 (zh) 一种缓存分区重构的方法和装置
TWI581187B (zh) 傳送用以安裝作業系統之資料影像的技術
TWI801730B (zh) 具系統設定資料同步功能的伺服器
WO2021012170A1 (zh) 固件启动方法、设备及计算机可读存储介质
US20150212866A1 (en) Management system for service of multiple operating environments, and methods thereof
Kovacev et al. Implementation of Disaster recovery agent within Android based set-top box
TWI694452B (zh) 電腦測試方法