首页> 中国专利> 基于块级恢复与修改注册表并注入驱动的系统恢复方法

基于块级恢复与修改注册表并注入驱动的系统恢复方法

摘要

本发明涉及一种基于块级恢复与修改注册表并注入驱动的windows系统恢复方法,包括以下步骤:A.从备份端获取数据块,并写入磁盘;B.判断是否是在异机进行的系统恢复,若是,则执行步骤C,若否,则恢复完成,退出;C.修改注册表并注入驱动文件,完成操作系统的还原。与现有技术相比,本发明采用块级别、修改注册表并注入驱动的方式进行系统恢复,提高了系统还原的速度,加快还原的时间,减小了由于上层业务中断所造成用户数据永久丢失的风险,而且不受硬件的约束。

著录项

  • 公开/公告号CN104572347A

    专利类型发明专利

  • 公开/公告日2015-04-29

    原文格式PDF

  • 申请/专利权人 上海爱数软件有限公司;

    申请/专利号CN201410723241.9

  • 发明设计人 陈其然;

    申请日2014-12-02

  • 分类号G06F11/14;

  • 代理机构上海科盛知识产权代理有限公司;

  • 代理人赵继明

  • 地址 201112 上海市闵行区联航路1188号8幢第2层A-1单元

  • 入库时间 2023-12-18 08:25:28

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-01-30

    授权

    授权

  • 2016-02-17

    著录事项变更 IPC(主分类):G06F11/14 变更前: 变更后: 申请日:20141202

    著录事项变更

  • 2015-05-27

    实质审查的生效 IPC(主分类):G06F11/14 申请日:20141202

    实质审查的生效

  • 2015-04-29

    公开

    公开

说明书

技术领域

本发明涉及属于计算机信息存储技术领域,尤其是涉及一种基于块级恢复与 修改注册表并注入驱动的Windows系统恢复方法。

背景技术

随着科学技术的飞速发展,如今已进入到信息时代,信息可以说是当下最具有 价值的“商品”,而在计算机领域中,数据是信息的载体,所以对数据的保护就是 重中之重。而如何正确有效地将数据保护起来,则是当今较为流行的研究课题。备 份,即是实现数据保护的途径之一。

备份,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部 分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。如中国专利 CN103365745A公开一种基于内容地址存储的块级备份方法,该方法包括两个阶 段:第一阶段,采用全量状态位图技术对磁盘数据进行分块和初始化备份。第二阶 段,采用增量状态位图技术对磁盘数据进行分块和增量备份。其中,全量状态位图 是特指从数据卷获取的第一个份位图,反映的是数据卷中数据块的被使用情况,具 体记录的是源卷数据块使用状态的0和1序列,一个数据块对应位图的一位,0表 示该数据块尚未被使用,1表示相反的情形。增量状态位图反映的是自上次位图以 来数据卷中数据块的更新状态,根据数据的时空分布特性,增量状态位图中的1 序列通常比全量状态位图中的1序列少得多,而且也更集中。该方法具体的步骤为:

1、源卷分段:根据预定义的数据段大小阀值和源卷全量状态位图,以数据块 为单位,源卷全量状态位图中的连续1序列为依据,对源卷数据区进行分段,每个 单一段称为一个数据段;

2、初始化传输(备份):将源卷的所有数据段通过网络传输到存储介质;

3、获取增量状态位图:实时获取源卷数据更新状态,计算数据块更新区间, 然后生成源卷增量状态位图,最后进行增量数据块备份;

4、增量传输(备份):将源卷的增量数据段通过网络传输到存储介质。

在上述备份方法的基础上,如何快速、有效地使操作系统及上层应用还原后可 正常运行是本发明要解决的问题。

发明内容

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种提高系统还 原效率、避免系统数据的永久性丢失的基于块级恢复与修改注册表并注入驱动的系 统恢复方法。

本发明的目的可以通过以下技术方案来实现:

一种基于块级恢复与修改注册表并注入驱动的系统恢复方法,包括以下步骤:

A、从备份端获取数据块,并写入磁盘:

B、判断是否是在异机进行的系统恢复,若是,则执行步骤C,若否,则恢复 完成,退出;

