TWI585582B - 回存主開機記錄的電子裝置及其方法 - Google Patents

回存主開機記錄的電子裝置及其方法 Download PDF

Info

Publication number
TWI585582B
TWI585582B TW102101544A TW102101544A TWI585582B TW I585582 B TWI585582 B TW I585582B TW 102101544 A TW102101544 A TW 102101544A TW 102101544 A TW102101544 A TW 102101544A TW I585582 B TWI585582 B TW I585582B
Authority
TW
Taiwan
Prior art keywords
boot record
validity
electronic device
record
master
Prior art date
Application number
TW102101544A
Other languages
English (en)
Other versions
TW201342049A (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 TW201342049A publication Critical patent/TW201342049A/zh
Application granted granted Critical
Publication of TWI585582B publication Critical patent/TWI585582B/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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • 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
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram

Description

回存主開機記錄的電子裝置及其方法
本發明有關於一種回存主開機記錄的電子裝置及其方法以及電腦可讀取媒體,特別是有關於一種可回存已經毀損的主開機記錄的電子裝置及其方法以及電腦可讀取媒體。
在一般電腦系統中,當系統啟動之後會接續執行一系列開機作業。首先,為使電腦系統可正常運作,會先讀取主開機記錄(Master Boot Record;MBR),此主開機記錄儲存於儲存媒體的第一個區段中,且根據此所讀取之主開機記錄,亦讀取作業系統所儲存之磁區的開機區段記錄,以執行系統開機作業。
然而,若因為使用者錯誤、病毒或系統故障產生問題而導致主開機記錄的內容錯誤時,會使得電腦系統無法開機。在此情況之下,使用者即無法使用系統,而必需重新安裝作業系統,造成使用者的不便。
因此,為了解決主開機記錄內容錯誤所造成的問題,實有需要一 種可以輕易將主開機記錄回存的方法。
本發明提出一種回存主開機記錄的電子裝置、一種回存主開機記錄的方法及其電腦可讀取媒體,可在發生使用者錯誤、病毒、系統故障等情形而造成主開機記錄毀損時以回存主開機記錄。
本發明的附加特徵和效用將在以下敘述,部分內容會清楚在下列描述,或者基於本發明之構思,透過據以實施而獲知。
基於本發明的特徵與效果,其提供一種電子裝置,包括儲存單元、控制單元、有效性判斷單元及回存單元。上述儲存單元儲存主開機記錄(Master Boot Record;MBR)及作業系統,上述控制單元利用所儲存的主開機記錄和作業系統,將電子裝置啟動,且於電子裝置啟動時,產生上述主開機記錄的備份資料,並將其儲存於儲存單元中。若發生預定事件,上述有效性判斷單元判斷主開機記錄的有效性,並且,若上述主開機記錄並非有效,上述回存單元使用儲存於上述儲存單元的備份資料,以回存主開機記錄。
上述有效性判斷單元可透過將上述主開機記錄之開機碼與備份資料之開機碼進行比對,以判斷主開機記錄的有效性。
若上述主開機記錄並非有效,回存單元藉由備份資料之開機碼來取代主開機記錄之開機碼。
上述有效性判斷單元依據表示開機磁區的資訊中是否包含於上述主開機記錄之磁區分割表項(Partition Table Entry),以判斷主開機記錄之有效性。
此表示開機磁區的資訊可為開機旗標。
上述有效性判斷單元依據上述儲存單元的儲存區是否記錄有作業程式相關資訊,而此資訊與上述主開機記錄中磁區分割表項所記錄之位址資訊相對應,以判斷主開機記錄之有效性。
上述有效性判斷單元依據該作業系統之開機組態資料(Boot Configuration Data;BCD)的位址與主開機記錄之磁區分割表項中所記錄之位址資訊是否一致,以判斷主開機記錄之有效性。
若上述主開機記錄並非有效,則上述有效性判斷單元判斷此備份資料之有效性。若上述主開機記錄為有效,則上述回存單元利用儲存於儲存單元的備份資料,回存主開機記錄。
上述控制單元會將上述主開機記錄的備份資料以檔案形式儲存於儲存單元中。
上述預定事件可為作業系統結束、作業系統重新開啟、使用者登出及切換為省電模式至少其中之一。
基於上述的特徵與效用,本發明亦提出一種回存電子裝置之主開機記錄(MBR)的方法,此方法包括:利用預先儲存之主開機記錄及作業系統,將電子裝置啟動;若電子裝置啟動,產生並儲存主開機記錄的備份資料;若發生預定事件時,判斷此主開機記錄之有效性;及若此主開機記錄並非有效時,利用上述備份資料,回存主開機記錄。
上述有效性的判斷操作步驟會透過將此主開機記錄之開機碼與備份資料之開機碼進行比對,以判斷主開機記錄的有效性。
若上述主開機記錄並非有效,上述回存單元以備份資料之開機碼 取代主開機記錄之開機碼。
上述有效性判斷操作步驟會依據表示開機磁區的資訊是否包含於此主開機記錄之磁區分割表項中,以判斷主開機記錄之有效性。
此表示開機磁區的資訊可為開機旗標。
上述有效性判斷操作步驟會依據上述儲存單元的儲存區是否記錄有作業程式相關資訊,而此資訊與上述主開機記錄中磁區分割表項所記錄之位址資訊相對應,以判斷主開機記錄之有效性。
上述有效性判斷操作步驟會依據該作業系統之開機組態資料的位址與主開機記錄之磁區分割表項中所記錄之位址資訊是否一致,以判斷主開機記錄之有效性。
若該主開機記錄並非有效,上述有效性判斷操作步驟會判斷備份資料之有效性,且此主開機記錄為有效時,上述回存操作步驟會利用儲存於儲存單元的備份資料,回存主開機記錄。
上述儲存操作步驟會將主開機記錄的備份資料以檔案形式儲存。
基於本發明的特徵與效果,本發明再提出一種電腦可讀取媒體,記錄執行回存主開機記錄之方法的程式。此回存主開機記錄之方法可包括利用此預先儲存之主開機記錄及作業系統,以啟動電子裝置。若電子裝置已啟動,產生並儲存主開機記錄的備份資料。若發生預定事件,判定主開機記錄的有效性。以及,若主開機記錄並非有效,使用備份資料回存主開機記錄。
在上述電子裝置中,在回存單元使用備份資料回存主開機記錄之後,上述控制單元會執行對應此事件之操作。
在上述電子裝置中,此事件可包括主開機記錄遭到破壞。
在上述電子裝置中,上述儲存單元可包括第一儲存單元,以儲存此主開機記錄,及第二儲存單元,以儲存此主開機記錄的備份資料。
110‧‧‧通訊介面單元
120‧‧‧使用者介面單元
130‧‧‧儲存單元
140‧‧‧有效性判斷單元
150‧‧‧回存單元
160‧‧‧控制單元
200‧‧‧記憶體元件
210‧‧‧主開機記錄
220‧‧‧開機磁區
230‧‧‧主動磁區
300‧‧‧主開機記錄
310‧‧‧開機碼
320‧‧‧磁區分割表項
55AA‧‧‧保留輸入項
S410~S1030‧‧‧步驟
藉由參照附圖的詳細描述之例示實施例,並配合所附圖式,使特徵對於本領域之通常技藝人員而言將更明顯,其中:圖1為根據本發明之一實施例之電子裝置的方塊示意圖;圖2為根據本發明之一實施例之電子裝置的方塊示意圖;圖3繪示圖2中所示之主開機記錄的結構;圖4為根據本發明之一實施例之回存主開機記錄的方法的流程圖;圖5繪示圖4中所示之方法的流程圖;圖6繪示圖5中所示判斷主開機記錄之開機碼有效性的操作步驟流程圖;圖7繪示圖5中所示判斷主開機記錄之一磁區分割表之有效性的操作步驟流程圖;圖8繪示圖7中所示判斷一主動磁區(Active Partition)有效性的操作步驟流程圖;7;圖9繪示圖7中所示增強型文件系統磁區(NTFS Partition)有效性的操作步驟流程圖;以及圖10繪示圖7中所示開機磁區(Boot Partition)有效性的操作步驟流程圖。
現將詳細參考本發明之示範性實施例,在附圖中說明所述示範性實施例之實例。其中,在圖式及實施方式中使用相同標號的元件/構件/符號代表相同或類似部分。以下將舉數實施例並配合圖示說明本發明。本發明之內容將特舉以下實施例並參照圖示說明如下。
圖1為根據本發明之一實施例之電子裝置100的方塊示意圖。
請參照圖1,電子裝置100包括通訊介面單元110、使用者介面單元120、儲存單元130、有效性判斷單元140、回存單元150及控制單元160。電子裝置100為利用主開機記錄(Master Boot Record;MBR)執行開機程序之電腦裝置,例如:筆記型電腦(Notebook Computer;NB)、平板電腦(Tablet PC)、行動媒體播放器(Portable Media Player;PMP)或相同種類裝置。
通訊介面單元110用以連接電子裝置100與一外部元件(未繪示)。通訊介面單元110可透過有線或無線通訊方式,例如,區域網路(LAN)、網際網路(Internet)、全球行動通信系統(GSM)、通用行動通訊系統(Universal Mobile Telecommunications System;UMTS)、長程演進技術(Long Term Evolution;LTE)、無線寬頻(Wireless Broadband;WiBRO)或相同種類通訊方式與外部裝置連接。
使用者介面單元120具備數個功能鍵,透過這些功能鍵,使用者可以設定或選擇電子裝置100的各種功能,並可顯示電子裝置100所提供的各種資訊。使用者介面單元120可以藉由同時執行輸入輸出功能的元件(例如觸控板),或者提供結合滑鼠與螢幕功能之裝置來實作。
儲存單元130具有一個以上的非揮發性記憶體元件,並可將一個以上用來驅動電子裝置100之程式儲存於其中。儲存單元130所儲存之程式可為一組包含各種驅動電子裝置100所需之指令。於此,上述程式包含主開機記錄(MBR)及作業系統。此作業系統為一作業程式,其用以驅動電子裝置100,而此主開機記錄為一資訊,用以識別作業系統在電子裝置100啟動程序中所在位置為何,如何將作業系統載入電子裝置100之主要儲存元件中,且其位於例如是儲存單元130之存媒體的第一個區段(Sector)中。以下將參照圖2及圖3,說明有關主開機記錄之詳細組態。
若發生一預定事件,有效性判斷單元140會判斷主開機記錄之有效性。若一事件例如是作業系統結束、作業系統重新開啟、使用者登出及切換為省電模式發生,有效性判斷單元140便會判斷主開機記錄之開機碼輸入項及磁區分割表項(Partition Table Entry)是否有效。
透過將此主開機記錄之開機碼與該備份資料之開機碼進行比對,有效性判斷單元140判斷主開機記錄的有效性。於此,此開機碼為存有各種指令之輸入項,可讀取一磁區的開機區段記錄,而要被載入記憶體元件中的作業系統即儲存在此。
此備份資料是備份有電子裝置100正常開機時之主開機記錄的資料。此備份資料可儲存於記憶體元件中,例如,儲存單位單元130之非揮發性記憶體元件中。如此一來,當開機正常執行時,主開機記錄的開機碼為有效,則對應之備份檔案的開機碼亦為有效。因此,透過將目前主開機記錄之開機碼與備份資料之開機碼進行比對,可判斷主開機記錄之開機碼的有效性。此時,若目前主開機記錄之開機碼不同於備份資料的開機碼,則有效性 判斷單元140即判斷主開機記錄之開機碼並非有效。
主開機記錄中可包括4個磁區分割表項,磁區分割表項內含磁區的資訊,且磁區分割表項其中之一會包括表示對應之磁區為開機磁區的資訊。然而,並非上述4個磁區分割表項全部皆包括上述表示對應之磁區為開機磁區的資訊,故無法執行開機。所以,有效性判斷單元140會依據上述主開機記錄之磁區分割表項是否包括表示開機磁區的資訊,以判斷主開機記錄之有效性。
有效性判斷單元140會確認至少一開機旗標(或開機指標),即主開機記錄4個磁區分割表項的第0個位元組中,是否包含表示開機磁區的資訊。當這些磁區分割表項中至少一個包含此表示開機磁區的資訊,亦即,若0x80h被設在這些磁區分割表項中的至少一個,則有效性判斷單元140即判定此主開機記錄為有效的主開機記錄。當0x80h並未被設在任何磁區分割表中時,則判定此主開機記錄不是有效的主開機記錄。
上述磁區分割表項中包括表示對應之磁區是否為開機磁區的資訊及對應磁區的位址資訊(即,起始區段磁頭(Header)與磁柱(Cylinder)的位置、對應磁區結束區段磁頭與磁柱的位置以及對應磁區之全部區段的數目)。相應地,在開機程序中,開機作業是利用與磁區分割表項(亦即,開機磁區)之位址資訊相對應的磁區中所記錄之作業系統來執行,而此磁區分割表項包括上述表示開機磁區的資訊。
然而,當實際上並未儲存作業系統的磁區分割表項中包含表示開機磁區的資訊,或者對應之磁區分割表項中的位址資訊因使用者錯誤、病毒、系統故障等緣故而遭到破壞,則開機作業無法執行。藉此,上述有效性 判斷單元140可依據上述儲存單元130的儲存區是否記錄有作業系統相關資訊,而此資訊與上述主開機記錄中磁區分割表項所記錄之位址資訊相對應,以判斷主開機記錄之有效性。稍後將參照圖9說明上述的相關操作。
上述有效性判斷單元140會依據該作業系統之開機組態資料(BCD)的位址與主開機記錄之磁區分割表項中所記錄之位址資訊是否一致,以判斷主開機記錄之有效性。稍後將參照圖10說明此有效性判斷之相關操作。
當主開機記錄並非有效時,有效性判斷單元140會判斷備份資料之有效性。當主開機記錄被判定並非有效時,有效性判斷單元140會針對備份資料執行上述有效性判斷之操作,以判斷備份資料之有效性,備份資料開機碼之有效性判斷有可能無法執行。
當主開機記錄並非有效時,回存單元150會利用儲存單元130中所儲存之備份資料進行主開機記錄的回存。當主開機記錄被判定並非有效而備份資料為有效時,回存單元150將利用儲存單元130中所儲存之備份資料進行主開機記錄的回存。當主開機記錄的開機碼被判定並非有效,回存單元150僅會利用備份資料的開機碼,進行主開機記錄之開機碼的回存。雖然上述有效性判斷單元140及回存單元150被繪示及描述為分別配置,但本發明並不對此限定,而有效性判斷單元140及回存單元150可藉由一個組態配置實行,或組成單一單元。
控制單元160控制電子裝置100各項組態設定。當系統啟動時,控制單元160會根據主開機記錄進行開機,並執行儲存單元130中所儲存之作業系統。當電子裝置100開機啟動時,控制單元160會產生主開機記錄的 備份資料,並將所產生的備份資料儲存在儲存單元130中。此時,此備份資料是以檔案形式儲存。雖然在此實施例中,將控制單元160繪示為產生及儲存備份資料,但本發明不在此限。備份資料的產生與儲存亦可由上述之有效性判斷單元140或回存單元150執行之。雖然上述所產生的備份資料是儲存於儲存單元130中,但是此備份資料亦可儲存於電子裝置100的基本輸入輸出系統(BIOS)中。
若發生了例如是作業系統結束、作業系統重新開啟、使用者登出及切換為省電模式的事件,控制單元160會控制有效性判斷單元140以判斷目前主開機記錄之有效性。當主開機記錄被判定為有效時,控制單元160會執行對應所發生之事件的操作。
當主開機記錄被判定並非有效時,控制單元160會控制有效性判斷單元140以判斷主開機記錄之備份資料的有效性。當主開機記錄被判定為有效時,控制單元160會控制回存單元150以利用此備份資料,將主開機記錄回存,並在回存作業後,執行上述對應所發生之事件的操作。
如上所述,本發明之實施例的電子裝置100會在其正常開機時,執行主開機記錄的備份,在開機結束時間時判斷此主開機記錄的有效性,並在主開機記錄變成無效時,利用已經備份的資料進行回存。此外,本發明之實施例的電子裝置100會根據主開機記錄的實際資料(目前資料)檢查其有效性,在必要時進行主開機記錄的回存,然後,根據已回存的主開機記錄,執行對應此事件的操作,如此,將可提供使用者一個較為穩定的使用環境。
當儲存單元130的一個儲存區域因為發生各種會影響主開機記錄的事件而被毀損或破壞,且儲存區域所儲存的主開機記錄無法進行回存,則 控制單元160會在儲存單元130中儲存備份資料的所在位置,且在執行對應事件的操作時,可用此備份資料的位置,來讀取備份資料作為主開機記錄。
圖2為根據本發明之一實施例繪示儲存單元之儲存結構的示意圖。
儲存單元130可包括記憶體元件200以儲存主開機記錄210、開機磁區220及主動磁區230。
此主開機記錄210為一資訊,識別作業系統在例如是電子裝置100的電腦裝置中所在位置為何,以及如何將作業系統載入其中。主開機記錄210可位於例如是圖1所示儲存單元130之儲存媒體(例如:硬碟)的第一個區段。
由於主開機記錄中具有各個磁區輸入項的形式、大小、位置等資訊,且在儲存媒體進行格式化時,這些資訊會被分割,所以主開機記錄又可稱為磁區區段或主磁區表。稍後將參照圖3以說明有關主開機記錄之詳細結構。
開機磁區(或系統磁區)220為具有開機引導程序(Bootstrap)檔的磁區,其可啟動作業系統並進行開機作業。在所繪示的範例中,開機磁區被安排與主動磁區230隔開。但是,開機磁區可安排在主動磁區230之中。
主動磁區230為作業系統所儲存的磁區。
另一方面,雖然開機磁區220與主動磁區230在圖2中為分開繪示及說明;但是其中,此開機磁區220與主動磁區230可為非分離的形式,也就是依照電子裝置100及作業系統的結構形成為一磁區。
圖3以主開機記錄300為例,繪示圖2中所示之主開機記錄210的 結構。
請參照圖3,主開機記錄300包括開機碼310、磁區分割表項320及保留輸入項55AA。主開機記錄300例如是位於儲存媒體的第一個區段,由一個區段組成,且通常其大小為512位元組。
舉例來說,開機碼310為一輸入項,其中此輸入項記錄有一系列對應讀取作業系統準備階段的指令,且大小為446位元組。
舉例來說,磁區分割表項320為一內含數磁區資訊的表單,且其大小例如為64位元組。當指定一磁區需要16位元組時,一個儲存媒體中即可指定四個主要磁區。
在儲存有各磁區之資訊的表單中,開機旗標的資訊為表示對應磁區是否為該機磁區,對起始區段之磁頭與磁柱的位置,對應磁區之結束區段之之磁頭與磁柱的位置以及對應磁區全部區段數目。
在開機程序中,準備作業是利用主開機記錄中的開機記錄來執行,開機旗標被設為主動(0x80h)的磁區即變成開機磁區,而系統是基於對應磁區中所記錄之作業系統而開機。
在開機程序的準備作業中,如有以下情形,則無法執行開機:(1)當開機記錄中有錯誤(不正確)的指令時,(2)當所有磁區分割表項中並未包括開機磁區資訊在內時,以及,(3)當與開機磁區輸入項對應之實際磁區輸入項中,並未儲存有作業系統時(包括當開機磁區之位址資訊不同於作業系統所記錄之磁區位址時)。
因此,根據此實施例,有效性判斷單元140可執行一系列程序以確認有無上述(1)至(3)的情形。
保留輸入項55AA當中有確認主開機記錄是否正確之保留值的輸入項,其大小為2位元組。
圖4為根據本發明之一實施例之回存電子裝置中主開機記錄的方法流程圖。
首先,在操作步驟S410中,利用預先儲存之主開機記錄及作業系統,將電子裝置100開機。透過讀取儲存於儲存媒體之第一個區段中的主開機記錄,以及讀取作業系統根據所讀取之主開機記錄而儲存之磁區(主動磁區)中的開機區塊記錄,執行此開機作業。
在操作步驟S420中,當電子裝置已開機,產生並儲存此該主開機記錄的備份資料。當電子裝置正常開機,開機時的主開機記錄的備份資料會被產生並儲存。也就是說,當開機作業正常執行,此主開機記錄為有效,因此,開機時的主開機記錄會被儲存為備份資料。
在操作步驟S430中,當發生一預定事件,則於操作步驟S440中判斷此主開機記錄的有效性。當發生了例如是作業系統結束、作業系統重新開啟、使用者登出及切換為省電模式的事件,將判斷主開機記錄的開機碼輸入項與磁區分割表項是否有效。此時,當判定主開機記錄並非有效時,則無法判斷備份資料的有效性。
若主開機記錄並非有效,則在操作步驟S430中,利用所儲存之備份資料進行主開機記錄的回存。當主開機記錄被判定並非有效而備份資料為有效時,則利用開機時所產生之備份資料,進行主開機記錄的回存。當主開機記錄的開機碼被判定並非有效,則僅有主開機記錄的開機碼可利用備份資料之開機碼,進行回存。
如此,本實施例之回存主開機記錄的方法是在開機作業正常執行時,即進行主開機記錄的備份,在開機結束時間時判斷此主開機記錄的有效性,並在主開機記錄變成無效時,利用已經備份的資料進行回存。此外,本實施例之回存主開機記錄的方法包括根據主開機記錄的實際資料來檢查其有效性,因此,可提供使用者一個較為穩定的使用環境。圖4中所繪示之回存主開機記錄的方法可透過具有圖1所示之組態設定的電子裝置或其他組態設定下的電子裝置執行之。
更甚者,可藉由至少一執行程式實作上述本實施例之回存主開機記錄的方法,而此執行程式可儲存在電腦可讀取媒體中。
由此可見,本發明之實施例中各個區塊(操作步驟)可藉由可讀取媒體中所包含之電腦可讀取程式碼的方式執行之。此電腦可讀取媒體可為儲存電腦系統可讀取資料的元件。
圖5為根據本發明之一實施例之回存電子裝置中主開機記錄的方法流程圖。圖5所示的方法可與圖4所示之方法相對應,且可由圖1所示之電子裝置100執行之。
請參照圖5,在操作步驟S505中,當電子裝置100接受電源而開啟,BIOS執行啟動常式(Routine)。在此,此啟動常式為一系列處理程序,其在電子裝置被啟動會自動執行,以自我檢測電子裝置的狀態(又稱作BIOS POST),將系統起始化,並確認起始化過程中所連接之週邊裝置為何。
接著,在操作步驟S515中,根據BIOS的啟動常式,執行儲存媒體之第一個區段鍾髓儲存之主開機記錄,並且在在操作步驟S520中,藉由 讀取主開機記錄之磁區分割表項中開機磁區所記錄之作業系統,執行開機作業。
在操作步驟S525中,當開機作業已執行,產生並儲存此主開機記錄的備份資料。當作業系統被載入之後,執行管理此主開機記錄的應用程式,且透過執行此應用程式,將512位元組正常開機之主開機記錄備份成一檔案。雖然在上文中,主開機記錄輸入項係備份成一檔案儲存在儲存媒體中,但本發明不在此限。此主開機記錄也可備份在BIOS中。
之後,在操作步驟S530中,將偵測是否有預定事件發生。在此實施例中,主開機記錄的回存係視下一次開機作業的穩定而定,並執行於作業系統結束的同時(例如是作業系統結束、重新開啟、使用者登出及切換為省電模式)。因此,是否發生此事件,是由應用程式進行偵測。
當發生一預定事件,則判斷此主開機記錄的有效性。首先,在操作步驟S535中,先判斷主開機記錄之開機碼的有效性。稍後將參照圖6說明此點。
參考操作步驟S540-N,若判斷主開機記錄的開機碼結果並非有效,則可在步驟S545中,利用備份資料之開機碼,將主開機記錄的開機碼進行回存。特別是,可透過將備份資料的開機碼覆寫到主開機記錄的開機碼第0至第445輸入項中,將主開機記錄的開機碼進行回存。
接著,參考操作步驟S540-Y,若判斷主開機記錄的開機碼結果為有效,或者主開機記錄的開機碼已經回存,則在操作步驟S550中,判斷主開機記錄之磁區分割表的有效性。稍後將參照圖7至圖10說明此點。
接著,參考操作步驟S555-N,若判斷主開機記錄的磁區分割表結 果為有效,則在操作步驟S560中,判斷備份資料之磁區分割表的有效性。有關判斷備份資料之有效性的詳細方式與判斷主開機記錄之磁區分割表的方式相同,故,以下將不再贅述。
參考操作步驟S565-Y,若判斷備份資料之磁區分割表結果為有效,則在操作步驟S570中,可利用備份資料之磁區分割表,將主開機記錄的磁區分割表進行回存。
然而,參考操作步驟S565-N,當備份資料之磁區分割表結果並非有效,則不再執行另一回存作業。
之後,在操作步驟S580中,結束執行應用程式,並執行對應已發生事件的操作。
圖5中所繪示之回存主開機記錄的方法可透過具有圖1所示之組態設定的電子裝置或其他組態設定下的電子裝置執行之。再者,上述回存主開機記錄法方的操作步驟S525至S580可由一應用程式實作之,而此應用程式可儲存於電腦可讀取媒體中。雖然在上述說明中,上述操作係透過應用程式來執行,但是實作上,也可由作業系統執行之。
圖6繪示圖5中所示判斷主開機記錄之開機碼有效性的操作步驟流程圖。
請參照圖6,在操作步驟S610中,讀取主開機記錄之開機碼(446為元組)及備份資料之開機碼(466位元組)。
然後,在操作步驟S620中,透過將主開機記錄之開機碼與備份資料之開機碼進行簡單比對,判斷所讀取之主開機記錄之開機碼與備份資料之開機碼是否相同。
接著,在操作步驟S630中,回傳上述判斷的結果。當所讀取之主開機記錄之開機碼與備份資料之開機碼相同時,則判定主開機記錄之開機碼為有效,且可回傳此已判斷值。反之,若所讀取之主開機記錄之開機碼與備份資料之開機碼不相同時,則判定主開機記錄之開機碼並非有效,且可回傳此已判斷值。
圖7繪示圖5中所示判斷主開機記錄之磁區分割表有效性的操作步驟流程圖。
請參照圖7,在操作步驟S710中,判斷主動磁區的有效性。稍後將參照圖8,詳述判斷主動磁區之有效性的細節。
然後,在操作步驟S720中,判斷NTFS磁區的有效性。稍後將參照圖9,說明判斷NTFS磁區之有效性的細節。
接著,在操作步驟S730中,判斷開機磁區的有效性。稍後將參照圖9,說明判斷開機磁區之有效性的細節。
雖然在上文中,開機磁區之有效性的判斷是在判斷NTFS磁區的有效性之後,但本發明不在此限。也可先判斷開機磁區之有效性,然後再判斷NTFS磁區之有效性。
此外,若在上述三種判斷作業中皆無法識別出有效性,則亦可判定主開機記錄之磁區分割表並非有效,而不需執行下一個判斷作業。也就是說,若是在上述三種判斷作業皆可識別出有效性的情況下,則可判定主開機記錄之磁區分割表為有效。
雖然在上文中,上述三種判斷方法皆被用來判斷開機磁區之有效性,但本發明不在此限。實作上,也有可能只利用上述判斷方法中的一或兩 種方法。
圖8繪示圖7中所示判斷主動磁區之有效性的操作步驟流程圖。
請參照圖8,在操作步驟S810中,首先,先判斷具有表示此磁區分割表本身即為開機磁區的資訊(開機旗標)的磁區分割表是否存在主開機記錄之磁區分割表項中。當主開機記錄中一共存在4個磁區分割表時,將會搜尋磁區分割表之第0個位元組的開機旗標是否被設為0x80。參照操作步驟S820-Y,一共重複四次檢測此開機旗標,且若至少有一開機旗標存在,則判定此主動磁區為有效。
參照操作步驟S820-N,當無任何開機旗標存在,則判定此主動磁區並非有效,並結束主開機記錄之磁區分割表項之有效性判斷作業。
圖9繪示判斷圖7中所示增強型文件系統(New Technology File System;NTFS)磁區之有效性的操作步驟流程圖。
請參照圖9,在操作步驟S910中,根據開機磁區之位址資訊,存取對應開機磁區。透過圖8中所示之操作步驟,開機旗標可根據開機旗標被設為0x80h之磁區分割表中所記錄的位址資訊(具體而言,4位元之0x08h至0x0bh的值),存取對應磁區(亦即,開機磁區)。
然後,在操作步驟S920中,確認被存取磁區之OEM ID。根據被存取磁區之開機區段的OEM ID(0x0003h至0x000Ah),可判斷NTFS磁區。一般而言,在儲存媒體被格式化為NTFS的情況下,此OEM ID中會填入NTFS。據此,透過確認一個OEM ID為NTFS,來判斷此NTFS磁區是否有效。在此實施例,僅提出NTFS格式進行說明;然而,本發明不在此限。針對採用另一種檔案格式類型的儲存媒體,可採用其對應格式類型的方法。
參照操作步驟S930-N,判斷此步驟的結果得出異常的OEM ID,則判定此NTFS磁區並非有效,而結束主開機記錄之磁區分割表項的有效性判斷作業。
參照操作步驟S930-Y,當得出之OEM ID為正常時,在操作步驟S940中,根據所存取之磁區$MFT的起始位址值,對$MFT進行存取,特別是,可利用所存取磁區之啟動區段之$MFT起始位址值0x0030h至0x0037h,來對$MFT進行存取。
然後,在操作步驟S950中,確認$MFT的磁碟簽章。正常的主文件表(Master File Table;MFT)會以「File」作為簽章值。據此,NTFS磁區的有效性即依據簽章值是否為「File」,進行判斷。
參照操作步驟S960-Y,當判定結果得出簽章值為「File」,即可判定此NTFS磁區為有效。
參照操作步驟S960-N,當判定結果得出簽章值並非為「File」,即可判定此NTFS磁區為並非有效,而結束主開機記錄之磁區分割表項的有效性判斷作業。
圖10繪示圖7中所示開機磁區(Boot Partition)有效性的操作步驟流程圖。
請參照圖10,首先,在操作步驟S1010中,透過開機組態資料(BCD),搜尋開機磁區之起始位址進行,此開機磁區之起始位址可根據作業系統開機組態資料的內容而得。在此,所搜尋位址的值可由「主開機記錄之磁區分割表項中所記錄之值×區段大小」(512)計算得出;另一方面,在實作中,開機磁區的起始位址可根據記錄於作業系統之登錄檔中的開機組態 資料而得。
此外,在操作步驟S1020中,判斷主開機記錄之磁區分割表區中是否存在用以在前一程序中進行搜尋的位址資訊,即判斷在前一程序中所搜尋到的位址(即,開機磁區的起使位址)與實際上主開機記錄之4個磁區分割表項中所記錄的起始位址是否相同。
參照操作步驟S1030-Y,若判斷結果得出存在相同之磁區分割表項,則可判定此開機磁區為有效。
然而,參照操作步驟S1030-N,當判斷結果得出並不存在相同之磁區分割表項時,則判定此開機磁區並非有效,而結束之磁區分割表項的有效性判斷作業。
本發明也可體現為電腦可讀記錄媒體上的電腦可讀代碼。此電腦可讀記錄媒體是指任何可儲存資料且這些資料日後可被電腦系統讀取的資料記錄裝置。電腦可讀記錄媒體之範例包括唯讀記憶體(Read-Only Memory;ROM)、隨機存取記憶體(Random-Access Memory;RAM)、CD-ROM、磁帶(Magnetic Tape)、軟磁碟(Floppy Disk)以及光學資料記錄裝置。更多的觀點可包括載波(例如藉由網際網路來進行資料傳輸)。電腦可讀記錄媒體也可分佈在耦接電腦系統的網路上,使電腦可讀代碼以分佈方式來儲存與執行。而且,熟悉本發明所屬之技藝的程式設計員有能力順利地分析(Construe)各種可實現本發明的功能程式、代碼及代碼段。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟習此技藝者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
110‧‧‧通訊介面單元
120‧‧‧使用者介面單元
130‧‧‧儲存單元
140‧‧‧有效性判斷單元
150‧‧‧回存單元
160‧‧‧控制單元

Claims (13)

  1. 一種電子裝置,包括:一儲存單元,儲存一主開機記錄(MBR)與一作業系統;以及一控制單元,使用所儲存的該主開機記錄及該作業程式,將電子裝置啟動,其中若該電子裝置啟動,該控制單元產生該主開機記錄的一備份資料並將其儲存於該儲存單元中;當在該電子裝置啟動後發生一預定事件時,該控制單元判斷該主開機記錄之有效性;及當該主開機記錄並非有效時,該控制單元利用該儲存於該儲存單元中的備份資料,以回存該主開機記錄,其中該控制單元依據該作業系統之一開機組態資料(BCD)的位址與該主開機記錄的磁區分割表項中所記錄之位址資訊是否一致,以判斷該主開機記錄之有效性。
  2. 如申請專利範圍第1項所述的電子裝置,其中該控制單元透過將該主開機記錄之一個開機記錄與該備份資料之一開機記錄進行比對,以判斷該主開機記錄的有效性。
  3. 如申請專利範圍第2項所述的電子裝置,其中若該主開機記錄並非有效,該控制單元以該備份資料之該開機記錄取代該主開機記錄之開機記錄。
  4. 如申請專利範圍第1項所述的電子裝置,其中該控制單元還依據表示開機磁區的資訊是否包含於該主開機記錄的該磁區分割表項,以判斷該主開機記錄之有效性。
  5. 如申請專利範圍第1項所述的電子裝置,其中該控制單元還依據該儲存單元的一儲存區是否記錄有一作業程式相關資訊,而該資訊與該主開機記錄中的該磁區分割表項所記錄之位址資訊相對應,以判斷該主開機記錄之有效性。
  6. 如申請專利範圍第1項所述的電子裝置,其中:當該主開機記錄並非有效時,該控制單元判斷該備份資料之有效性;及當該主開機記錄為有效時,該回存單元利用該儲存於該儲存單元的備份資料,回存該主開機記錄。
  7. 如申請專利範圍第1項所述的電子裝置,其中該預定事件為該作業系統結束、該作業系統重新開啟、使用者登出及切換為省電模式至少其中之一。
  8. 一種回存電子裝置之主開機記錄的方法,該方法包括:利用一預先儲存之主開機記錄及作業系統,將該電子裝置啟動;若該電子裝置已啟動,產生並儲存一主開機記錄的備份資料;當在該電子裝置啟動後發生一預定事件時,判斷該主開機記錄之有效性;及 當該主開機記錄並非有效時,利用該備份資料,以回存該主開機記錄,其中該有效性判斷操作步驟包括:依據該作業系統之一開機組態資料的位址與該主開機記錄的磁區分割表項中所記錄之位址資訊是否一致,以判斷該主開機記錄之有效性。
  9. 如申請專利範圍第8項所述之回存電子裝置之主開機記錄的方法,該有效性的判斷操作步驟包括透過將該主開機記錄之一個開機記錄與該備份資料之一開機記錄進行比對,以判斷該主開機記錄的有效性。
  10. 如申請專利範圍第9項所述之回存電子裝置之主開機記錄的方法,其中該回存操作步驟包括當該主開機記錄並非有效時,以該備份資料之該開機記錄取代該主開機記錄之開機記錄。
  11. 如申請專利範圍第8項所述之回存電子裝置之主開機記錄的方法,其中該有效性判斷操作步驟還包括依據一表示開機磁區的資訊是否包含於該主開機記錄的該磁區分割表項中,以判斷該主開機記錄之有效性。
  12. 如申請專利範圍第8項所述之回存電子裝置之主開機記錄的方法,其中該有效性判斷操作步驟還包括依據該儲存單元的一儲存區是否記錄有一作業程式相關資訊,而該資訊與該主開機記錄中的該磁區分割表項所記錄之位址資訊相對應,以判斷該主開機記錄之有效性。
  13. 如申請專利範圍第8項所述之回存電子裝置之主開機記錄的方法,其中: 其中該有效性判斷操作還步驟包括若該主開機記錄並非有效,判斷該備份資料之有效性;及其中該回存操作步驟包括當該主開機記錄為有效時,利用該儲存於一儲存單元的備份資料,回存該主開機記錄。
TW102101544A 2012-03-04 2013-01-15 回存主開機記錄的電子裝置及其方法 TWI585582B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120022089A KR101994811B1 (ko) 2012-03-04 2012-03-04 전자 장치, mbr 복원 방법 및 컴퓨터 판독가능 기록매체

Publications (2)

Publication Number Publication Date
TW201342049A TW201342049A (zh) 2013-10-16
TWI585582B true TWI585582B (zh) 2017-06-01

Family

ID=47740767

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102101544A TWI585582B (zh) 2012-03-04 2013-01-15 回存主開機記錄的電子裝置及其方法

Country Status (8)

Country Link
US (1) US9286164B2 (zh)
EP (1) EP2637101B1 (zh)
JP (1) JP6342339B2 (zh)
KR (1) KR101994811B1 (zh)
CN (1) CN103294572A (zh)
IN (1) IN2014DN07966A (zh)
TW (1) TWI585582B (zh)
WO (1) WO2013133530A1 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9619404B2 (en) 2013-04-16 2017-04-11 International Business Machines Corporation Backup cache with immediate availability
US9329938B2 (en) * 2013-04-16 2016-05-03 International Business Machines Corporation Essential metadata replication
US9104332B2 (en) 2013-04-16 2015-08-11 International Business Machines Corporation Managing metadata and data for a logical volume in a distributed and declustered system
US9298398B2 (en) 2013-04-16 2016-03-29 International Business Machines Corporation Fine-grained control of data placement
US9990255B2 (en) 2013-04-23 2018-06-05 Hewlett-Packard Development Company, L.P. Repairing compromised system data in a non-volatile memory
CN105144185B (zh) 2013-04-23 2018-06-05 惠普发展公司,有限责任合伙企业 验证控制器代码和系统启动代码
US9880908B2 (en) * 2013-04-23 2018-01-30 Hewlett-Packard Development Company, L.P. Recovering from compromised system boot code
TWI515557B (zh) * 2014-02-26 2016-01-01 緯創資通股份有限公司 電腦系統與控制方法
CN103970564A (zh) * 2014-04-23 2014-08-06 京信通信系统(中国)有限公司 嵌入式操作系统自动修复升级功能的方法及其系统
US9582393B2 (en) * 2014-06-20 2017-02-28 Dell Products, Lp Method to facilitate rapid deployment and rapid redeployment of an information handling system
CN105335172B (zh) * 2014-06-26 2021-04-13 联想(北京)有限公司 设置更新方法和电子设备
CN105279042A (zh) * 2014-07-15 2016-01-27 华耀(中国)科技有限公司 一种bsd系统的冗余备份系统及方法
CN105511892B (zh) * 2014-09-22 2018-12-14 联想(北京)有限公司 一种信息处理方法及电子设备
CN105787311A (zh) * 2014-12-22 2016-07-20 联想(上海)信息技术有限公司 存储设备管理方法、装置及电子设备
JP6554881B2 (ja) * 2015-04-07 2019-08-07 株式会社ソシオネクスト 半導体装置および記憶媒体の制御方法
CN104794025B (zh) * 2015-04-27 2017-11-10 四川效率源信息安全技术股份有限公司 快速校验存储设备的方法
US9971659B1 (en) * 2015-06-24 2018-05-15 Western Digital Technologies, Inc. Memory programming providing corruption protection
CN105446832B (zh) * 2015-11-10 2019-02-05 华为技术有限公司 主引导扇区的数据恢复方法及装置
WO2018190846A1 (en) * 2017-04-13 2018-10-18 Hewlett-Packard Development Company, L.P. Boot data validity
WO2020159533A1 (en) 2019-02-01 2020-08-06 Hewlett-Packard Development Company, L.P. Security credential derivation
US11520662B2 (en) 2019-02-11 2022-12-06 Hewlett-Packard Development Company, L.P. Recovery from corruption
CN114546503A (zh) * 2022-02-11 2022-05-27 联想开天科技有限公司 一种基于硬盘的引导方法及电子设备
US11914468B1 (en) * 2022-08-15 2024-02-27 Western Digital Technologies, Inc. NVMe boot partition error correction code enhancement

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020059498A1 (en) * 2000-07-12 2002-05-16 Ng Weiloon Partition recovery method
US20040088367A1 (en) * 2002-10-31 2004-05-06 Paragon Development Systems, Inc. Method of remote imaging
TW200422834A (en) * 2003-04-16 2004-11-01 Insyde Software Corp Recovery method for master boot record of hard disk drive
US20080046781A1 (en) * 2006-03-29 2008-02-21 Childs Philip L System and method for booting alternate MBR in event of virus attack

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5421006A (en) * 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
US5418918A (en) * 1993-09-10 1995-05-23 Compaq Computer Corp. Scanning initial CD-ROM sectors for a boot record and executing said boot record to load and execute floppy disk image corresponding to the existing floppy drive
US6931522B1 (en) 1999-11-30 2005-08-16 Microsoft Corporation Method for a computer using the system image on one of the partitions to boot itself to a known state in the event of a failure
US6996706B1 (en) * 2000-02-19 2006-02-07 Powerquest Corporation Booting an operating system or running other pre-boot code from a file stored under a different operating system
US6792556B1 (en) * 2000-05-31 2004-09-14 Dell Products L.P. Boot record recovery
US6862681B2 (en) * 2001-07-16 2005-03-01 International Business Machines Corporation Method and system for master boot record recovery
US7194659B2 (en) * 2002-12-10 2007-03-20 International Business Machines Corporation Method and system for detection and correction of entrance into an improper MBR state in a computer system
CN1277211C (zh) * 2003-05-06 2006-09-27 联想(北京)有限公司 一种计算机操作系统的修复方法
KR100704629B1 (ko) 2005-04-15 2007-04-09 삼성전자주식회사 변경된 위치의 마스터 부트 레코드의 바이러스 감염 여부를판단하고 치료하는 장치 및 방법
KR100750132B1 (ko) * 2005-09-27 2007-08-21 삼성전자주식회사 부팅, 소프트웨어 자동 업데이트 및 에러 복원 방법과 그시스템, 그 방법을 기록한 컴퓨터 판독 가능한 기록매체
KR20070096081A (ko) * 2005-12-07 2007-10-02 삼성전자주식회사 저장매체의 마스터 부트 레코드 복구 방법 및 이를 이용한디스크 드라이브
KR100746032B1 (ko) 2006-01-04 2007-08-06 삼성전자주식회사 마스터 부트 레코드를 관리하는 저장 매체 및 상기 저장매체를 이용한 컴퓨터 시스템의 부팅 방법
TW200739417A (en) * 2006-04-14 2007-10-16 Benq Corp Method for software processing and firmware updating in different OS and system thereof
JP4791286B2 (ja) * 2006-08-09 2011-10-12 富士通株式会社 ディスク装置および電子装置
US8037291B2 (en) 2007-01-29 2011-10-11 Hewlett-Packard Development Company, L.P. Master boot record management
US9098448B2 (en) 2007-05-29 2015-08-04 Dell Products L.P. Intelligent boot services
TWI342519B (en) * 2007-07-02 2011-05-21 Asustek Comp Inc Computer apparatus and starting method and module thereof
KR20110094468A (ko) * 2010-02-16 2011-08-24 삼성전자주식회사 저장 매체의 마스터 부트 레코드 복구 방법, 저장 매체 구동 장치, 및 저장 매체
JP5077726B1 (ja) * 2011-05-23 2012-11-21 Necインフロンティア株式会社 コンピュータ、その制御方法及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020059498A1 (en) * 2000-07-12 2002-05-16 Ng Weiloon Partition recovery method
US20040088367A1 (en) * 2002-10-31 2004-05-06 Paragon Development Systems, Inc. Method of remote imaging
TW200422834A (en) * 2003-04-16 2004-11-01 Insyde Software Corp Recovery method for master boot record of hard disk drive
US20080046781A1 (en) * 2006-03-29 2008-02-21 Childs Philip L System and method for booting alternate MBR in event of virus attack

Also Published As

Publication number Publication date
EP2637101A3 (en) 2014-01-22
EP2637101B1 (en) 2018-11-07
KR20130100879A (ko) 2013-09-12
KR101994811B1 (ko) 2019-07-01
US9286164B2 (en) 2016-03-15
TW201342049A (zh) 2013-10-16
IN2014DN07966A (zh) 2015-05-01
CN103294572A (zh) 2013-09-11
WO2013133530A1 (en) 2013-09-12
JP2015508929A (ja) 2015-03-23
US20130232325A1 (en) 2013-09-05
JP6342339B2 (ja) 2018-06-13
EP2637101A2 (en) 2013-09-11

Similar Documents

Publication Publication Date Title
TWI585582B (zh) 回存主開機記錄的電子裝置及其方法
US7743424B2 (en) Method for protecting data in a hard disk
US7913113B2 (en) Self-managed processing device
US9430250B2 (en) Bootability with multiple logical unit numbers
US7941700B2 (en) Operating system-based application recovery
US8751783B2 (en) Booting computing devices with EFI aware operating systems
TWI475402B (zh) 遠端備份系統及其遠端備份方法
US20140115316A1 (en) Boot loading of secure operating system from external device
EP3627368B1 (en) Auxiliary memory having independent recovery area, and device applied with same
JP2015508929A5 (zh)
US11609997B2 (en) Autonomous driving system with dual secure boot
KR101999617B1 (ko) 전자 장치, gpt 복원 방법 및 컴퓨터 판독가능 기록매체
JP2015537323A (ja) 「ブリング・ユア・オウン」管理のための起動機構
US8375198B2 (en) Boot system and method having a BIOS that reads an operating system from first storage device via an input/output chip based on detecting a temperature of a second storage device
US8245001B2 (en) Storage device and method for protecting its partition
JP2000020367A (ja) 情報記憶方法および情報記憶装置および記録媒体
KR100300584B1 (ko) 컴퓨터시스템의환경복구방법
KR101110715B1 (ko) 시스템 부팅 제어 방법 및 장치
JP2007164392A (ja) 計算機
JP2009064301A (ja) リムーバブルメモリユニット
CN114816542A (zh) 一种系统启动方法及装置
KR20110109721A (ko) 파일 백업 방법과 상기 방법을 수행할 수 있는 장치들