基于x86架构修复系统文件的方法及装置的制作方法

文档序号:6334798阅读:257来源:国知局
专利名称:基于x86架构修复系统文件的方法及装置的制作方法
技术领域
本发明涉及计算机领域,特别涉及一种基于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文件主要包含stage 1和stage2两个部分。操作系统由CF卡启动时,stagel作为启动设备的MBR(Master Boot Record,主引导记录)存在于第一扇区, stagel加载位于第二扇区的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 文件,包含 stagel、stage2、nugrub、pxegrub、menu. 1st、Grub, conf> Grub update等等,然后再执行Grub命令,重新配置用于激活重配置的Grub文件的boot文件。然而,实际应用中,面对复杂的系统结构,为了避免对大量节点设备的运行造成影响,保证系统的整体性能,应可能不要使单板断电。相应地,当操作系统相关文件(如,操作系统的内核文件)损坏时,操作系统将无法正常启动,面对这一情况,通常采用以下方案进行修复第一种方案为通过网络启动操作系统。即通过Grub文件中保存的相关指令,从网络侧重新下载操作系统相关文件,并基于重新下载的操作系统相关文件,实现操作系统的引导和加载。然而,实际应用中,从网络侧下载操作系统相关文件,需要搭建服务器环境,降低了解决问题的效率,并且,面对无法搭建服务器环境的情况,无法有效解决操作系统相关文件损坏问题。第二种方案为手动替换CF卡上的操作系统相关文件。即对单板断电,手动替换单板内CF卡上的操作系统相关文件。然而,实际应用中,面对复杂的系统结构,为了避免对大量节点设备的运行造成影响,保证系统的整体性能,应可能不要使单板断电。

发明内容
本发明实施例提供一种基于X86架构修复系统相关文件的方法及装置,用以简化系统相关文件的修复流程,同时保证系统性能。本发明实施例提供的具体实施方式
如下一种基于X86架构修复系统文件的方法,包括接收到启动指示时,检测USB接口是否存在外接设备;确定USB接口存在外接设备时,从所述外接设备中的指定存储位置读取系统文件;采用读取的系统文件对本地保存的系统文件进行修复。一种基于X86架构修复系统文件的装置,包括检测单元,用于在接收到启动指示时,检测USB接口是否存在外接设备;处理单元,用于在确定USB接口存在外接设备时,从所述外接设备中的指定存储位置读取系统文件;修复单元,用于采用读取的系统文件对本地保存的系统文件进行修复。本发明实施例中,采用USB修复盘对单板上的系统文件进行修复,不涉及单板上Bios源代码的修改,也无需搭建网络环境,从而有效地降低他修复流程的实现难度,简化了修复流程,同时,采用USB修复盘对单板上的系统文件进行修复,无需对单板进行断电,因此,对周边环境的影响降到了最低,从而有效地保证了系统性能。


图1为本发明实施例中CF内部结构示意图;图2为本发明实施例中单板功能结构示意图;图3为本发明实施例中单板修复本地的系统文件流程图。
具体实施例方式在基于X86架构的系统中,为了简化各单板内存储模块(如,CF卡)中的系统相关文件的修复流程,同时保证系统性能,本发明实施例中,采用USB修复盘对系统相关文件进行修复。本发明实施例中,以CF卡为例,USB修复盘的逻辑设定为USB修复盘读卡器+CF 卡+USB转接线。每张CF卡既可以是专门用于修复流程的CF卡,也可以是在各单板间通用的CF卡,较佳的,采用后一种方式,这样可以使用任意一张单板上的CF卡组成USB修复盘, 以简化修复流程。参阅图1所示,CF卡中包含Boot区和her区,其中,Boot区用于存储 Grub文件,包含stagel和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卡环境的步骤,从而可以更加快速的提高修复流程的执行效率。 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种基于X86架构修复系统文件的方法,其特征在于,包括 接收到启动指示时,检测USB接口是否存在外接设备;确定USB接口存在外接设备时,从所述外接设备中的指定存储位置读取系统文件; 采用读取的系统文件对本地保存的系统文件进行修复。
2.如权利要求1所述的方法,其特征在于,所述确定USB接口存在外接设备时,从所述外接设备中的指定存储位置读取系统文件,包括基于所述外接设备内预设的系统文件进行系统启动;在系统启动后,在所述外接设备中的指定存储位置获得备份的系统文件。
3.如权利要求1或2所述的方法,其特征在于,从所述外接设备中的指定存储位置读取的系统文件包括Grub文件和操作系统相关文件。
4.如权利要求3所述的方法,其特征在于,所述采用读取的系统文件对本地保存的系统文件进行修复,包括基于读取的Grub文件对本地的Grub文件进行替换,并重新设置Grub命令; 基于读取的操作系统相关文件对本地的操作系统内核文件和文件系统文件进行替换。
5.如权利要求4所述的方法,其特征在于,采用读取的系统文件对本地保存的系统文件进行修复后,基于本地修复后的系统文件重新启动系统。
6.一种基于X86架构修复系统文件的装置,其特征在于,包括检测单元,用于在接收到启动指示时,检测USB接口是否存在外接设备; 处理单元,用于在确定USB接口存在外接设备时,从所述外接设备中的指定存储位置读取系统文件;修复单元,用于采用读取的系统文件对本地保存的系统文件进行修复。
7.如权利要求6所述的装置,其特征在于,所述处理单元确定USB接口存在外接设备时,从所述外接设备中的指定存储位置读取系统文件,包括基于所述外接设备内预设的系统文件进行系统启动;在系统启动后,在所述外接设备中的指定存储位置获得备份的系统文件。
8.如权利要求6或7所述的装置,其特征在于,所述处理单元从所述外接设备中的指定存储位置读取的系统文件包括Grob文件和操作系统相关文件。
9.如权利要求8所述的装置,其特征在于,所述修复单元采用读取的系统文件对本地保存的系统文件进行修复,包括基于读取的Grob文件对本地的Grob文件进行替换,并重新设置Grob命令; 基于读取的操作系统相关文件对本地的操作系统内核文件和文件系统文件进行替换。
10.如权利要求9所述的装置,其特征在于,所述修复单元采用读取的系统文件对本地保存的系统文件进行修复后,所述处理单元基于本地修复后的系统文件重新启动系统。
全文摘要
本发明涉及计算机领域,特别涉及一种基于X86架构修复系统文件的方法及装置,用以简化系统文件的修复流程,同时保证系统性能。该方法为;接收到启动指示时,检测USB接口是否存在外接设备,确定USB接口存在外接设备时,从所述外接设备中的指定存储位置读取系统文件,采用读取的系统文件对本地保存的系统文件进行修复。这样,对单板上的系统文件进行修复时,不涉及单板上Bios源代码的修改,也无需搭建网络环境,从而有效地降低他修复流程的实现难度,简化了修复流程,同时,无需对单板进行断电,因此,对周边环境的影响降到了最低,从而有效地保证了系统性能。
文档编号G06F11/14GK102456047SQ201010527009
公开日2012年5月16日 申请日期2010年10月26日 优先权日2010年10月26日
发明者来洪清, 谭鹏 申请人:大唐移动通信设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1