CN110837437A - 基于通用的计算机操作系统的掉电保护方法 - Google Patents
基于通用的计算机操作系统的掉电保护方法 Download PDFInfo
- Publication number
- CN110837437A CN110837437A CN201810941272.XA CN201810941272A CN110837437A CN 110837437 A CN110837437 A CN 110837437A CN 201810941272 A CN201810941272 A CN 201810941272A CN 110837437 A CN110837437 A CN 110837437A
- Authority
- CN
- China
- Prior art keywords
- kernel
- file
- operating system
- aufs
- computer operating
- 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
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000002054 transplantation Methods 0.000 claims description 3
- 238000009434 installation Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种基于通用的计算机操作系统的掉电保护方法,包括如下步骤:步骤S1:获取与操作系统版本对应的aufs文件;步骤S2:创建一个待下载的文件夹;步骤S3:添加内核对aufs的支持;步骤S4:制作initrd;步骤S5:生成initrd的镜像文件initrd.img。本发明提供的基于通用的计算机操作系统的掉电保护方法,数据保护方式灵活,保护系统文件安全,可实现瞬时欠压、文件系统损坏、意外情况断电等问题下的系统文件保护。
Description
技术领域
本发明涉及计算机数据安全技术领域,具体涉及一种基于通用的计算机操作系统的掉电保护方法。
背景技术
近年来,Linux系统由于出色的性能和稳定性,而广泛受到计算机业界的关注和应用,但在使用的过程中,难免遇到意外断电或文件损坏的情况,会导致数据的丢失,甚至有可能导致系统无法正常启动,为了给用户提供完善的Linux系统,在设计的过程中添加掉电保护功能,这也使掉电保护的作用越来越受到重视。
Linux平台硬盘数据保护与恢复方法(专利号CN 102495812 A)涉及Linux平台硬盘数据保护与恢复方法,该方法采用混合挂载可读写的根文件系统,首先挂载探测到的文件系统至一个临时的目录,再挂载里面的根文件系统镜像文件;准备一个可读写目录,此目录可在内存盘或外存盘中;并使用aufs文件混合挂载成一个可读写系统,最后使用switch_root方式切换到新根系统中并启动操作系统。
该现有技术确保了Linux平台硬盘数据保护与恢复方法,同时也采用了aufs文件系统,但此方法还存在一些不足之处,比如:数据保护不够灵活,保护系统文件不够安全,且存在瞬时欠压、文件系统损坏、意外情况断电等问题。
发明内容
为解决现有技术存在的不足,本发明提供了一种基于通用的计算机操作系统的掉电保护方法,包括如下步骤:
步骤S1:获取与操作系统版本对应的aufs文件;
步骤S2:创建一个待下载的文件夹;
步骤S3:添加内核对aufs的支持;
步骤S4:制作initrd;
步骤S5:生成initrd的镜像文件initrd.img。
其中,所述步骤S3包括:
步骤S31:对内核进行补丁移植;
步骤S32:对内核源码进行编译;
步骤S33:在内核内编译安装aufs工具集。
其中,所述步骤S31包括:
步骤S311:修改内核源码,应用aufs2-kbuild.patch和aufs2-base.patch 两个补丁;
步骤S312:拷贝一个头文件到内核源码中,然后设置CONFIG_AUFS_FS=m选项;
步骤S313:设置启用内核选项参数,并重新编译内核生成核心文件。
其中,所述步骤S32包括:
步骤S321:执行命令rpmbuild -ba kernel.spec --without debuginfo --withoutdebug --without kabichk --with doc --with firmware对内核源码进行编译;
步骤S322:安装新内核及内核头文件,确保文件/usr/include/linux/aufs_type.h 存在;
步骤S323:重启系统。
其中,所述步骤S4中,initrd在添加好对aufs的支持的内核里制作。
其中,所述步骤S5中,通过修改99mount.sh文件生成镜像文件。
其中,在执行步骤S1-步骤S5之前,挂载预保护路径。
其中,通过修改**sh文件挂载预保护路径。
本发明提供的基于通用的计算机操作系统的掉电保护方法,数据保护方式灵活,保护系统文件安全,可实现瞬时欠压、文件系统损坏、意外情况断电等问题下的系统文件保护。
附图说明
图1:本发明的基于通用的计算机操作系统的掉电保护方法实现流程图;
图2:本发明的基于通用的计算机操作系统的掉电保护方法实现过程中对应的计算机程序总体架构图。
具体实施方式
为了对本发明的技术方案及有益效果有更进一步的了解,下面结合附图详细说明本发明的技术方案及其产生的有益效果。
文件内容在写入之后如果出现突然断电、瞬时欠压或系统文件损坏,文件系统就会处于不一致的情况,容易造成系统文件无法读出,导致系统无法正常启动。本发明提供的掉电保护方法,主要目的在于在瞬时欠压、系统文件损坏或意外断电的情况下保护系统文件。本发明采用联合挂载的方式,将保护系统文件存放在系统空闲时执行,以解决此问题,进而起到更安全的保护系统文件的作用。
图1为本发明的基于通用的计算机操作系统的掉电保护方法实现流程图,图2为本发明的基于通用的计算机操作系统的掉电保护方法实现过程中对应的计算机程序总体架构图,以如下硬件环境为例,结合图1-图2所示,详述本发明的实现过程。
硬件环境:
CPU:Intel(R) Core(TM) i5-2500
内存:8GB
软件环境:
计算机系统:Centos6.6
内核版本:Linux 2.6.32-504.el6.x86_64
一、aufs工作准备
首先选择相应的aufs版本,在需要的计算机系统里,创建一个待下载的文件夹,如:#mkdir aufs,将选择的aufs放到待下载的目录里,如;最后下载aufs2 standalone和aufs2utilities,进入相应的目录,分别做一个新的分支。
二、添加内核对aufs的支持
1、补丁移植:首先手动修改内核源码,应用aufs2-kbuild.patch和aufs2-base.patch两个补丁;其次拷贝一个头文件到内核源码中,然后设置CONFIG_AUFS_FS=m选项;最后设置启用内核选项参数,并重新编译内核生成核心文件。
2、编译内核:对内核源码进行编译,执行命令如下:rpmbuild -ba kernel.spec--without debuginfo --without debug --without kabichk --with doc --withfirmware;安装新内核及内核头文件,确保文件/usr/include/linux/aufs_type.h 存在,最后重启系统。
3、编译安装aufs工具集:进入下载好的aufs-utils目录,这里是要做完分支的。执行#make与#make install 编译并安装aufs工具集。
三、制作initrd
制作initrd分两种情况,systemV和systemD,前一种是较老的系统启动方式,后面是最新的内核启动方式,由于目前采用2.6.32,则采用systemV形式。在编译好的内核里执行:#dracut --hostonly intird.img,就生成了自己系统的ramdisk启动initrd.img文件,该镜像文件具有aufs的功能特征。
initrd在对系统文件进行掉电保护时也起到一个很重要的作用,本发明中,通过initrd技术将系统根文件建在ramdisk中,能够降低系统故障,本发明因此提出了以联合挂载的方法,实践证明,该方法能够起到掉电保护文件的作用,进而提高了系统的稳定性,在实际应用中也取得了较好的效果。
四、生成镜像文件
通过修改文件,最后生成**.img镜像文件。在不同的系统下,用户可以根据要保护的文件自由选择,根据相同的方式制作**.img文件,放入某路径下即可。
本发明中,所谓的“aufs”,全称为Advance Union File System,简单的说就是一个文件系统,可以把不同的目录联合在一起。
因此,本发明中,所谓的“联合挂载”,指的是通过对99mount.sh文件进行修改,添加具有aufs功能,通过此功能的实现将不同的文件的目录联合在一起,将联合的结果挂载到预定路径下,从而实现对此路径下的文件进行读写。
本发明的有益效果如下:
1、保护方式较灵活,通过本发明提供的掉电保护方法,用户可在不同情况下可以根据要保护的文件自由选择,因此可支持不同路径下的文件保护,也可支持同情况下不同操作的文件保护,针对不同路径的文件,均可降低故障点的发生,提高系统的稳定性。
2、本发明提供的掉电保护方法,还可对具有掉电保护系统的运行文件(99mount.sh)修改进行记录,并指定mount-o挂载目录,在必要的时候进行数据保护,从而起到掉电保护的作用。
3、通过将aufs文件放入系统内容中,可提高系统的性能。
虽然本发明已利用上述较佳实施例进行说明,然其并非用以限定本发明的保护范围,任何本领域技术人员在不脱离本发明的精神和范围之内,相对上述实施例进行各种变动与修改仍属本发明所保护的范围,因此本发明的保护范围以权利要求书所界定的为准。
Claims (8)
1.一种基于通用的计算机操作系统的掉电保护方法,其特征在于,包括如下步骤:
步骤S1:获取与操作系统版本对应的aufs文件;
步骤S2:创建一个待下载的文件夹;
步骤S3:添加内核对aufs的支持;
步骤S4:制作initrd;
步骤S5:生成initrd的镜像文件initrd.img。
2.如权利要求1所述的基于通用的计算机操作系统的掉电保护方法,其特征在于,所述步骤S3包括:
步骤S31:对内核进行补丁移植;
步骤S32:对内核源码进行编译;
步骤S33:在内核内编译安装aufs工具集。
3.如权利要求2所述的基于通用的计算机操作系统的掉电保护方法,其特征在于,所述步骤S31包括:
步骤S311:修改内核源码,应用aufs2-kbuild.patch和aufs2-base.patch 两个补丁;
步骤S312:拷贝一个头文件到内核源码中,然后设置CONFIG_AUFS_FS=m选项;
步骤S313:设置启用内核选项参数,并重新编译内核生成核心文件。
4.如权利要求2所述的基于通用的计算机操作系统的掉电保护方法,其特征在于,所述步骤S32包括:
步骤S321:执行命令rpmbuild -ba kernel.spec --without debuginfo --withoutdebug --without kabichk --with doc --with firmware对内核源码进行编译;
步骤S322:安装新内核及内核头文件,确保文件/usr/include/linux/aufs_type.h 存在;
步骤S323:重启系统。
5.如权利要求1所述的基于通用的计算机操作系统的掉电保护方法,其特征在于,所述步骤S4中,initrd在添加好对aufs的支持的内核里制作。
6.如权利要求1所述的基于通用的计算机操作系统的掉电保护方法,其特征在于,所述步骤S5中,通过修改99mount.sh文件生成镜像文件。
7.如权利要求1所述的基于通用的计算机操作系统的掉电保护方法,其特征在于,在执行步骤S1-步骤S5之前,挂载预保护路径。
8.如权利要求1所述的基于通用的计算机操作系统的掉电保护方法,其特征在于,通过修改**sh文件挂载预保护路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810941272.XA CN110837437A (zh) | 2018-08-17 | 2018-08-17 | 基于通用的计算机操作系统的掉电保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810941272.XA CN110837437A (zh) | 2018-08-17 | 2018-08-17 | 基于通用的计算机操作系统的掉电保护方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110837437A true CN110837437A (zh) | 2020-02-25 |
Family
ID=69573619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810941272.XA Pending CN110837437A (zh) | 2018-08-17 | 2018-08-17 | 基于通用的计算机操作系统的掉电保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110837437A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112988464A (zh) * | 2021-03-23 | 2021-06-18 | 武汉深之度科技有限公司 | 一种断电保护方法及计算设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102495812A (zh) * | 2011-12-15 | 2012-06-13 | 江苏中科梦兰电子科技有限公司 | Linux平台硬盘数据保护与恢复方法 |
CN103106091A (zh) * | 2013-01-31 | 2013-05-15 | 深圳市开立科技有限公司 | 一种基于可移动存储介质的操作系统的启动系统和方法 |
CN106295319A (zh) * | 2016-08-02 | 2017-01-04 | 中标软件有限公司 | 操作系统安全防护方法 |
US20170322815A1 (en) * | 2016-05-09 | 2017-11-09 | International Business Machines Corporation | Kernel-integrated instance-specific operational resources with virtualization |
CN107977572A (zh) * | 2016-10-25 | 2018-05-01 | 中兴通讯股份有限公司 | 一种应用程序运行方法和装置、智能终端 |
-
2018
- 2018-08-17 CN CN201810941272.XA patent/CN110837437A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102495812A (zh) * | 2011-12-15 | 2012-06-13 | 江苏中科梦兰电子科技有限公司 | Linux平台硬盘数据保护与恢复方法 |
CN103106091A (zh) * | 2013-01-31 | 2013-05-15 | 深圳市开立科技有限公司 | 一种基于可移动存储介质的操作系统的启动系统和方法 |
US20170322815A1 (en) * | 2016-05-09 | 2017-11-09 | International Business Machines Corporation | Kernel-integrated instance-specific operational resources with virtualization |
CN106295319A (zh) * | 2016-08-02 | 2017-01-04 | 中标软件有限公司 | 操作系统安全防护方法 |
CN107977572A (zh) * | 2016-10-25 | 2018-05-01 | 中兴通讯股份有限公司 | 一种应用程序运行方法和装置、智能终端 |
Non-Patent Citations (3)
Title |
---|
LELE MA: "Efficient service handoff across edge servers via docker container migration", pages 1 - 13 * |
徐成: "嵌入式系统导论", 31 January 2011, 中国铁道出版社, pages: 278 - 279 * |
陈煜文;刘金刚;: "Linux根文件系统模块化的研究与实现", no. 01, pages 245 - 247 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112988464A (zh) * | 2021-03-23 | 2021-06-18 | 武汉深之度科技有限公司 | 一种断电保护方法及计算设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9804933B2 (en) | System differential upgrade method, apparatus, and mobile terminal | |
US6820214B1 (en) | Automated system recovery via backup and restoration of system state | |
KR100506203B1 (ko) | 부팅 및 부트 코드 업데이트 방법 및 시스템 | |
US6851073B1 (en) | Extensible system recovery architecture | |
GB2466685A (en) | Fault tolerant updating of firmware | |
CN104239082A (zh) | 嵌入式系统的热补丁实现方法 | |
US20090254898A1 (en) | Converting a device from one system to another | |
CN102930190B (zh) | 一种在安卓系统中阻止用户获取超级用户权限的方法 | |
CN106990985A (zh) | 基于bmc更新及备份系统uefi固件的设备和方法 | |
CN105637521A (zh) | 一种数据处理方法及智能终端 | |
CN110209525B (zh) | 操作系统还原方法及装置 | |
CN111258666A (zh) | 计算机文件的读取方法、装置、计算机系统及存储介质 | |
CN103207816A (zh) | 一种Linux系统修复方法 | |
KR20000049321A (ko) | 플래시 카드를 이용한 리눅스 자동복구시스템 | |
CN110837437A (zh) | 基于通用的计算机操作系统的掉电保护方法 | |
WO2015184732A1 (zh) | 引导程序的存储方法、故障恢复方法及设备、计算机存储介质 | |
CN116361817B (zh) | 一种Linux下ubi文件系统的保护方法 | |
CN104331311A (zh) | 一种升级包生成方法和装置 | |
CN116991622A (zh) | 一种可信dcs控制器系统无法启动时的恢复方法及系统 | |
JP2005284902A (ja) | 端末装置、その制御方法及び制御プログラム、ホスト装置、その制御方法及び制御プログラム、遠隔更新システム、方法及びプログラム | |
JP5906609B2 (ja) | デバッグ支援プログラム、デバッグ支援方法及びデバッグ支援システム | |
CN114995852A (zh) | 一种设备升级方法、设备及计算机可读存储介质 | |
CN107480007B (zh) | 一种程序冗余校验与纠错的方法 | |
TWI556172B (zh) | 電腦裝置及其開機方法 | |
WO2016037314A1 (zh) | 软件版本升级方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |