基于固件的系统备份和还原方法
技术领域
本发明属于计算机安全技术领域,特别涉及一种通过initrd(Linux初始RAM磁盘)文件,在BIOS层对Linux操作系统关键文件进行备份和还原的方法,具体为一种基于固件的系统备份和还原方法。
背景技术
基本输入输出系统( Basic Input/Output System,简称BIOS) 用于初始化硬件、管理硬件资源、屏蔽平台特性、引导操作系统,是连接计算机基础硬件和系统软件的桥梁。BIOS的特点决定了其运行过程先于操作系统启动,可对文件进行读写,权限极高;Linux初始RAM磁盘(initrd)是在系统引导过程中挂载的一个临时根文件系统,用来支持操作系统的引导过程。Initrd文件中包含了各种可执行程序和驱动程序,它们可以用来挂载实际的根文件系统,然后再将这个 initrd RAM磁盘卸载,并释放内存;对Linux系统而言,系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等,都被视为拥有各自特性或类型的文件;因此,如果某些文件遭到了破损、删除和恶意攻击,那么其相应的功能必然遭到破坏。如果是系统关键文件,影响到了系统的启动,那么很有可能造成系统无法正常引导,系统崩溃。
目前,通用的做法是在Linux系统上,通过dump命令和第三方工具对系统关键文件做备份操作。若发现文件已被被破坏,则再做相应的还原工作。这种做法对系统之上的应用文件能够起到很好的维护作用。但是,对Linux系统自身的关键文件,特别是影响到启动的相关系统文件,如果遭到了破坏,无法进入系统,无法进行操作系统还原。
发明内容
本发明的目的是为了解决在Linux系统之上实现备份还原功能的缺陷,提出一种基于固件的系统备份和还原方法,具有能够对Linux系统关键文件进行备份和恢复、能够与可信度量共同构建可信功能强大系统、备份恢复速度快的特点,解决了现有技术的不足。
为实现上述目的,本发明提供如下技术方案:
一种基于固件的系统备份和还原方法,该方法是基于initrd实现,进行系统备份和还原前,计算机中预先备份好度量文件,并以规范格式存储到系统指定位置,然后在固件下发送备份或者还原命令,进入备份还原系统分支,引导备份还原initrd;
该方法具体包括以下步骤,
步骤一、主机上电后,进入BIOS功能模块;
步骤二、BIOS功能模块对核心软件进行度量;BIOS功能模块通过调用可信度量模块的接口,对操作系统引导器、操作系统内核和操作系统关键文件进行度量,如果度量成功转入步骤六;如果度量失败,转入下一步骤;
步骤三、BIOS功能模块引导进入备份还原initrd,传递执行参数;
步骤四、备份还原initrd解析参数,完成指定的还原操作,将预先备份的度量文件进行还原;
步骤五、还原操作成功后,系统自动复位;进入步骤二;
步骤六、正常引导进入操作系统,完成系统备份和还原。
优选地,所述BIOS功能模块中包括备份还原模块,备份还原模块位于基础功能BIOS和操作系统之间。
优选地,所述备份还原模块的执行流程步骤如下:
(a)引导initrd,挂载到根系统目录;
(b)分析接受到的参数据数,判断采取何种操作,判断备份还原的文件和存储路径;
(c)按照解析后的参数,执行备份或者还原操作;
(d)若为备份操作,则根据路径设置,将指定文件备份在指定路径下;若为恢复操作,则从指定目录下,将文件恢复到指定路径下;
(e)完成之后自动重启,系统备份或还原功能完成。
优选地,所述可信度量模块的执行流程步骤如下:
步骤一、开机上电进入BIOS后,对系统关键文件进行可信度量;
步骤二、对度量的系统文件需要做好备份,放到指定目录中;
步骤三、在度量的过程中,如果发现对系统文件度量错误,那么可以直接调用备份还原initrd,将之前备份的正确文件恢复到系统中;若系统文件无误,则直接正常引导操作系统;
步骤四、再次开机度量时,操作系统可以正常引导。
与现有技术相比,本发明的有益效果如下:本发明提供的一种基于固件的系统备份和还原方法,是基于initrd实现,在固件下发送备份和还原命令,进入备份还原模块,引导备份还原initrd,既可以使备份还原功能实现,又可以避免在BIOS下读写文件速度慢的通病;备份还原模块是BIOS功能模块的一部分,位于基础功能BIOS和操作系统之间;这种备份还原方法的实现,与可信度量模块相结合,备份恢复initrd可以完成更加丰富的功能,构建可信功能完善的系统;可信度量模块可以使度量文件的正确性,使系统关键文件不被破坏;本发明方法具有能够对Linux系统关键文件进行备份和恢复、能够与可信度量共同构建可信功能强大系统、备份恢复速度快的特点,能够解决对Linux系统自身的关键文件,特别是影响到启动的相关系统文件遭到了破坏,无法进入系统,无法进行操作系统还原的问题。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显。
图1是一种基于固件的系统备份和还原方法的系统架构图。
图2是一种基于固件的系统备份和还原方法的备份还原模块执行流程图。
图3是一种基于固件的系统备份和还原方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
一种基于固件的系统备份和还原方法,是基于initrd实现。在固件下发送备份或者还原命令,进入备份还原系统分支,引导备份还原initrd,既可以保障备份还原功能实现,又可以避免在BIOS下读写文件速度慢的通病。其整体架构如图1所示。
备份还原模块:
本发明中,备份还原模块是BIOS功能模块的一部分,位于基础功能BIOS和操作系统之间。如图2所示,备份还原模块的执行流程步骤如下:
(a)引导initrd,挂载到根系统目录;
(b)分析接受到的参数据数,判断采取何种操作,判断备份还原的文件和存储路径;
(c)按照解析后的参数,执行备份或者还原操作;
(d)若为备份操作,则根据路径设置,将指定文件备份在指定路径下;若为恢复操作,则从指定目录下,将文件恢复到指定路径下;
(e)完成之后自动重启,系统备份或还原功能完成。
这种备份还原方法的实现,与可信度量功能相结合,备份恢复initrd可以完成更加丰富的功能,构建可信功能完善的系统。可信度量模块的执行流程步骤如下:
步骤一、开机上电进入BIOS后,对系统关键文件进行可信度量;
步骤二、对度量的系统文件需要做好备份,放到指定目录中;
步骤三、在度量的过程中,如果发现对系统文件度量错误,那么可以直接调用备份还原initrd,将之前备份的正确文件恢复到系统中;若系统文件无误,则直接正常引导操作系统;
步骤四、再次开机度量时,操作系统可以正常引导。
通过以上步骤,可以保证度量文件的正确性,保障系统关键文件不被破坏。
如图3所示,本发明提供的一种基于固件的系统备份和还原方法,该方法是基于initrd实现,进行系统备份和还原前,计算机中预先备份好度量文件,并以规范格式存储到系统指定位置,然后在固件下发送备份或者还原命令,进入备份还原系统分支,引导备份还原initrd;
该方法具体包括以下步骤,
步骤一、主机上电后,进入BIOS功能模块;
步骤二、BIOS功能模块对核心软件进行度量;BIOS功能模块通过调用可信度量模块的接口,对操作系统引导器、操作系统内核和操作系统关键文件进行度量,如果度量成功转入步骤六;如果度量失败,转入下一步骤;
步骤三、BIOS功能模块引导进入备份还原initrd,传递执行参数;
步骤四、备份还原initrd解析参数,完成指定的还原操作,将预先备份的度量文件进行还原;
步骤五、还原操作成功后,系统自动复位;进入步骤二;
步骤六、正常引导进入操作系统,完成系统备份和还原。
该发明中未涉及部分均与现有技术相同或可采用现有技术加以实现。
综上所述:本发明提供的一种基于固件的系统备份和还原方法,是基于initrd实现,在固件下发送备份和还原命令,进入备份还原模块,引导备份还原initrd,既可以使备份还原功能实现,又可以避免在BIOS下读写文件速度慢的通病;备份还原模块是BIOS功能模块的一部分,位于基础功能BIOS和操作系统之间;这种备份还原方法的实现,与可信度量模块相结合,备份恢复initrd可以完成更加丰富的功能,构建可信功能完善的系统;可信度量可以使度量文件的正确性,使系统关键文件不被破坏;本发明方法具有能够对Linux系统关键文件进行备份和恢复、能够与可信度量共同构建可信功能强大系统、备份恢复速度快的特点,能够解决对Linux系统自身的关键文件,特别是影响到启动的相关系统文件遭到了破坏,无法进入系统,无法进行操作系统还原的问题。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点,对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明;因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内,不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。