C、修改注册表并注入驱动文件,完成操作系统的还原。

所述步骤A具体为:

A1)恢复服务器挂载Windows PE,向介质服务器发送恢复请求;

A2)介质服务器遍历备份数据,并逐一发送给恢复服务器;

A3)恢复服务器判断接收到的备份数据是否为数据块对象,若是,则执行步 骤A5),若否,则执行步骤A4);

A4)根据收到的数据对象,读取出原系统卷的信息并在硬盘中创建新系统卷, 返回步骤A2);

A5)恢复服务器将接收到的数据块一一写入硬盘,返回步骤A2),直至备份 数据遍历并恢复完成。

所述步骤A5)中,恢复服务器将接收到的数据块一一写入硬盘具体为:

501)获取所述新系统卷的句柄;

502)将写指针定位到数据块对象即将写入的偏移位置;

503)以备份时的块分隔大小为写入长度,在所述偏移位置写入数据块;

504)反复执行步骤502)-503),直至所有数据块写完为止;

所述偏移位置从新系统卷的起始偏移开始,每写一个数据块递增块分隔大小的 偏移量。

所述步骤C具体为:

C1)将恢复服务器的注册表挂载至Windows PE的注册表下;

C2)获取恢复服务器硬盘的id,根据该id获取所述硬盘对应的驱动信息,所 述驱动信息包括驱动名称及驱动位置路径;

C3)根据驱动信息及Windows PE注册表修改恢复服务器的注册表,修改内容 包括创建以硬盘设备pci号为名的子项及其各子键、创建以硬盘驱动名称为名的子 项及其各子键和设置恢复服务器中存储驱动文件的目录路径;

C4)将Windows PE中的恢复服务器所对应的驱动文件复制到所述目录路径 下;

C5)卸载恢复服务器的注册表。

所述步骤C1),Windows PE集成有多种RAID卡驱动和硬盘驱动。

与现有技术相比,本发明具有以下优点:

1)传统的文件级别的系统备份恢复受上层因素影响极大,尤其是在上层文件 数量达到百万甚至千万级时,传统备份恢复方法的性能严重下降,大大延长了灾难 恢复时间RTO。本发明采用块级别的系统恢复,在性能上有更好的表现,无需考 虑上层操作系统、文件系统、文件数量所带来的影响,提高了系统还原的速度,加 快还原的时间,减小了由于上层业务中断所造成用户数据永久丢失的风险。

2)本发明采用修改注册表并注入驱动的方式进行系统恢复,实现了windows 操作系统在各大厂商品牌服务器上的迁移,而不受硬件的约束,可以避免系统与上 层应用数据的永久丢失,使得上层应用依然可以正常执行。尤其针对如AD数据库 等对系统依赖严重的应用,不能简单的对应用进行迁移,因为这样可能会造成迁移 的目标系统不可用,启动蓝屏等现象。

附图说明

图1为本发明块级恢复的流程示意图;

图2为本发明修改注册表及注入驱动的流程示意图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方 案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范 围不限于下述的实施例。

原恢复系统由恢复服务器(内含客户端)和控制台(内含介质服务器)组成, 两者之间通过以太网连接,采用的传输协议是TCP/IP。TCP/IP协议4层模型。

本发明实施例提供一种基于块级恢复与修改注册表并注入驱动的Windows系 统恢复方法,包括以下步骤:

A、从备份端获取数据块,并写入磁盘,具体如图1所示:

步骤s101,恢复服务器挂载Windows PE(以WindowsPE作为系统恢复的中 间介质),向介质服务器发送恢复请求;

步骤s102,介质服务器遍历备份数据;

步骤s103,介质服务器判断是否遍历完成,若是,则结束,若否,则执行步 骤s104;

步骤s104,恢复服务器接收备份数据;

步骤s105,判断接收到的备份数据是否为数据块对象,若是,则执行步骤s107, 若否,则执行步骤s106;

步骤s106,根据收到的数据对象,读取出原系统卷的信息并在硬盘中创建新 系统卷,返回步骤s102;

步骤s107,获取所述新系统卷的句柄;

