JP2023032245A - 情報処理装置、及びその制御方法 - Google Patents
情報処理装置、及びその制御方法 Download PDFInfo
- Publication number
- JP2023032245A JP2023032245A JP2021138253A JP2021138253A JP2023032245A JP 2023032245 A JP2023032245 A JP 2023032245A JP 2021138253 A JP2021138253 A JP 2021138253A JP 2021138253 A JP2021138253 A JP 2021138253A JP 2023032245 A JP2023032245 A JP 2023032245A
- Authority
- JP
- Japan
- Prior art keywords
- management information
- information
- processing apparatus
- information processing
- abnormality
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/568—Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00002—Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for
- H04N1/00026—Methods therefor
- H04N1/00029—Diagnosis, i.e. identifying a problem by comparison with a normal state
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00912—Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00912—Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
- H04N1/00938—Software related arrangements, e.g. loading applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00962—Input arrangements for operating instructions or parameters, e.g. updating internal software
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00962—Input arrangements for operating instructions or parameters, e.g. updating internal software
- H04N1/0097—Storage of instructions or parameters, e.g. customised instructions or different parameters for different user IDs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Virology (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
- Stored Programmes (AREA)
Abstract
【課題】本発明は、記憶デバイスに格納されたデータの管理情報に異常が検知された場合において、記憶デバイスに予め格納された復旧用の管理情報の格納位置を特定し、管理情報を復旧する仕組みを提供する。【解決手段】本情報処理装置は、記憶領域のセクタ数に関する情報を含む第一の管理情報、パーティションに関する情報を含む第二の管理情報、及び第二の管理情報の復旧用の第三の管理情報を少なくとも記憶した不揮発性記憶部を備える。また、本情報処理装置は、起動時において第二の管理情報の正当性を検証する。さらに、本情報処理装置は、第二の管理情報の異常が検知されると、第一の管理情報に基づいて第三の管理情報が格納されている位置を特定し、異常が検知された第二の管理情報を第三の管理情報で復旧する。【選択図】 図4
Description
本発明は、情報処理装置、及びその制御方法に関する。
近年、画像形成装置を含むファームウェアを内蔵した情報処理装置では攻撃者からファームウェアの改ざんの攻撃を受けるリスクが高まっている。また、ファームウェアを記憶した不揮発メモリ等の記憶デバイスの経年劣化などを原因とするデバイス異常によって記憶内容が変化することがある。このため、近年の画像形成装置では起動時にファームウェアの正当性を検証し、ファームウェアが正当でないと判断された場合には画像形成装置を動作させないようにする機能を備えたものが知られている。例えば特許文献1には、情報処理装置が起動する際に取得部によって取得された第一の個体情報が、記憶部に登録されていない場合、情報処理装置の起動を中止するように制御する起動制御装置が提案されている。
こうした画像形成装置では修理等によりファームウェアが正常な状態に復旧するまで画像形成装置を使用することができなくなる。しかし、ユーザにとっては原因がファームウェアの改ざんか否かの要因に関わらず画像形成装置が使用できないダウンタイムが発生することは損失である。そこで、装置のダウンタイムを短くしユーザの不利益を少なくするために、異常が検知されたファームウェアを修復して回復させる自動復旧機能を備える画像形成装置が知られている。
しかしながら、上記従来技術には以下に記載する課題がある。通常、画像形成装置等の情報処理装置では、起動時において、まず記憶デバイスに格納されたデータの管理情報となるMBR(Master Boot Record)やGPT(GUID Partition Table)の検証が行われる。具体的には、装置の起動時においてCPUによりBIOSを起動した後、SSDやeMMCのような記憶デバイスに格納されているGPTからパーティション情報が取得され、各プログラムの検証が行われる。ここで、例えばBIOSが管理情報であるGPTの改竄・破損を検知した場合、記憶デバイスの最終セクタに格納されている復旧用のGPTを用いて修復が行われる。
一方で、eMMCなどの記憶デバイスは、メーカーによってサイズが異なる場合がある。この場合、記憶デバイスに格納するファームウェアイメージをそれぞれのサイズに対して作成するのはコストがかかるため、予めそれぞれのサイズの記憶デバイスに共通して利用できるように、小さいサイズでファームウェアイメージを作成することがある。また、ソフトウェアアップデート等によりパーティション構成に変更があり、ファームウェアイメージサイズが増減することもある。
しかし、このように異なるサイズの記憶デバイスに対して特定サイズのファームウェアイメージを格納する場合、ファームウェアイメージの最終セクタと記憶デバイスの最終セクタが一致しない虞がある。そのため、BIOSがGPTの復旧を行う際に、本来、記憶デバイスの最終セクタに存在するはずの復旧用GPTが存在せず、正常な状態に修復することができなくなる。
本発明は、上述の課題の少なくとも一つに鑑みて成されたものであり、記憶デバイスに格納されたデータの管理情報に異常が検知された場合において、記憶デバイスに予め格納された復旧用の管理情報の格納位置を特定し、管理情報を復旧する仕組みを提供する。
本発明は、例えば、情報処理装置であって、記憶領域のセクタ数に関する情報を含む第一の管理情報、パーティションに関する情報を含む第二の管理情報、及び該第二の管理情報の復旧用の第三の管理情報を少なくとも記憶した不揮発性記憶手段と、前記情報処理装置の起動時において前記第二の管理情報の正当性を検証する検証手段と、前記検証手段によって前記第二の管理情報の異常が検知されると、前記第一の管理情報に基づいて前記第三の管理情報が格納されている位置を特定し、異常が検知された前記第二の管理情報を前記第三の管理情報で復旧する復旧手段とを備えることを特徴とする。
本発明によれば、記憶デバイスに格納されたデータの管理情報に異常が検知された場合において、記憶デバイスに予め格納された復旧用の管理情報の格納位置を特定し、管理情報を復旧することができる。
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
<情報処理装置の構成>
以下では、本発明の一実施形態について説明する。まず図1を参照して、本実施形態に係る情報処理装置の一例として画像形成装置1のハード構成を説明する。
以下では、本発明の一実施形態について説明する。まず図1を参照して、本実施形態に係る情報処理装置の一例として画像形成装置1のハード構成を説明する。
画像形成装置1は、CPU101、HDD103、SATAコントローラ126、RAM104、ネットワークコントローラ105、ネットワークコントローラI/F106、USBホストコントローラ107、及びUSBホストI/F108を備える。また、画像形成装置1は、CPLD109、EC121、不揮発メモリ115、120、ディスプレイコントローラ110、ディスプレイ111、入力部コントローラ112、入力部113、及びRTC114を備える。さらに、画像形成装置1は、スキャナI/F116、スキャナ117、プリンタI/F118、及びプリンタ119を備える。これらの各デバイスはシステムバス102によって相互にデータを送受することができる。
CPU101は画像形成装置1を稼働させるためのソフトウェアを動作させる中央演算処理装置である。システムバス102は、CPU101が他のユニットにアクセスするため、及び、他のユニット同士をアクセスする通路となる。HDD(Hard Disk Drive)103は、本画像形成装置1のソフトウェア、画像形成装置1が動作するために必要な各種プログラム、データベース、及び一時保存ファイルなどが格納される。RAM(Random Access Memory)104は、画像形成装置1のプログラムが展開され、プログラム動作時の変数や、各ユニットからDMA(Dynamic Memory Access)で転送されるデータの格納領域となる。
ネットワークコントローラ105とネットワークコントローラI/F106とは、本画像形成装置1とネットワーク上の他の機器との通信を行う。USBホストコントローラ107とUSBホストI/F108とは、本画像形成装置1とUSBデバイスとの通信を制御する。このUSBホストI/F108はUSBケーブルを使用してUSBデバイスと接続される。USBデバイスの形態によっては、USBケーブルは使用せず直接接続される形態となる。
ディスプレイ111は、画像形成装置1の動作状況をユーザ等が確認できるように表示する。ディスプレイコントローラ110は、ディスプレイに表示制御を行う。入力部113は、本画像形成装置1へのユーザからの指示を受け付ける。また、入力部コントローラ112は入力部113を制御するが。入力部113は具体的にはキーボードやマウス、テンキー、カーソルキー、タッチパネルや、操作部キーボードといった入力デバイスで実現される。入力部113がタッチパネルである場合は、物理的にはディスプレイ111の表面に装着された実装形態になる。
リアルタイムクロック(以下RTC)114は、本画像形成装置1の時計機能、アラーム機能、タイマ機能等を有する。不揮発メモリ115は書き換え可能なメモリである。CPLD109は、CPU101を介して、基盤回路上の信号線のLow/High状況を読み取る、又は、CPU101がLow/High状況の設定を変更可能にするユニットである。CPLD109はプログラマブルなロジックデバイスであり、画像形成装置1上で電力関係のOFF/ONを制御可能にしているユニットである。CPLD109の内部には、General Purpose Input Output(以下GPIO)が存在する。CPU101は、そのGPIOレジスタの設定値を変更することで、電力関係のOFF/ONを可能としている。画像形成装置1には、システムバス102とスキャナI/F116を介してスキャナ117が接続される。また、画像形成装置1には、システムバス102とプリンタI/F118を介してプリンタ119が接続される。
EC(Embedded Controller)121は、不揮発メモリ115内のBIOSプログラムの正当性を検証する。EC121は、サブCPU122、サブROM123及びサブRAM124を備える。EC121が通電されると、サブCPU122はサブROM123内のプログラムを実行し、それによってサブCPU122は不揮発メモリ115上のECFWを読み出してサブRAM124に展開する。サブCPU122はサブRAM124上に展開されたプログラムを使用して、不揮発メモリ115の改ざん有無を検証する。EC121はバックアップ用途の書き換え不可の不揮発メモリ120とも接続されており、不揮発メモリ115が不正な状態であると判断した場合、EC121は不揮発メモリ120の内容を不揮発メモリ115に上書きコピーする。
<HDDの内部構成>
次に、図2を参照して、本実施形態に係るHDD103の内部構成について説明する。本実施形態では不揮発メモリとしてHDDを例に説明するが、本発明を限定する意図はなく、eMMC(embedded MultiMediaCard)やSSD(solid state drive)などその他のストレージ装置であってもよい。なお、図の上方ほどHDD内のアドレス上の先頭領域を示す。また、位置情報としてはLBA(Logical Block Addressing)を使用する例を記述する。LBAとは、HDD等のストレージ装置を単位サイズごとのセクタに区切り、その先頭からのインデックス番号で位置を特定する手法及びその位置情報の単位である。LBAの単位が512KBの場合、例えば、LBA0はストレージ装置の先頭から511バイト目までを指し、LBA100の場合は、51200バイト目から51711バイト目を指す。
次に、図2を参照して、本実施形態に係るHDD103の内部構成について説明する。本実施形態では不揮発メモリとしてHDDを例に説明するが、本発明を限定する意図はなく、eMMC(embedded MultiMediaCard)やSSD(solid state drive)などその他のストレージ装置であってもよい。なお、図の上方ほどHDD内のアドレス上の先頭領域を示す。また、位置情報としてはLBA(Logical Block Addressing)を使用する例を記述する。LBAとは、HDD等のストレージ装置を単位サイズごとのセクタに区切り、その先頭からのインデックス番号で位置を特定する手法及びその位置情報の単位である。LBAの単位が512KBの場合、例えば、LBA0はストレージ装置の先頭から511バイト目までを指し、LBA100の場合は、51200バイト目から51711バイト目を指す。
HDD103の先頭には、第一の管理情報であるMBR(Master Boot Record)201が存在する。MBR201は、パーティション外に存在する先頭セクタであり、利用されるLBAの全セクタ数情報2011を含む。第一GPT(GUID Partition Table)領域202は後述する各パーティションに関する第二の管理情報を含む。例えば、第一GPT領域202には、第一パーティション203のHDD103上の位置情報や、第一パーティションの用途を示すGUID情報が格納される。
HDD103は、複数のパーティションを有する。各パーティション203~206は、利用用途が異なるデータが記憶されている。例えば、第一パーティション203には起動処理に必要なLoader(ローダ)やKernel(カーネル)を保持している。図2の例では、4つのパーティションを有する例を示すが、パーティションの数はこれ以外の個数であってもよい。
第三の管理情報を格納する第二GPT領域207は、第二の管理情報を格納する第一GPT領域202のバックアップとなる領域である。第二GPT領域207に含まれる情報は、第一GPT領域202とほぼ同一であるが、自己の位置情報及びバックアップの位置情報を含んでいるため、その点は異なっている。第一GPT領域202が破損や改ざんにより第二の管理情報に異常が検知された場合などにおいて、第二GPT領域207の第三の管理情報を用いて第一GPT領域202の復旧が行われる。第二GPT領域207の内容で第一GPT領域202を上書きした後、前述の位置情報の整合性が整うように修正が行われる。HDD103の最終セクタよりも後端領域である最後の領域は未使用領域208である。画像形成装置1においては、未使用領域208を利用しない。もちろん未使用領域を設けず、全領域を使用しても構わない。このように未使用領域208を設けることで、HDD103のメモリサイズに関わらず本発明を適用することができる。一方で、第二GPT領域207が最後の領域(後端領域)に設けられるわけではなく、メモリサイズに応じて位置が変わってしまう。そこで、本実施形態によれば、全セクタ数情報2011を用いて第二GPT領域207の位置を特定する。
<起動処理>
次に、図3を参照して、本実施形態に係る画像形成装置1の起動処理の処理手順を説明する。以下で説明するように、本実施形態に係る画像形成装置1は起動時において、各プログラムの正当性を順次検証し、異常が検知されない場合に当該プログラムの実行を開始する。
次に、図3を参照して、本実施形態に係る画像形成装置1の起動処理の処理手順を説明する。以下で説明するように、本実施形態に係る画像形成装置1は起動時において、各プログラムの正当性を順次検証し、異常が検知されない場合に当該プログラムの実行を開始する。
まず、S301で、電源スイッチがONされたことを検出すると、EC121は、リセット解除され不揮発メモリ115に記憶されたEC121用ソフトウェアを読み出して動作を開始する。EC121は不揮発メモリ115に記憶されたBIOSの正当性を検証し、異常が検知されない場合はCPU101をリセット解除し、BIOS処理を開始させる。
続いてS302でCPU101は、BIOS処理を実行する。CPU101はHDD103に保存されているLoaderの正当性を検証し、各ハードウェアの初期化処理を行う。Loaderに異常が検知されない場合、S303でCPU101は、HDD103からLoaderをRAM104に展開し、Loader処理を開始する。
次に、S304でCPU101は、HDD103に保存されたKernelの正当性を検証し、異常が検知されない場合はRAM104にKernelをロードし、Kernelの処理を開始する。その後CPU101はHDD103に備わる各ファームウェアの正当性を検証し、異常が検知されなければファームウェアを順次起動する。
<GPTの復旧処理>
次に、図4を参照して、本実施形態に係る画像形成装置1のGPTの復旧処理の処理手順について説明する。以下で説明する処理は、上記S302の一部の処理を示し、CPU101によって実行される。
次に、図4を参照して、本実施形態に係る画像形成装置1のGPTの復旧処理の処理手順について説明する。以下で説明する処理は、上記S302の一部の処理を示し、CPU101によって実行される。
S401でCPU101は、HDD103からMBR201をロードする。ロードが完了すると、S402でCPU101は、MBR201が正常であるかどうかを検証する。判定の方法は署名検証方式でもよいし、MBRの備えるシグネチャ領域のチェックなど簡易的なものでもよい。例えば、シグネチャ領域のチェックであれば、MBR領域の最後2バイトが0xAA55であるか否かでもって、正常か否かを判定することができる。
次に、S403でCPU101は、S402の検証処理によってMBR201が正当であると判断された場合、S404に処理を進め、MBR201が正当でないと判断された場合、即ち、MBR201に異常が検知された場合にはS414に処理を進める。S404でCPU101は、HDD103から第一GPT領域202をロードする。ロードが完了すると、S405でCPU101は、第一GPT領域202に含まれる第二の管理情報が正常であるかどうかを検証する。検証処理については、例えば、データに付与された電子署名情報を、公開鍵による署名検証処理を行う。
S406でCPU101は、S405の検証処理によって第一GPT領域201に含まれる第二の管理情報が正当であると判断された場合S407に処理を進め、第二の管理情報が正当でないと判断された場合はS414に処理を進める。S407でCPU101は、第一GPT領域202からLoaderが格納されているパーティションを特定する。例えば、UEFI(Unified Extensible Firmware Interfase)仕様において、GUIDがESP(EFI System Patition)のパーティションの規定パスに格納されていることが定義されている。したがって、Loaderの格納位置の特定については、第一GPT領域202内のパーティションエントリのGUIDとパスから特定することができる。続いて、S408でCPU101は、S407で特定したLoaderをロードし、以降はLoaderが画像形成装置の起動処理を引き継ぎ、本フローチャートの処理を終了する。
一方、S409でCPU101は、つまりS406で第一GPT領域202が正当でないと判断された場合、MBR201から利用される全セクタ数情報2011を取得する。第二GPT領域207は利用されるLBAの最終セクタに位置しており、そのセクタ番号は全セクタ数情報2011と同じ数値になる。続いて、S410でCPU101は、S409で特定した第二GPT領域207に格納される第三の管理情報をロードする。
ロードが完了すると、S411でCPU101は、第二GPT領域207に含まれる第三の管理情報が正常であるかどうかを検証する。続いてS412でCPU101は、検証処理によって第二GPT領域207の第三の管理情報が正当であると判断された場合はS413に処理を進め、第三の管理情報が正当でないと判断された場合はS414に処理を進める。S413でCPU101は、第二GPT領域207の第三の管理情報を用いて、正当でないと判断された第一GPT領域202の第二の管理情報を修復する復旧処理を実行し、S407に処理を進める。復旧処理では、第二GPT領域207の内容で第一GPT領域202の内容を上書きする処理が実行される。
一方、S414でCPU101は、つまり、MBR201、第一GPT領域202、第二GPT領域207が正当でないと判断された場合、起動不良のエラー報知を行い、以降の起動処理を実行せず、画像形成装置の起動を停止する。
以上説明したように、本実施形態に係る情報処理装置は、記憶領域のセクタ数に関する情報を含む第一の管理情報、パーティションに関する情報を含む第二の管理情報、及び第二の管理情報の復旧用の第三の管理情報を少なくとも記憶した不揮発性記憶部を備える。また、本情報処理装置は、起動時において第二の管理情報の正当性を検証する。さらに、本情報処理装置は、第二の管理情報の異常が検知されると、第一の管理情報に基づいて第三の管理情報が格納されている位置を特定し、異常が検知された第二の管理情報を第三の管理情報で復旧する。これにより、本発明は、記憶デバイスに格納されたデータの管理情報に異常が検知された場合において、当該記憶デバイスに予め格納された復旧用の管理情報の格納位置を正確に特定し、上記管理情報を復旧することができる。このように、本発明によれば、ファームウェアイメージの最終セクタと記憶デバイスの最終セクタが一致しない場合であっても、復旧用GPTの位置を好適に特定して、異常が検知されたGPTを修復することが可能になる。例えば、ソフトウェアアップデート等によりパーティション構成に変更がありパーティション数が増減し、第二GPTのセクタ位置が変動した場合であっても、第二GPTの位置を特定し、修復することが可能になる。
なお、本発明は上記実施形態に限らず様々な変形が可能である。例えば、検証処理については各データに付与された電子署名情報を、公開鍵による署名検証処理を行うことで判断を行うが、その他の手法を用いてもよい。また、上記実施形態ではS406、S412は同じ手法で検証を行う例を記載しているが、それぞれ異なる手法を用いてもよい。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
1:画像形成装置、101:CPU、103:HDD、126:SATAコントローラ、104:RAM、105:ネットワークコントローラ、106:ネットワークコントローラI/F、107:USBホストコントローラ、108:USBホストI/F、109:CPLD、121:EC、122:サブCPU、123:ROM、124:RAM、115、120:不揮発メモリ、110:ディスプレイコントローラ、111:ディスプレイ、112:入力部コントローラ、113:入力部、114:RTC、116:スキャナI/F、117:スキャナ、118:プリンタI/F、119:プリンタ
Claims (10)
- 情報処理装置であって、
記憶領域のセクタ数に関する情報を含む第一の管理情報、パーティションに関する情報を含む第二の管理情報、及び該第二の管理情報の復旧用の第三の管理情報を少なくとも記憶した不揮発性記憶手段と、
前記情報処理装置の起動時において前記第二の管理情報の正当性を検証する検証手段と、
前記検証手段によって前記第二の管理情報の異常が検知されると、前記第一の管理情報に基づいて前記第三の管理情報が格納されている位置を特定し、異常が検知された前記第二の管理情報を前記第三の管理情報で復旧する復旧手段と
を備えることを特徴とする情報処理装置。 - 前記検証手段は、前記情報処理装置の起動時において、さらに前記第一の管理情報の正当性を検証し、
前記復旧手段は、
前記検証手段によって前記第一の管理情報の異常が検知されると、異常を報知して前記情報処理装置の起動を停止し、
前記検証手段によって前記第一の管理情報の異常が検知されず、かつ、前記第二の管理情報の異常が検知された場合に、前記第三の管理情報を用いて前記第二の管理情報を復旧することを特徴とする請求項1に記載の情報処理装置。 - 前記検証手段は、さらに、前記復旧手段によって復旧された前記第二の管理情報の正当性を検証することを特徴とする請求項1又は2に記載の情報処理装置。
- 前記検証手段によって前記第二の管理情報の異常が検知されない場合には、前記第二の管理情報におけるパーティションに関する情報に従って、前記不揮発性記憶手段に記憶されたローダが読み込まれることを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
- 前記第三の管理情報は、前記不揮発性記憶手段に記憶されているデータのうち、最終セクタに記憶されていることを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
- 前記不揮発性記憶手段には、前記最終セクタよりも後端領域に未使用領域が含まれることを特徴とする請求項5に記載の情報処理装置。
- 前記第一の管理情報は、MBR(Master Boot Record)であり、
前記第二の管理情報は、GPT(GUID Partition Table)であることを特徴とする請求項1乃至6の何れか1項に記載の情報処理装置。 - 前記セクタ数に関する情報とは、全セクタ数を示す情報であることを特徴とする請求項1乃至7の何れか1項に記載の情報処理装置。
- 前記不揮発性記憶手段は、HDD(Hard Disk Drive)、eMMC(embedded MultiMediaCard)、又はSSD(solid state drive)であることを特徴とする請求項1乃至8の何れか1項に記載の情報処理装置。
- 記憶領域のセクタ数に関する情報を含む第一の管理情報、パーティションに関する情報を含む第二の管理情報、及び該第二の管理情報の復旧用の第三の管理情報を少なくとも記憶した不揮発性記憶手段を備える情報処理装置の制御方法であって、
前記情報処理装置の起動時において前記第二の管理情報の正当性を検証する検証工程と、
前記検証工程で前記第二の管理情報の異常が検知されると、前記第一の管理情報に基づいて前記第三の管理情報が格納されている位置を特定し、異常が検知された前記第二の管理情報を前記第三の管理情報で復旧する復旧工程と
を含むことを特徴とする情報処理装置の制御方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021138253A JP2023032245A (ja) | 2021-08-26 | 2021-08-26 | 情報処理装置、及びその制御方法 |
| US17/885,706 US12353553B2 (en) | 2021-08-26 | 2022-08-11 | Information processing apparatus and control method of the same |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021138253A JP2023032245A (ja) | 2021-08-26 | 2021-08-26 | 情報処理装置、及びその制御方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2023032245A true JP2023032245A (ja) | 2023-03-09 |
Family
ID=85287222
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021138253A Pending JP2023032245A (ja) | 2021-08-26 | 2021-08-26 | 情報処理装置、及びその制御方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US12353553B2 (ja) |
| JP (1) | JP2023032245A (ja) |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5214695A (en) * | 1990-07-23 | 1993-05-25 | International Business Machines Corporation | Apparatus and method for loading a system reference diskette image from a system partition in a personal computer system |
| EP1329800A1 (en) * | 2002-01-22 | 2003-07-23 | Hewlett-Packard Company | Data storage medium |
| US20040153746A1 (en) * | 2002-04-24 | 2004-08-05 | Talagala Nisha D. | Mechanisms for embedding and using integrity metadata |
| US6857011B2 (en) * | 2002-10-31 | 2005-02-15 | Paragon Development Systems, Inc. | Method of remote imaging |
| 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 |
| US20040255106A1 (en) * | 2003-06-10 | 2004-12-16 | Rothman Michael A. | Recovery of operating system configuration data by firmware of computer system |
| KR101121641B1 (ko) * | 2006-07-03 | 2012-04-16 | 엘지전자 주식회사 | 시스템 동작 제어 장치 및 방법 |
| US8869138B2 (en) * | 2011-11-11 | 2014-10-21 | Wyse Technology L.L.C. | Robust firmware update with recovery logic |
| US20120151223A1 (en) * | 2010-09-20 | 2012-06-14 | Conde Marques Ricardo Nuno De Pinho Coelho | Method for securing a computing device with a trusted platform module-tpm |
| KR101999617B1 (ko) * | 2012-09-24 | 2019-07-12 | 삼성전자주식회사 | 전자 장치, gpt 복원 방법 및 컴퓨터 판독가능 기록매체 |
| KR102051086B1 (ko) * | 2018-01-05 | 2019-12-02 | 주식회사 웨인 | 파일저장 기능을 지원하는 부팅 디스크 |
| JP7084160B2 (ja) | 2018-03-02 | 2022-06-14 | Necプラットフォームズ株式会社 | 起動制御装置、起動制御システム、起動制御方法、及び、起動制御プログラム |
-
2021
- 2021-08-26 JP JP2021138253A patent/JP2023032245A/ja active Pending
-
2022
- 2022-08-11 US US17/885,706 patent/US12353553B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| US20230069169A1 (en) | 2023-03-02 |
| US12353553B2 (en) | 2025-07-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5909264B2 (ja) | セキュア・リカバリ装置及び方法 | |
| TWI515660B (zh) | 韌體變量更新方法 | |
| JP4668416B2 (ja) | ブート・ブロックへの書き込みアクセスを可能にする時のブート・ブロック・コードの保護 | |
| JP6054908B2 (ja) | 変数セットを修復する方法、コンピュータ・プログラムおよびコンピュータ | |
| US9448889B2 (en) | BIOS failover update with service processor | |
| CN111506454A (zh) | 基本输入/输出系统的恢复及更新的方法及系统 | |
| CN104850762A (zh) | 防止计算机的动作不良的方法、计算机程序以及计算机 | |
| TW201520895A (zh) | Bios自動恢復系統及方法 | |
| JP2017027244A (ja) | 情報処理装置と、前記情報処理装置による不揮発記憶装置の初期化方法、及びプログラム | |
| TWI765443B (zh) | 資料儲存裝置及維持資料儲存裝置正常開機的方法 | |
| TW202137002A (zh) | 資料儲存裝置及維持資料儲存裝置正常開機運作的方法 | |
| TWI493341B (zh) | 記憶體儲存裝置及其修復方法 | |
| CN119806571A (zh) | 固件升级方法、电子设备和计算机可读存储介质 | |
| JP2023032245A (ja) | 情報処理装置、及びその制御方法 | |
| US11836033B2 (en) | Information processing apparatus and control method for controlling information processing apparatus | |
| JP6221702B2 (ja) | 情報処理装置、情報処理方法、及び情報処理プログラム | |
| TWI416319B (zh) | 使用獨立磁碟備援陣列之電腦系統的開機方法 | |
| KR100907550B1 (ko) | 시리얼 eeprom의 손상된 데이터를 복구하기 위한장치 및 방법 | |
| CN113918199A (zh) | 底层固件程序的更新方法、存储介质以及电子设备 | |
| JP7322233B2 (ja) | 起動時に実行されるソフトウェアの改ざんを検知する情報処理装置及び改ざん検知方法 | |
| JP7614881B2 (ja) | 情報処理装置 | |
| CN102117213B (zh) | 使用独立磁盘冗余阵列的计算机系统的开机方法 | |
| CN114610226A (zh) | 数据储存装置及维持数据储存装置正常开机的方法 | |
| JP2023119785A (ja) | コンピュータ及びデータ不整合判定方法 | |
| JP2019207699A (ja) | 情報処理装置とその制御方法 |