CN1297910C - 一种用于存储和恢复计算机系统信息的方法和装置 - Google Patents

一种用于存储和恢复计算机系统信息的方法和装置 Download PDF

Info

Publication number
CN1297910C
CN1297910C CNB031573088A CN03157308A CN1297910C CN 1297910 C CN1297910 C CN 1297910C CN B031573088 A CNB031573088 A CN B031573088A CN 03157308 A CN03157308 A CN 03157308A CN 1297910 C CN1297910 C CN 1297910C
Authority
CN
China
Prior art keywords
computer system
system information
information
disk
computing machine
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.)
Expired - Fee Related
Application number
CNB031573088A
Other languages
English (en)
Other versions
CN1598793A (zh
Inventor
李勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CNB031573088A priority Critical patent/CN1297910C/zh
Publication of CN1598793A publication Critical patent/CN1598793A/zh
Application granted granted Critical
Publication of CN1297910C publication Critical patent/CN1297910C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种用于存储和恢复计算机系统信息的方法,预先获取当前计算机系统信息,并将计算机系统信息通过独立于计算机的控制器存储于独立于计算机的存储器;在需要恢复计算机系统信息时,从该存储器中读取预先存储的计算机系统信息,并将计算机系统信息恢复至计算机的原始位置。本发明还公开了一种用于存储和恢复计算机系统信息的装置,该装置至少包括:独立于计算机的存储器;独立于计算机的控制器,通过控制程序与计算机进行数据传输;用于将所述装置与计算机相连的接口;存储器与控制器之间、控制器与接口之间通过数据线相连。通过本发明能够提高计算机系统信息存储的安全性,并且能可靠快捷地将计算机系统信息恢复至计算机的原始位置。

Description

一种用于存储和恢复计算机系统信息的方法和装置
技术领域
本发明涉及计算机应用技术领域,特别是指一种用于存储和恢复计算机系统信息的方法和装置。
背景技术
计算机系统信息的安全性对于计算机用户而言十分重要,由于计算机系统信息遭受损害,导致用户重要信息无法读取而造成的损失难以统计,重要信息的无法读取常常使计算机用户的业务难以为继。造成计算机系统信息无法读取的主要原因通常不是磁盘等存储介质损坏,而是由于病毒或计算机用户的使用不当,将磁盘文件分区信息或文件系统关键信息破坏,即计算机系统中重要信息的路径遭到破坏,导致计算机系统中的重要信息无法读取。
尽管现在有多种恢复计算机系统信息的方法,但是这些方法能够高效工作的前提条件是计算机系统关键信息完好无损,即磁盘分区表信息和文件系统超级块信息完好无损,这表示对于用户而言的重要信息的路径没有遭到破坏。通过恢复磁盘分区表信息和文件系统超级块信息,就能够找到用户重要信息的路径,从而使用户简单快速地读取到主要信息。如果磁盘的分区表信息或文件系统超级块信息遭到破坏,则表示对于用户而言的重要信息的路径已经遭到破坏,用户需要逐一地恢复路径遭到破坏的文件,通过重复的搜索工作才能够找到重要信息并读取出来,极大地增加了恢复计算机系统信息的工作量,甚至可能无法恢复用户的重要信息。
发明内容
有鉴于此,本发明的一个目的在于提供一种用于存储和恢复计算机系统信息的方法,本发明的另一目的在于提供一种用于存储和恢复计算机系统信息的装置,该方法和装置能够提高计算机系统信息存储的安全性,并且能可靠快捷地将计算机系统信息恢复至计算机的原始位置。
为了达到上述目的,本发明提供了一种用于存储和恢复计算机系统信息的方法,该方法包含以下步骤:
A、预先获取当前计算机系统信息,并通过与独立于计算机的控制器中的控制程序进行通信,将所述计算机系统信息存储器独立于计算机的存储器;
B、在需要恢复计算机系统信息时,通过与所述控制器中的控制程序进行通信,从所述存储器中读取预先存储的计算机系统信息,并将所述计算机系统信息恢复至计算机的原始位置。
步骤A中所述获取当前计算机系统信息包括以下步骤:A1、确定计算机中包含的磁盘数量并获取与磁盘相对应的信息;A2、获取每个磁盘的分区信息;A3、获取每个分区的文件系统超级块信息。
所述步骤A2包括以下步骤:A21、读取主引导记录中的系统引导代码,然后读取分区表表项中的分区类型;A22、判断当前读取的分区类型是否为扩展分区,如果是,执行步骤A23,否则,执行步骤A24;A23、根据当前分区表表项中的分区起始位置和分区终止位置查找到下一个分区,读取分区表表项中的分区类型,然后返回执行步骤A22;A24、记录分区个数和当前分区的起始位置,然后判断当前分区是否为所在磁盘上的最后一个分区,如果不是,执行步骤A25,如果是,结束对一个磁盘分区信息的获取;A25、读取分区表剩余表项中的分区类型,然后返回执行步骤A22。
步骤A中所述获取当前计算机系统信息是在不同时间点分别获取对应该时间点的计算机系统信息;步骤A中将计算机系统信息存储于独立于计算机的存储器是分别将对应于不同时间点的计算机系统信息存储于所述存储器。
在每一个时间点获取当前计算机系统信息时进一步包括:判断当前计算机系统信息是否与已经存储的对应于该时间点之前最近一次的计算机系统信息相同,如果是,不对所述当前计算机系统信息进行存储;否则,将所述当前计算机系统信息通过所述控制器存储于所述存储器。
所述步骤A进一步包括:预先设置所述获取当前计算机系统信息的不同时间点,并在到达每一个预先设置的时间点时获取当前计算机系统信息。
所述计算机系统信息以数据包格式存储于所述存储器。
预先设置自动恢复和手动恢复的恢复策略,步骤B中将计算机系统信息恢复至计算机的原始位置的步骤包括:B1、指示用户选择恢复策略,如果选择结果是自动恢复,则执行步骤B2,如果选择结果是手动恢复,执行步骤B3;B2、根据所述存储器中存储的计算机系统信息,将最近一次的计算机系统信息恢复至计算机的原始位置,结束计算机系统信息的恢复;B3、根据所述存储器中存储的计算机系统信息,和用户的指定条件将计算机系统信息恢复至计算机的原始位置。
在选择结果是自动恢复时,进一步包括:判断当前计算机中包含的磁盘标识是否与所述存储器中存储的磁盘标识相一致,如果是,则执行步骤B2;否则,不对计算机系统信息进行恢复;在选择结果是手动恢复时,进一步包括:判断当前计算机中包含的磁盘标识是否与所述存储器中存储的磁盘标识相一致,如果是,则执行步骤B3;否则,不对计算机系统信息进行恢复。
用于恢复计算机系统信息的恢复程序存储于可引导磁盘操作系统的介质中,所述恢复程序独立于操作系统。
本发明还提供了一种用于存储和恢复计算机系统信息的装置,该装置至少包括:独立于计算机且用于存储计算机系统信息的存储器;独立于计算机的控制器,该控制器通过自身存储的控制程序与计算机进行数据传输;用于将所述装置与计算机相连的接口;存储器与控制器之间、控制器与接口之间通过数据线相连;并且,计算机通过与所述控制器中的控制程序进行通信,将计算机系统信息存储于所述存储器;计算机通过与所述控制器中的控制程序进行通信,从所述存储器中读取预先存储的计算机系统信息,并将计算机系统信息恢复至计算机的原始位置。
所述存储器是非易失性存储器。
所述控制器是单片机。
所述接口是外设部件互连接口,或工业标准结构接口,或少针脚型接口,或通用串行总线接口。
本发明提出将计算机系统信息存储于独立于计算机的装置,由于不会因用户的误操作或病毒侵袭而导致该装置上的信息被破坏,大大提高了存储于该装置的计算机系统信息的可靠性;并且解决了因用户的误操作或病毒侵袭导致操作系统无法启动时,计算机系统信息无法恢复的问题。通过上述方法和装置,能够实现智能地备份和恢复计算机系统信息,从而大大提高了计算机系统崩溃后恢复计算机系统信息的可能性,提高了计算机数据的存储安全性。
根据本发明提出的用于存储和恢复计算机系统信息的方法,在备份计算机系统信息时,不只备份主引导记录,还备份分区信息和文件系统超级块信息,因此,在恢复计算机系统信息时,将包括主引导记录、分区信息和文件系统超级块信息的计算机系统信息恢复至计算机的原始位置,保存了用户重要信息路径的完整性,用户只需找到路径就可读取到重要信息,从而大大减少了获取用户重要信息的工作量。
附图说明
图1为本发明中存储和恢复计算机系统信息装置的结构示意图;
图2为本发明中存储和恢复计算机系统信息流程图;
图3为主引导扇区结构示意图;
图4为磁盘分区表表项结构示意图;
图5为确定分区信息流程图;
图6为磁盘系统信息数据包结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
本发明采用独立于计算机的装置存储计算机系统信息,在计算机系统信息丢失时,将该装置中存储的计算机系统信息恢复到计算机的原始位置,使计算机系统信息得以恢复,从而使计算机能够正常工作,使用户能够获取用户重要信息。本发明提出的存储和恢复计算机系统信息的方法,在备份计算机系统信息时,不只备份主引导记录,还备份分区信息和文件系统超级块信息,因此,在恢复计算机系统信息时,将包括主引导记录、分区信息和文件系统超级块信息的计算机系统信息恢复至计算机的原始位置,保存了用户重要信息路径的完整性,用户只需找到路径就可读取到重要信息,从而大大减少了获取用户重要信息的工作量。
图1为本发明中存储和恢复计算机系统信息装置的结构示意图,如图1所示,独立于计算机的用于存储和恢复计算机系统信息的装置10主要包括用于存储计算机信息的存储器101和用于完成存储器101与计算机间数据传输的控制器102。存储器101与控制器102通过数据线103相连。控制器102通过数据线104与接口11相连,然后通过接口11与计算机相连。用于存储和恢复计算机系统信息的装置10可采用多种接口方式与计算机相连,例如,32位外设部件互连(PCI,Peripheral Component Interconnection)接口,64位PCI接口,工业标准结构(ISA,Industry Standard Architecture)接口,少针脚型(LPC,Low Pin Count)接口等。数据线103、104的宽度可为8位、16位或32位。可将存储器101、控制器102、数据线103和数据线104集成于一张卡中,可将该卡称为智能管理卡10,智能管理卡10通过接口与计算机进行数据传输。计算机系统信息丢失后,采用独立于计算机的智能管理卡能够保证存储的计算机系统信息具有良好的可靠性。
存储器101可采用非易失性存储器(Non-volatile RAM,NVRAM),能够保证智能存储卡在没有电源供电的情况下,存储的信息也不会丢失;也可采用其他存储器,只需提供供电电源,就可保证智能存储卡中存储的信息不会丢失。控制器102可为存储有控制程序的单片机,用于完成存储器101与计算机间的数据传输。存储器101与计算机间的数据传输包括:将运行于计算机的备份程序传送来的计算机系统信息传送给存储器101存储;将存储器101存储的计算机系统信息传送给存储于软盘等存储介质中的恢复程序,恢复程序将这些信息恢复到计算机中。存储器101与控制器102的芯片型号不限,只要能够完成数据传输,使存储器101存储计算机系统信息即可。
备份程序与操作系统相对应,不同备份程序对应于不同的操作系统,备份程序存储于计算机中,计算机正常工作时,运行的备份程序将计算机系统信息传送至控制器,然后由控制器将计算机系统信息传送给存储器进行存储。由于需要恢复计算机系统信息时,计算机中存储的操作系统可能已遭到破坏,因此恢复程序应独立于操作系统,恢复程序可为磁盘操作系统(DOS)程序。在计算机系统信息遭到破坏后,使用安装有DOS引导程序的介质引导DOS后,运行该介质中存储的恢复程序,由控制器将存储器中存储的计算机系统信息传送给恢复程序,由恢复程序将计算机系统信息恢复到计算机的原始位置。安装有DOS引导程序的介质可为软盘、通用串行总线(USB)盘或光盘等。
在描述了本发明中存储和恢复计算机系统信息的装置后,下面对本发明中存储和恢复计算机系统信息的实现过程进行详细描述。
图2为本发明中存储和恢复计算机系统信息流程图,如图2所示,存储和恢复计算机系统信息的过程包括以下步骤:
步骤201~步骤202:备份程序通过读取操作系统中的文件能够确定计算机系统中包含的独立磁盘数量及每个磁盘的相关信息,然后对每个磁盘的存储信息结构进行分析。
步骤203~步骤205:备份程序根据每个磁盘的信息存储结构,确定该磁盘中包含的分区数量,并获取每个分区的引导记录和文件系统超级块信息。
步骤206~步骤207:备份程序将计算机系统信息组织成数据包格式,通过与控制器中的控制程序进行通信,将计算机系统信息存储于存储器。
步骤208~步骤210:恢复程序通过与控制器中的控制程序进行通信,读取存储器中存储的数据包格式的计算机系统信息,然后拆分该数据包,判断用户选择的恢复策略,如果用户选择自动恢复,执行步骤211;如果用户选择手动恢复,执行步骤212。
步骤211:恢复程序将计算机系统信息恢复至计算机磁盘的原始位置。
步骤212:恢复程序根据用户的指定条件将计算机系统信息恢复至计算机磁盘的原始位置。
步骤201~步骤207为计算机系统信息备份过程,步骤208~步骤212为计算机系统信息恢复过程。由上述计算机系统信息备份过程的描述可见,本发明除了像现有技术一样备份主引导扇区中的主引导记录(MBR,MasterBoot Record),还备份分区信息和文件系统超级块信息,因此,在恢复计算机系统信息时,不仅可以恢复磁盘的MBR,还可以恢复分区信息和文件系统超级块信息。另外,本发明不仅可以备份最近一次的计算机系统信息,还可以备份最近几次有修改的计算机系统信息,次数可由用户设置,例如,用户设置为3次,则备份程序备份最近3次有修改的计算机系统信息,并将这些信息通过控制器存储于存储器;相应地,恢复计算机系统信息时,可由用户指定需要恢复哪一次备份的计算机系统信息,例如用户选择恢复第二次备份的计算机系统信息。用户也可指定需要恢复哪一个磁盘上的信息,恢复程序只将对应于该磁盘的计算机系统信息恢复至该磁盘的原始位置。
下面以Linux操作系统为例,对计算机系统信息备份过程、计算机系统信息存储和读取过程、计算机系统信息恢复过程进行进一步的详细描述。
智能管理卡通过32位PCI接口与计算机相连。在计算机中安装对应于Linux操作系统的备份程序,可将备份程序设置为手动启动,在用户认为需要备份计算机系统信息时,启动备份程序。出于对计算机系统信息备份有效性和安全性的考虑,也可将备份程序设置为自动启动,此时,操作系统启动后,备份程序就会自动启动,每隔一段时间对获取的计算机系统信息进行分析,当计算机系统信息与上一次相比有变化时,则与智能管理卡控制器中的控制程序间进行通信,将计算机系统信息存储于智能管理卡中的存储器。备份程序可将多次有变化的计算机信息存储于智能管理卡中的存储器,例如,备份程序备份最近3次有修改的计算机系统信息,每次备份的计算机系统信息携带有自身的时间标识,如果计算机系统信息当前有变化,则备份程序会用当前备份的计算机系统信息替换掉存储时间最长的计算机系统信息。
在备份计算机系统信息的过程中,首先需要确定计算机包含的磁盘数量,因此备份程序通过读取Linux操作系统中的PROC文件系统,确定计算机系统中包含的独立磁盘数量及每个磁盘的相关信息,包括独立磁盘、廉价磁盘阵列做成的虚拟磁盘(RAID host)等,以及每个磁盘的厂家型号,容量大小,磁盘类型,如IDE硬盘、SCSI硬盘等,磁盘型号或host编号,以及每个磁盘对应于操作系统的逻辑设备名称;然后对每个磁盘的存储信息结构进行分析。Proc文件是Linux操作系统中的一种文件系统,并不存储于磁盘上,而是虚拟在内存中。
其次,需要确定每个磁盘的分区数量及分区信息,下面先介绍一下磁盘的分区表结构。
图3为主引导扇区结构示意图,如图3所示,主引导扇区由主引导记录、磁盘分区表(DPT)和幻数三部分组成。磁盘的起始512个字节(Byte)称为主引导记录,主引导记录中存储有系统引导代码;磁盘分区表中存储有磁盘的分区信息,通过对磁盘分区表进行分析,就能够确定磁盘中包含的分区数量、分区类型等信息;幻数是用于标识主引导记录是否有效的标志,当幻数为0x55AA时,表示主引导记录有效。
每个磁盘的磁盘分区表有4项,因此每个磁盘最多只能有4个主分区。如果需要在一个磁盘上建立多于4个分区,则先建立一个扩展分区。一个扩展分区也是最多只能有4个分区,因此,当需要划分多个分区时,就需要在主扩展分区上再划分次扩展分区,然后再在次扩展分区上划分逻辑分区,如此循环递归建立并划分分区。
图4为磁盘分区表表项结构示意图,如图4所示,每个磁盘分区表表项中包括分区的起始位置和终止位置、分区类型等信息。分区类型用于标识分区的类型,例如,主分区、主扩展分区、从扩展分区等等,分区类型位于分区表表项的第5个字节。
备份程序通过对主引导扇区进行分析,就能够确定磁盘中包含的分区数量以及每个分区的相关信息。
图5为确定分区信息流程图,如图5所示,确定一个磁盘上的分区信息包括以下步骤:
步骤501~步骤502:备份程序读取主引导扇区分区表,然后读取分区表表项的分区类型。
步骤503:备份程序判断读取到的分区类型是否为扩展分区,如果是,执行步骤504;否则,执行步骤507。
步骤504~步骤506:备份程序首先根据当前分区表表项中的分区起始位置和分区终止位置查找到下一个扩展分区,其次读取扩展分区引导扇区的分区表,并读取扩展分区引导扇区的分区表表项中的分区类型,返回执行步骤503。
步骤503~步骤506以递归方式遍历了一个磁盘中包含的所有扩展分区。
步骤507:备份程序记录分区数量和该分区的起始位置。
步骤508:备份程序判断当前分区是否为磁盘上的最后一个分区,如果是,则证明已经以递归方式遍历了一个磁盘中包含的所有分区,并记录了分区数量和每个分区的起始位置;否则,执行步骤509。
步骤509:备份程序读取剩余分区表表项中的分区类型,然后执行步骤503。
由以上确定分区信息的过程可见,本发明中可备份分区表的链式结构,即备份主分区表下的主扩展分区、主扩展分区下的次扩展分区、次扩展分区下的逻辑分区等信息,即完整地备份了计算机中各文件的路径。
再次,需要确定每个分区中包含的文件系统信息,文件系统信息主要是文件系统超级块信息。文件系统超级块信息描述了存储在一个分区上的文件系统的主要特性,包括文件系统类型、文件大小、文件系统中每个数据块的大小、起始位置等重要信息。如果文件系统超级块信息被损坏,即使磁盘的分区没有被损坏,也会大大增加恢复计算机系统信息的工作量。只要文件系统超级块信息完好无损,就能够通过文件系统超级块信息推断出文件系统其他部分的位置和内容,因此,本发明中对文件系统超级块信息也进行备份。
对于不同的文件系统,文件系统超级块信息的具体数据结构和组织方式均有所不同,但是文件系统超级块信息的大小为1024字节,起始位置位于一个分区的第1024字节处,因此,只需读取每个分区起始的2048字节,就可获取一个分区及存储于该分区的文件系统超级块信息。
由于一台计算机中可能包含多个磁盘,因此,为了将分区信息和文件系统超级块信息与磁盘联系起来,还需要获取文件系统超级块信息对应的逻辑磁盘设备名称和磁盘标识(GUID)信息。磁盘GUID用于标识磁盘,由于磁盘GUID是全球约定的,不同厂家分配不同的数段,因此通过磁盘GUID就能够区分不同的磁盘。
备份程序可周期性地获取读取计算机系统信息,并将这些计算机系统信息存储于智能管理卡。在实际应用中,可根据实际情况设置存储周期和存储最近计算机系统信息的次数,例如,设置存储周期为10分钟,存储最近计算机系统信息的次数为3次,每隔10分钟备份程序备份一次计算机系统信息,只有在当前计算机系统信息与存储于智能管理卡存储器的最近一次计算机系统信息有变化时,备份程序才会将当前计算机系统信息存储于智能管理卡的存储器中,智能管理卡的存储器中存储着最近3次有变化的计算机系统信息。
在存储计算机系统信息的过程中,首先需要将计算机系统信息组织成有规律的数据包格式。
图6为磁盘系统信息数据包结构示意图,如图6所示,每个磁盘系统信息数据包包括4字节长度的数据包长度、4字节长度的数据包时间戳、8字节长度的磁盘GUID、16字节长度的磁盘逻辑设备名称、512字节长度的主引导扇区信息、N个512字节长度的扩展分区引导扇区信息和M个1028字节长度的各分区文件系统超级块信息,其中,N是一个磁盘中包含扩展分区的数量,M是一个磁盘中包含文件系统的数量。由于每个文件系统超级块信息的起始4个字节用来标识该文件系统超级块在磁盘中的位置,即文件系统超级块在磁盘中的起始扇区号,因此,每个文件系统超级块信息的存储空间为1024字节再加上4个字节。
备份程序获取包括磁盘数量、每个磁盘中包括的分区数量以及分区信息和文件系统超级块信息的计算机系统信息后,需要同智能管理卡控制器中的控制程序进行通信,将计算机系统信息存储于智能管理卡的存储器中。
本发明中提出的智能管理卡可采用任何一种普通接口卡同操作系统之间进行通信的方式,例如,采用系统管理接口芯片(SMIC,SystemManagement Interface Chip)与操作系统进行通信。SMIC实际上并不是芯片,而是一种接口规范,由指令寄存器、状态寄存器和数据寄存器构成一个接口,用于传输数据,例如,设置指令寄存器的地址为0x3a9、状态寄存器的地址为0x3aa和数据寄存器的地址为0x3ab。备份程序将计算机系统信息存储于智能管理卡的存储器中时,是将计算机系统信息一个字节一个字节地发送到智能管理卡上。每发送一个字节的操作过程如下:备份程序向指令寄存器发送存储数据的命令,然后读取状态寄存器的数值,直至智能管理卡将状态寄存器的数值置为已准备好的标识时,备份程序向数据寄存器发送一个字节的数据;读取状态寄存器的数值,直至智能管理卡将状态寄存器的数值置为已接收的标识时,备份程序开始进行发送下一个字节的操作过程,如此循环,直至发送完计算机系统信息的所有字节。
经过以上过程,智能管理卡中已经存储了能够恢复计算机系统的完整计算机系统信息,在计算机系统信息被损坏时,就可通过恢复程序与智能管理卡控制器中控制程序间的通信,将智能管理卡中存储的计算机系统信息恢复至计算机了。
计算机系统信息被损坏后,使用安装有DOS引导程序的介质引导DOS后,运行恢复程序。在恢复程序恢复计算机系统信息时,首先需要读取智能管理卡中存储的计算机系统信息。恢复程序从智能管理卡中一个字节一个字节地读取计算机系统信息。每读取一个字节的操作过程如下:恢复程序向指令寄存器发送读取数据的命令,然后读取状态寄存器的数值,直至智能管理卡将状态寄存器的数值置为已准备好的标识时,恢复程序从数据寄存器中读取一个字节的数据,然后将状态寄存器的数值置为已接收,恢复程序开始进行读取下一个字节的操作过程,如此循环,直至读取完计算机系统信息的所有字节,然后将读取到的计算机系统信息存储于内存、软盘或USB盘中。
由于每个磁盘系统信息都依次存储于智能管理卡,因此恢复程序读取到的磁盘系统信息仍然是顺序的,只要读取到数据包表示该数据包长度的起始4个字节,就能够按照指明的数据包长度拆分出每一个数据包。
恢复程序可要求用户选择恢复策略,即手动恢复还是自动恢复,如果用户选择自动恢复,则恢复程序自动将最近一次的计算机系统信息提取出来,然后判断计算机系统信息中是否有与当前磁盘GUID相一致的磁盘GUID,如果是,则自动将磁盘系统信息恢复至相应磁盘;否则,即没有符合计算机系统信息中磁盘GUID的磁盘,则认为该磁盘已不存在,对计算机系统信息不予恢复。如果用户选择手动恢复,恢复程序可要求用户选择需要恢复的是哪一次存储的计算机系统信息,恢复程序可根据数据包时间戳查找到用户指定恢复的计算机系统信息;恢复程序还可要求用户选择需要恢复的是哪一个磁盘的磁盘系统信息,然后恢复程序判断用户指定的磁盘GUID是否与计算机系统信息中磁盘GUID相一致,如果是,则将磁盘系统信息恢复至该磁盘的相应位置,否则,认为该磁盘已不存在,对计算机系统信息不予恢复。
在恢复计算机系统信息时,应首先将主引导记录恢复至磁盘的起始512字节处,然后按照主引导扇区中磁盘分区表指定的计算机原始位置,依次恢复其他引导扇区,最后将各文件系统超级块信息按照各自的起始4个字节恢复至指定的计算机原始扇区位置。
本发明同样适用于一台计算机中包含多个操作系统的情况,由于备份程序与操作系统相对应,因此,只要在一个操作系统下运行备份程序,就可备份计算机系统信息;在恢复计算机系统信息时,能够将计算机系统信息恢复至相应的计算机原始位置。
本发明适用于各种各样的磁盘,例如IDE硬盘、SCSI硬盘、RAID host等;适用于各种各样的操作系统,例如Windows95、Windows98、Windows2000、Windows2003、Windows XP、Linux、DOS、UNIX等;适用于各种各样的文件系统,例如Windows的16位文件系统Fat、Windows的32位文件系统Fat32、Linux的文件系统Ext2和Ext3等。
以上所述的独立于计算机的用于存储和恢复计算机系统信息的装置较佳地制成为类似普通网络接口卡之类的PCI卡,当然也可制成通过USB接口与计算机相连的一个USB外设。总之,只要能完成本发明的发明目的,该装置可以具有不同的形状,并且可以通过不同的接口方式和计算机连接。
总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (14)

1、一种用于存储和恢复计算机系统信息的方法,其特征在于该方法包括以下步骤:
A、预先获取当前计算机系统信息,并通过与独立于计算机的控制器中的控制程序进行通信,将所述计算机系统信息存储于独立于计算机的存储器;
B、在需要恢复计算机系统信息时,通过与所述控制器中的控制程序进行通信,从所述存储器中读取预先存储的计算机系统信息,并将所述计算机系统信息恢复至计算机的原始位置。
2、根据权利要求1所述的方法,其特征在于,步骤A中所述获取当前计算机系统信息包括以下步骤:
A1、确定计算机中包含的磁盘数量并获取与磁盘相对应的信息;
A2、获取每个磁盘的分区信息;
A3、获取每个分区的文件系统超级块信息。
3、根据权利要求2所述的方法,其特征在于,所述步骤A2包括以下步骤:
A21、读取主引导记录中的系统引导代码,然后读取分区表表项中的分区类型;
A22、判断当前读取的分区类型是否为扩展分区,如果是,执行步骤A23,否则,执行步骤A24;
A23、根据当前分区表表项中的分区起始位置和分区终止位置查找到下一个分区,读取分区表表项中的分区类型,然后返回执行步骤A22;
A24、记录分区个数和当前分区的起始位置,然后判断当前分区是否为所在磁盘上的最后一个分区,如果不是,执行步骤A25,如果是,结束对一个磁盘分区信息的获取;
A25、读取分区表剩余表项中的分区类型,然后返回执行步骤A22。
4、根据权利要求1所述的方法,其特征在于,步骤A中所述获取当前计算机系统信息是在不同时间点分别获取对应该时间点的计算机系统信息;
步骤A中将计算机系统信息存储于独立于计算机的存储器是分别将对应于不同时间点的计算机系统信息存储于所述存储器。
5、根据权利要求4所述的方法,其特征在于,在每一个时间点获取当前计算机系统信息时进一步包括:判断当前计算机系统信息是否与已经存储的对应于该时间点之前最近一次的计算机系统信息相同,如果是,不对所述当前计算机系统信息进行存储;否则,将所述当前计算机系统信息通过所述控制器存储于所述存储器。
6、根据权利要求4所述的方法,其特征在于,所述步骤A进一步包括:预先设置所述获取当前计算机系统信息的不同时间点,并在到达每一个预先设置的时间点时获取当前计算机系统信息。
7、根据权利要求1所述的方法,其特征在于,所述计算机系统信息以数据包格式存储于所述存储器。
8、根据权利要求1所述的方法,其特征在于,预先设置自动恢复和手动恢复的恢复策略,步骤B中将计算机系统信息恢复至计算机的原始位置的步骤包括:
B1、指示用户选择恢复策略,如果选择结果是自动恢复,则执行步骤B2,如果选择结果是手动恢复,执行步骤B3;
B2、根据所述存储器中存储的计算机系统信息,将最近一次的计算机系统信息恢复至计算机的原始位置,结束计算机系统信息的恢复;
B3、根据所述存储器中存储的计算机系统信息,和用户的指定条件将计算机系统信息恢复至计算机的原始位置。
9、根据权利要求8所述的方法,其特征在于,在选择结果是自动恢复时,进一步包括:判断当前计算机中包含的磁盘标识是否与所述存储器中存储的磁盘标识相一致,如果是,则执行步骤B2;否则,不对计算机系统信息进行恢复;
在选择结果是手动恢复时,进一步包括:判断当前计算机中包含的磁盘标识是否与所述存储器中存储的磁盘标识相一致,如果是,则执行步骤B3;否则,不对计算机系统信息进行恢复。
10、根据权利要求1所述的方法,其特征在于,用于恢复计算机系统信息的恢复程序存储于可引导磁盘操作系统的介质中,所述恢复程序独立于操作系统。
11、一种用于存储和恢复计算机系统信息的装置,其特征在于,所述装置至少包括:独立于计算机且用于存储计算机系统信息的存储器;独立于计算机的控制器,该控制器通过自身存储的控制程序与计算机进行数据传输;用于将所述装置与计算机相连的接口;存储器与控制器之间、控制器与接口之间通过数据线相连;
并且,计算机通过与所述控制器中的控制程序进行通信,将计算机系统信息存储于所述存储器;计算机通过与所述控制器中的控制程序进行通信,从所述存储器中读取预先存储的计算机系统信息,并将计算机系统信息恢复至计算机的原始位置。
12、根据权利要求11所述的装置,其特征在于,所述存储器是非易失性存储器。
13、根据权利要求11所述的装置,其特征在于,所述控制器是单片机。
14、根据权利要求11所述的装置,其特征在于,所述接口是外设部件互连接口,或工业标准结构接口,或少针脚型接口,或通用串行总线接口。
CNB031573088A 2003-09-17 2003-09-17 一种用于存储和恢复计算机系统信息的方法和装置 Expired - Fee Related CN1297910C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB031573088A CN1297910C (zh) 2003-09-17 2003-09-17 一种用于存储和恢复计算机系统信息的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB031573088A CN1297910C (zh) 2003-09-17 2003-09-17 一种用于存储和恢复计算机系统信息的方法和装置

Publications (2)

Publication Number Publication Date
CN1598793A CN1598793A (zh) 2005-03-23
CN1297910C true CN1297910C (zh) 2007-01-31

Family

ID=34660253

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031573088A Expired - Fee Related CN1297910C (zh) 2003-09-17 2003-09-17 一种用于存储和恢复计算机系统信息的方法和装置

Country Status (1)

Country Link
CN (1) CN1297910C (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101593083B (zh) * 2008-05-26 2011-12-07 联想(北京)有限公司 对计算机配置信息进行保护和恢复的装置、计算机和方法
CN107016104A (zh) * 2017-04-12 2017-08-04 广东浪潮大数据研究有限公司 一种在Linux系统中自动识别所有逻辑硬盘设备名称的方法及系统
CN109542519A (zh) * 2018-10-10 2019-03-29 北京凝思软件股份有限公司 一种自动分布式系统重建方法
CN115437852B (zh) * 2022-11-07 2023-02-03 四川大学 一种基于灾备恢复和文件分区表的快速区块链系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001166959A (ja) * 1999-10-28 2001-06-22 Agfa Corp コンピュータのオペレーティング・システムの障害回復システムおよびその方法
US6336161B1 (en) * 1995-12-15 2002-01-01 Texas Instruments Incorporated Computer configuration system and method with state and restoration from non-volatile semiconductor memory
US6584583B2 (en) * 1997-12-31 2003-06-24 Samsung Electronics Co., Ltd. Method and apparatus for restoring data damaged by a computer virus on a magnetic information recording disk in a hard disk drive

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6336161B1 (en) * 1995-12-15 2002-01-01 Texas Instruments Incorporated Computer configuration system and method with state and restoration from non-volatile semiconductor memory
US6584583B2 (en) * 1997-12-31 2003-06-24 Samsung Electronics Co., Ltd. Method and apparatus for restoring data damaged by a computer virus on a magnetic information recording disk in a hard disk drive
JP2001166959A (ja) * 1999-10-28 2001-06-22 Agfa Corp コンピュータのオペレーティング・システムの障害回復システムおよびその方法

Also Published As

Publication number Publication date
CN1598793A (zh) 2005-03-23

Similar Documents

Publication Publication Date Title
US5930828A (en) Real-time apparatus and method for minimizing disk fragmentation in a computer system
JP5162535B2 (ja) メモリシステムを利用する方法及びメモリシステム
US20220108724A1 (en) Hard Disk Fault Handling Method, Array Controller, and Hard Disk
CN102640118B (zh) 用于高效文件存储的具有多个索引的去重复存储系统
US7587427B2 (en) Hierarchical storage system, and control method and program therefor
US7886120B1 (en) System and method for efficient backup using hashes
US6185575B1 (en) In-place disk partition canonization and storage optimization
US7526675B2 (en) Software recovery method for flash media with defective formatting
US8667029B2 (en) Optimized startup verification of file system integrity
US7146455B2 (en) System and method for optimized access to memory devices requiring block writing
EP1739535A2 (en) File system storing transaction records in flash-like media
EP1744246A2 (en) File system having deferred verification of data integrity
CN111258666A (zh) 计算机文件的读取方法、装置、计算机系统及存储介质
US20100185589A1 (en) Disaster recovery data sync
US8166488B2 (en) Methods of directly accessing a mass storage data device
EP1103894A2 (en) Fragmented data recovery method
CN1297910C (zh) 一种用于存储和恢复计算机系统信息的方法和装置
US20060026415A1 (en) Method of updating a portion BIOS
US20030037279A1 (en) HDD data backup and recovery method
KR20100011137A (ko) 고속 파일 복구가 가능한 fat 파일시스템을 사용한데이터 처리장치 및 데이터 처리방법
CN116627519A (zh) 一种嵌入式设备的多系统启动方法
CN1303530C (zh) 存储管理设备和存储管理方法
CN112835967B (zh) 基于分布式存储系统的数据处理方法、装置、设备和介质
US7024493B1 (en) Bootable CD for transferring files independently of computer operating systems
CN112835746A (zh) 一种基于静态链表的高安全性文件存储方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070131

Termination date: 20091019