CN102456047B - 基于x86架构修复系统文件的方法及装置 - Google Patents
基于x86架构修复系统文件的方法及装置 Download PDFInfo
- Publication number
- CN102456047B CN102456047B CN201010527009.XA CN201010527009A CN102456047B CN 102456047 B CN102456047 B CN 102456047B CN 201010527009 A CN201010527009 A CN 201010527009A CN 102456047 B CN102456047 B CN 102456047B
- Authority
- CN
- China
- Prior art keywords
- file
- external equipment
- system file
- grub
- operating system
- 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.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及计算机领域,特别涉及一种基于X86架构修复系统文件的方法及装置,用以简化系统文件的修复流程,同时保证系统性能。该方法为;接收到启动指示时,检测USB接口是否存在外接设备,确定USB接口存在外接设备时,从所述外接设备中的指定存储位置读取系统文件,采用读取的系统文件对本地保存的系统文件进行修复。这样,对单板上的系统文件进行修复时,不涉及单板上Bios源代码的修改,也无需搭建网络环境,从而有效地降低他修复流程的实现难度,简化了修复流程,同时,无需对单板进行断电,因此,对周边环境的影响降到了最低,从而有效地保证了系统性能。
Description
技术领域
本发明涉及计算机领域,特别涉及一种基于X86架构修改系统文件的方法及装置。
背景技术
在ACTA通用技术平台架构下,其存储模块包括硬盘和CF卡。CF卡主要用做程序和用户数据备份。对于ATCA硬件架构的通用软件平台,目的是将数据产品中软件部分共用的技术,诸如操作系统、嵌入式网络管理维护、支撑协议、基本业务等部分统一开发,结合ATCA硬件架构的标准化、模块化特性,实现一个开放的、通用的软硬件平台。操作系统层包括Vxworks实时操作系统、MontaVistaLinuxCGE3.1和Windows操作系统。
多数情况下,CF卡上存放有Boot文件、Linux操作系统内核文件、Linux文件系统文件、应用程序文件。在实际应用中,会经常对以上文件进行更新升级,常用的方法包括本地升级、在线升级。但如果在升级过程中出现断电、升级文件损坏等严重性问题,往往会导致操作系统不能正常启动。
由于电信运营商对故障定位、排查和解决的时间限制,若在现场搭建网络环境进行在线升级,由于操作系统不能正常启动,这样的升级方式不能执行;若是将原单板上的CF卡内容重新烧写则需要单板断电,并搭建烧写CF卡的环境,仍不是一个较为合理的解决方法。
本发明是利用USB修复盘来快速解决因单板CF卡内容损坏导致操作系统不能正常启动的一种方法。
目前,在ACTA(Advance Telecomm Communication Architecture,高级电信级通信架构)通用技术平台下,通常采用的存储模块包括硬盘和CF卡,CF 卡主要用做程序和用户数据的备份。基于ACTA通用技术平台采用X86架构时,作为存储模块的CF卡中通常会保存Gun Grub和操作系统相关文件;其中,Gun Grub作为一个多重操作系统的启动管理器,用来引导不同操作系统的启动,而操作系统相关文件中包含完整的操作系统的相关文件,如,Linux系统。,Gun Grub简称Grub(GRand Unified Bootloader),Gun是一个自由软件工程项目的名称。
Gun Grub中的Grub文件主要包含stage1和stage2两个部分。操作系统由CF卡启动时,stage1作为启动设备的MBR(Master Boot Record,主引导记录)存在于第一扇区,stage1加载位于第二扇区的start程序,然后start以磁盘扇区形式而非文件系统形式载入stage2,通过stage2可以选择决定载入的操作系统的版本和相关参数,另外,stage2还提供一些特殊功能,如加密、网络以及光盘启动等。在实际应用过程中,根据需要会定期对Grub文件和操作系统相关文件进行文件升级等操作。
由于Grub文件和操作系统相关文件保存在可读写的CF中,因此,Grub文件和操作系统相关文件可能会遇到不同程度的损坏。
当Grub文件损坏(如,因升级失败损坏)时,不能正常引导操作系统的启动,从而导致操作系统不能正常加载,面对这一情况,通常采用以下方案进行修复:
第一种方案为:主备用Grub回滚。即设置备用Grub文件,当主用Grub文件损坏时,启动备用文件。实施该方案的重点是需要在Bios中设置主备用Grub文件的加载地址。
然而,实际应用中,多数Bios厂商不对外开放单板Bios的源代码,由于很难获取到Bios源代码,因此,主备用Grub文件的入口地址不能加入到Bios中,从而难以实现grub主备之间切换较难实现。
第二种方案为:手动替换CF卡上的Grub文件。即对单板断电,手动替换单板内CF卡上的Grub文件,包含stage1、stage2、nugrub、pxegrub、menu.lst、 Grub.conf、Grub_update等等,然后再执行Grub命令,重新配置用于激活重配置的Grub文件的boot文件。
然而,实际应用中,面对复杂的系统结构,为了避免对大量节点设备的运行造成影响,保证系统的整体性能,应可能不要使单板断电。
相应地,当操作系统相关文件(如,操作系统的内核文件)损坏时,操作系统将无法正常启动,面对这一情况,通常采用以下方案进行修复:
第一种方案为:通过网络启动操作系统。即通过Grub文件中保存的相关指令,从网络侧重新下载操作系统相关文件,并基于重新下载的操作系统相关文件,实现操作系统的引导和加载。
然而,实际应用中,从网络侧下载操作系统相关文件,需要搭建服务器环境,降低了解决问题的效率,并且,面对无法搭建服务器环境的情况,无法有效解决操作系统相关文件损坏问题。
第二种方案为:手动替换CF卡上的操作系统相关文件。即对单板断电,手动替换单板内CF卡上的操作系统相关文件。
然而,实际应用中,面对复杂的系统结构,为了避免对大量节点设备的运行造成影响,保证系统的整体性能,应可能不要使单板断电。
发明内容
本发明实施例提供一种基于X86架构修复系统相关文件的方法及装置,用以简化系统相关文件的修复流程,同时保证系统性能。
本发明实施例提供的具体实施方式如下:
一种基于X86架构修复系统文件的方法,包括:
接收到启动指示时,检测USB接口是否存在外接设备;
确定USB接口存在外接设备时,从所述外接设备中的指定存储位置读取系统文件,其中,所述系统文件包括Grub文件和操作系统相关文件;
基于读取的Grub文件对本地的Grub文件进行替换,并重新设置Grub命令;基于读取的操作系统相关文件对本地的操作系统内核文件和文件系统文件 进行替换。
一种基于X86架构修复系统文件的装置,包括:
检测单元,用于在接收到启动指示时,检测USB接口是否存在外接设备;
处理单元,用于在确定USB接口存在外接设备时,从所述外接设备中的指定存储位置读取系统文件,其中,所述系统文件包括Grub文件和操作系统相关文件;
修复单元,用于基于读取的Grub文件对本地的Grub文件进行替换,并重新设置Grub命令;基于读取的操作系统相关文件对本地的操作系统内核文件和文件系统文件进行替换。
本发明实施例中,采用USB修复盘对单板上的系统文件进行修复,不涉及单板上Bios源代码的修改,也无需搭建网络环境,从而有效地降低他修复流程的实现难度,简化了修复流程,同时,采用USB修复盘对单板上的系统文件进行修复,无需对单板进行断电,因此,对周边环境的影响降到了最低,从而有效地保证了系统性能。
附图说明
图1为本发明实施例中CF内部结构示意图;
图2为本发明实施例中单板功能结构示意图;
图3为本发明实施例中单板修复本地的系统文件流程图。
具体实施方式
在基于X86架构的系统中,为了简化各单板内存储模块(如,CF卡)中的系统相关文件的修复流程,同时保证系统性能,本发明实施例中,采用USB修复盘对系统相关文件进行修复。
本发明实施例中,以CF卡为例,USB修复盘的逻辑设定为:USB修复盘=读卡器+CF卡+USB转接线。每张CF卡既可以是专门用于修复流程的CF卡,也可以是在各单板间通用的CF卡,较佳的,采用后一种方式,这样可以使用任意一张单板上的CF卡组成USB修复盘,以简化修复流程。参阅图1所示,CF卡中包含Boot区和User区,其中,Boot区用于存储Grub文件,包含stage1和stage2,User区包括应用程序区和备份区,所谓应用程序区即是用于存储操作系统相关文件的区域,所谓备份区即是用于存储Boot区内的Grub文件和应用程序区内的操作系统相关文件的备份文件的区域,以供修复流程使用。
下面结合附图对本发明优选的实施方式进行详细说明。
参阅图2所示,本发明实施例中,需要进行系统文件修复的装置(如,单板)包括检测单元20、处理单元21和修复单元22,其中
检测单元20,用于在接收到启动指示时,检测USB接口是否存在外接设备,即USB修复盘。
处理单元21,用于在确定USB接口存在外接设备时,从该外接设备中的指定存储位置读取系统文件,例如,USB修复盘中采用CF卡作为存储介质时,处理单元21在如图1所示的CF卡中标记为备份区的存储区域读取备份的系统文件,所谓系统文件即是指对CF卡中原有的Boot区内的Grub文件进行备份得到的Grub文件,以及对CF卡中原有的应用程序区内的操作系统相关文件进行备份得到的操作系统相关文件。
修复单元22,用于采用读取的系统文件对本地保存的系统文件进行修复。
以上述需要进行系统文件修复的装置是单板为例,参阅图3所示,本发明实施例中,在X86架构下,单板对本地的系统文件进行修复的详细流程如下:
步骤300:单板接收到启动指示。如,管理人员点击单板的启动开关。
单板接收到启动指示后,首先会启动Bios,Bios启动后再对USB接口进行检测。
步骤310:对USB接口进行检测,判断是否存在外接设备?若是,则进行步骤320;否则,进行步骤370。
若需要对单板上的系统文件进行修复,则需要在单板启动前将USB修复盘插入单板的USB接口。
步骤320:基于外接设备中预设的系统文件进行系统启动。
例如,如图1所示,从外接的USB修复盘中的CF卡内的Boot区读取Grub 文件,以及从应用程序区读取操作系统相关文件,该操作系统相关文件中通常包括操作系统内核文件和文件系统文件;接着,根据读取的Grob文件和操作系统相关文件,从USB修复盘进行系统启动,这样,启动USB修复盘中的系统后,就可以使用该系统对单板上的CF卡内损坏的系统文件进行修复了。
步骤330:在系统启动后,在外接设备中的指定存储位置获得备份的系统文件。
例如,如图1所示,在系统启动后,单板从外接的USB修复盘中的CF卡内的备份区中读取备份的系统文件,包括备份的Grob文件和操作系统相关文件,该操作系统相关文件中至少包含操作系统内核文件和文件系统文件。
步骤340:根据从外接设备中指定存储位置读取的备份的系统文件,对本地的系统文件进行修复,即对本地的CF卡中的Boot区内的Grob文件和应用程序区内的操作系统相关文件进行修复。
在执行步骤340时,单板首先要挂载USB修复盘,并打开单板上的LED指示灯提示正在执行修复流程,以Linux系统为例,所谓挂载即是将操作系统系统分区作为Linux的一个“文件”挂接到Linux的一个文件夹下,通过访问该文件夹使用整个分区;接着,单板基于读取的Grob文件对本地的Grob文件进行替换,并重新设置Grob命令,这是因为替换后的文件并不能直接使用,需要设置相关命令进行激活;然后,单板基于读取的操作系统相关文件对本地的操作系统内核文件和文件系统文件进行替换,从而完成修复流程,此时,应该关闭单板上的LED指示灯提示修复流程执行完毕。
较佳的,由于USB修复盘具备功能兼容性,当执行应用盘功能时,应将盘上的备份区中的数据设置为写保护状态,而当执行修复盘功能时,应将盘上所有数据设置为写保护状态,确保在修复过程中,USB修复盘中的数据不会因误操作而损坏。
步骤350:屏蔽USB接口上的外接设备。
实际应用中,屏蔽USB修复盘的方式有多种,例如,临时关闭USB接口, 令单板跳过USB修复盘的检测过程,又例如,将系统启动优先级修改为先从本地启动,令单板跳过USB修复盘的检测过程。
进一步地,也可由管理人员直接取走USB修复盘。
步骤360:重新启动单板上的系统。
步骤370:加载单板本地保存的系统文件,从而令系统正常启动。
执行步骤370后,单板便可以基于修复后的系统文件启动本地系统,从而令系统恢复正常运行启动。
本发明实施例中,采用USB修复盘对单板上的系统文件进行修复,不涉及单板上Bios源代码的修改,也无需搭建网络环境,从而有效地降低他修复流程的实现难度,简化了修复流程,同时,采用USB修复盘对单板上的系统文件进行修复,无需对单板进行断电,因此,对周边环境的影响降到了最低,从而有效地保证了系统性能。
进一步地,在兼容性方面,任意一个单板上的CF卡均可以设置为USB修复盘来对其他单板上的CF卡中保存的系统文件进行修复,这样,CF卡即可以满足单板的业务需求,同时又可充当修复盘,提高了CF卡的使用效率,降低了修复流程的实现成本,如,当某一块单板的CF卡中的系统文件内容需要进行修复时,可从同批次任意一块单板上取下CF卡充当修复盘,交互使用,省去了搭建烧写CF卡环境的步骤,从而可以更加快速的提高修复流程的执行效率。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (4)
1.一种基于X86架构修复系统文件的方法,其特征在于,包括:
接收到启动指示时,检测USB接口是否存在外接设备;
确定USB接口存在外接设备时,从所述外接设备中的指定存储位置读取系统文件,其中,所述系统文件包括Grub文件和操作系统相关文件;
基于读取的Grub文件对本地的Grub文件进行替换,并重新设置Grub命令;基于读取的操作系统相关文件对本地的操作系统内核文件和文件系统文件进行替换;
其中,当执行应用盘功能时,将所述外接设备的备份区中的数据设置为写保护状态,当执行修复盘功能时,将所述外接设备中所有数据设置为写保护状态;
所述确定USB接口存在外接设备时,从所述外接设备中的指定存储位置读取系统文件,包括:基于所述外接设备内预设的系统文件进行系统启动;在系统启动后,在所述外接设备中的指定存储位置获得备份的系统文件。
2.如权利要求1所述的方法,其特征在于,采用读取的系统文件对本地保存的系统文件进行修复后,基于本地修复后的系统文件重新启动系统。
3.一种基于X86架构修复系统文件的装置,其特征在于,包括:
检测单元,用于在接收到启动指示时,检测USB接口是否存在外接设备;
处理单元,用于在确定USB接口存在外接设备时,从所述外接设备中的指定存储位置读取系统文件,其中,所述系统文件包括Grub文件和操作系统相关文件;
修复单元,用于基于读取的Grub文件对本地的Grub文件进行替换,并重新设置Grub命令;基于读取的操作系统相关文件对本地的操作系统内核文件和文件系统文件进行替换;其中,当执行应用盘功能时,将所述外接设备的备份区中的数据设置为写保护状态,当执行修复盘功能时,将所述外接设备中所有数据设置为写保护状态;
所述处理单元确定USB接口存在外接设备时,从所述外接设备中的指定存储位置读取系统文件,包括:基于所述外接设备内预设的系统文件进行系统启动;在系统启动后,在所述外接设备中的指定存储位置获得备份的系统文件。
4.如权利要求3所述的装置,其特征在于,所述修复单元采用读取的系统文件对本地保存的系统文件进行修复后,所述处理单元基于本地修复后的系统文件重新启动系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010527009.XA CN102456047B (zh) | 2010-10-26 | 2010-10-26 | 基于x86架构修复系统文件的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010527009.XA CN102456047B (zh) | 2010-10-26 | 2010-10-26 | 基于x86架构修复系统文件的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102456047A CN102456047A (zh) | 2012-05-16 |
CN102456047B true CN102456047B (zh) | 2015-07-01 |
Family
ID=46039244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010527009.XA Active CN102456047B (zh) | 2010-10-26 | 2010-10-26 | 基于x86架构修复系统文件的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102456047B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104484289B (zh) * | 2014-12-19 | 2017-11-14 | 武汉长江通信智联技术有限公司 | 一种基于扇区的嵌入式系统写保护的装置以及方法 |
CN107423157A (zh) * | 2017-07-31 | 2017-12-01 | 北京雷石天地电子技术有限公司 | 一种硬盘挂载方法、模块及操作系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1517899A (zh) * | 2003-01-14 | 2004-08-04 | 联想(北京)有限公司 | 更新嵌入式设备的操作系统的方法 |
CN101673230A (zh) * | 2009-10-16 | 2010-03-17 | 国电南京自动化股份有限公司 | 一种使用u盘自动备份和恢复嵌入式系统配置数据的方法 |
-
2010
- 2010-10-26 CN CN201010527009.XA patent/CN102456047B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1517899A (zh) * | 2003-01-14 | 2004-08-04 | 联想(北京)有限公司 | 更新嵌入式设备的操作系统的方法 |
CN101673230A (zh) * | 2009-10-16 | 2010-03-17 | 国电南京自动化股份有限公司 | 一种使用u盘自动备份和恢复嵌入式系统配置数据的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102456047A (zh) | 2012-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102165422B (zh) | 固件更新装置以及方法 | |
US10296423B2 (en) | System and method for live virtual incremental restoring of data from cloud storage | |
US7174547B2 (en) | Method for updating and restoring operating software in an active region of a network element | |
CN102662689B (zh) | 基于usb接口的嵌入式软件升级方法及系统 | |
CN102591675B (zh) | 使用共享存储块管理多软件镜像的方法和系统 | |
CN102339227A (zh) | 多固件嵌入式系统及其固件更新方法 | |
CN101437106B (zh) | 一种机顶盒系统及其自行修复的方法 | |
CN104823160A (zh) | 虚拟机-保留主机更新 | |
KR100952585B1 (ko) | 운영체제(os) 자동복구기능을 갖는 임베디드 시스템 및운영체제 자동복구 방법 | |
CN103746833A (zh) | 基于pxe的raid自动配置方法和系统 | |
CN103455354A (zh) | 一种防止固件升级失败的方法和设备 | |
CN101281469A (zh) | 嵌入式系统及其启动加载的方法 | |
CN104915226A (zh) | 一种网络设备软件启动方法、装置及网络设备 | |
CN103970564A (zh) | 嵌入式操作系统自动修复升级功能的方法及其系统 | |
CN101866295A (zh) | 一种操作系统网络安装的方法 | |
CN114115984A (zh) | 服务器固件升级的方法、存储设备及终端 | |
CN106843940A (zh) | 一种嵌入式系统的快速升级方法 | |
CN102456047B (zh) | 基于x86架构修复系统文件的方法及装置 | |
CN111078469A (zh) | 一种数据处理方法和数据处理设备 | |
KR101576370B1 (ko) | 컴퓨터 시스템의 원격 복원 시스템 및 그 방법, 그리고 기록한 컴퓨터로 읽어 들일 수 있는 기록매체 | |
CN105094873A (zh) | 一种手持终端系统切换方法及装置 | |
CN103559059A (zh) | 一种快速的免介质Linux系统升级方法 | |
CN104102505A (zh) | 电脑开机方法 | |
CN103019773B (zh) | 系统升级掉电保护方法、系统及移动终端 | |
CN111984195A (zh) | 一种提高嵌入式Linux系统稳定性的方法及装置 |
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 |