步骤s108,将写指针定位到数据块对象即将写入的偏移位置,所述偏移位置 从新系统卷的起始偏移开始,每写一个数据块递增块分隔大小的偏移量;

步骤s109,以备份时的块分隔大小为写入长度,在所述偏移位置写入数据块,, 返回步骤s102。

B、判断是否是在异机进行的系统恢复,若是,则执行步骤C,若否,则恢复 完成,退出。

如果是在原机(原系统所在服务器)进行的系统恢复,那么此时重启机器,还 原的系统即可正常启动了。

C、修改注册表并注入驱动文件,完成操作系统的还原。

如果是在异机(非原系统所在服务器)进行的系统恢复,重启机器,还原的系 统启动会出现蓝屏现象,错误编号为0x0000007B。根据该错误编号,可以断定是 由于在不同硬件间进行了系统的迁移后,出现这个现象的原因是新主板和旧主板的 IDE控制器(或者SATA控制器、RAID卡控制器)使用了不同芯片组,系统中没 有恢复机硬盘的控制线驱动,导致识别不到恢复机的硬盘,从而出现了系统启动蓝 屏现象。本发明采用修改恢复机的注册表并注入相关驱动文件来解决此问题,具体 如图2所示:

步骤s201,恢复服务器的注册表挂载至Windows PE的注册表下,假设取名为 e_SYSTEM。

所述Windows PE集成有多种RAID卡驱动和硬盘驱动,若Windows PE中不 存在驱动,也可先给PE中注入相应驱动,具体方法与本发明所述的″修改注册表 并注入驱动"的步骤相同。

步骤s202,获取恢复服务器硬盘的id,根据该id获取所述硬盘对应的驱动信 息,所述驱动信息包括驱动名称及驱动位置路径(PE启动后,会在注册表项 ″SYSTEM\controlset001\enum\pci″下生成以服务器各硬件id为名的子项,并在其下 生成名为service、值为各硬件驱动名的子键);

通过winAPI的SetupDiGetClassDevs、SetupDiEnumDeviceInfo和 SetupDiGetDeviceRegistryProperty接口获取IDE或SATA设备(具体根据恢复机的 硬盘接口类型而定)的pci号(即硬件id),得到例如″PCI\VEN_8086&DEV_ 1C00&SUBSYS_307C17AA&REV_05″的pci信息。根据该pci,获取PE注册表中 项″SYSTEM\controlset001\enum\pci\VEN_8086&DEV_1C00&SUBSYS_307C17AA &REV_05\3&11583659&0&FA″中子项的名为“Service”的子键之值,例如″pciide″, 该值即为上述pci号对应的驱动文件名,也就是恢复机磁盘控制器驱动的驱动名称。 然后根据该名称在PE注册表中打开项″HKEY_LOCAL_MACHINE\SYSTEM\ ControlSet001\services\pciide″,导出其下所有子键。其中ImagePath子键的值,例 如″system32\DRIVERS\pciide.sys″,该值即为pciide驱动文件在PE中的位置路径。 此时,获取硬盘驱动信息已完成。

步骤s203,根据驱动信息及Windows PE注册表修改恢复服务器的注册表,包 括control信息、services信息等,具体为:

I.在Controlset001\control\criticalDeviceDataBase\下创建以硬盘设备pci号为名 的子项及其各子键(ClassGUID,Service):

子键ClassGUID值为{4D36E97B-E325-11CE-BFC1-08002BE10318}。(所有的 AdapterGUID都相同)

子键Service值为步骤s202中获取到的驱动名称。

II.在ControlSet001\services\下创建以硬盘驱动名称为名的子项及其各子键 (ErrorControl,Group,ImagePath,Start,Type)

子键ErrorControl,Group,ImagePath,Start,Type值与PE注册表同级表项下同名子 键的值相同,其中子键ImagePath的值需要根据恢复机的系统分区盘符进行相应调 整,使其等于恢复机中存放驱动文件的目录路径。

步骤s204,将Windows PE中的恢复服务器所对应的驱动文件复制到所述目录 路径下;

步骤s205,卸载恢复服务器的注册表e_SYSTEM。

完成数据恢复和蓝屏修复后,重启服务器,还原后的操作系统可以正常启动。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号