CN108108198B - 用于计算机系统的方法及系统 - Google Patents
用于计算机系统的方法及系统 Download PDFInfo
- Publication number
- CN108108198B CN108108198B CN201711361944.1A CN201711361944A CN108108198B CN 108108198 B CN108108198 B CN 108108198B CN 201711361944 A CN201711361944 A CN 201711361944A CN 108108198 B CN108108198 B CN 108108198B
- Authority
- CN
- China
- Prior art keywords
- program
- module
- interrupted
- operating system
- boot
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本公开提供了一种用于计算机系统的方法,该计算机系统能够运行操作系统,其中,该方法包括:在通过引导程序启动操作系统的过程中,检测包含在引导程序中的多个程序模块中是否出现有运行中断的程序模块;以及若出现有运行中断的程序模块,则记录运行中断的程序模块的模块信息,并从头重新运行引导程序来启动操作系统或者跳过运行中断的程序模块继续运行与运行中断的程序模块相邻的下一程序模块。本公开还提供了一种用于计算机系统的系统。
Description
技术领域
本公开涉及一种用于计算机系统的方法及系统。
背景技术
统一的可扩展固件接口(Unified Extensible Firmware Interface,简称UEFI)是一种详细描述类型接口的标准,用于提供一组在电子设备的操作系统加载之前(启动前)在所有平台上一致的、正确指定的启动服务。在启动电子设备如终端、服务器等的操作系统之前,通过系统引导程序UEFI对操作系统做初始化配置,在配置完成后启动操作系统。
在实现本公开实施例的过程中,发明人发现相关技术中至少存在如下问题:在通过引导程序UEFI启动操作系统的过程中,如果引导程序UEFI中存在异常中断,会导致启动操作系统的过程停止,一般需要人为干预(如重启系统)才能使操作系统继续启动。
针对相关技术中的上述问题,目前还未提出有效的解决方案。
发明内容
本公开的一个方面提供了一种用于计算机系统的方法,上述计算机系统能够运行操作系统,上述方法包括:在通过引导程序启动操作系统的过程中,检测包含在上述引导程序中的多个程序模块中是否出现有运行中断的程序模块;以及若出现有上述运行中断的程序模块,则记录上述运行中断的程序模块的模块信息,并从头重新运行上述引导程序来启动上述操作系统或者跳过上述运行中断的程序模块继续运行与上述运行中断的程序模块相邻的下一程序模块。
可选地,上述方法还包括:在从头重新运行上述引导程序来启动上述操作系统的过程中,根据记录的上述模块信息,跳过对上述运行中断的程序模块的运行。
可选地,上述方法还包括:在通过上述引导程序启动上述操作系统的过程中,且上述引导程序中能够正常运行的程序模块全部运行完毕后,检测上述操作系统是否已成功启动;若上述操作系统尚未成功启动,则启动用于对上述引导程序进行配置的配置程序以重新配置上述引导程序;以及在重新配置上述引导程序的过程中,根据记录的上述运行中断的程序模块的模块信息,修改上述运行中断的程序模块的配置信息。
可选地,启动用于对上述引导程序进行配置的配置程序以重新配置上述引导程序包括:启动用于对上述引导程序进行配置的配置程序以重新配置包含在上述引导程序中的所有程序模块;或者启动用于对上述引导程序进行配置的配置程序以重新配置包含在上述引导程序中的上述运行中断的程序模块。
可选地,上述方法还包括:若上述操作系统已成功启动,则在列表中将上述运行中断的程序模块的模块信息删除,其中,上述列表用于记录所有运行中断的程序模块的模块信息。
本公开的另一个方面提供了一种用于计算机系统的系统,上述计算机系统能够运行操作系统,上述系统包括:第一检测模块,用于在通过引导程序启动操作系统的过程中,检测包含在上述引导程序中的多个程序模块中是否出现有运行中断的程序模块;以及第一运行模块,用于在出现有上述运行中断的程序模块的情况下,记录上述运行中断的程序模块的模块信息,并从头重新运行上述引导程序来启动上述操作系统或者跳过上述运行中断的程序模块继续运行与上述运行中断的程序模块相邻的下一程序模块。
可选地,上述系统还包括:第二运行模块,用于在从头重新运行上述引导程序来启动上述操作系统的过程中,根据记录的上述模块信息,跳过对上述运行中断的程序模块的运行。
可选地,上述系统还包括:第二检测模块,用于在通过上述引导程序启动上述操作系统的过程中,且上述引导程序中能够正常运行的程序模块全部运行完毕后,检测上述操作系统是否已成功启动;启动模块,用于在上述操作系统尚未成功启动的情况下,启动用于对上述引导程序进行配置的配置程序以重新配置上述引导程序;以及修改模块,用于在重新配置上述引导程序的过程中,根据记录的上述运行中断的程序模块的模块信息,修改上述运行中断的程序模块的配置信息。
可选地,启动模块包括:第一启动单元,用于启动用于对上述引导程序进行配置的配置程序以重新配置包含在上述引导程序中的所有程序模块;或者第二启动单元,用于启动用于对上述引导程序进行配置的配置程序以重新配置包含在上述引导程序中的上述运行中断的程序模块。
可选地,上述系统还包括:删除模块,用于在上述操作系统已成功启动的情况下,在列表中将上述运行中断的程序模块的模块信息删除,其中,上述列表用于记录所有运行中断的程序模块的模块信息。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开实施例的用于计算机系统的方法的应用场景;
图2示意性示出了根据本公开实施例的用于计算机系统的方法的流程图;
图3A示意性示出了根据本公开另一实施例的用于计算机系统的方法的流程图;
图3B示意性示出了根据本公开另一实施例的用于计算机系统的方法的流程图;
图3C示意性示出了根据本公开另一实施例的用于计算机系统的方法的流程图;
图4示意性示出了根据本公开实施例的用于计算机系统的系统的框图;
图5A示意性示出了根据本公开另一实施例的用于计算机系统的系统框图;
图5B示意性示出了根据本公开另一实施例的用于计算机系统的系统的框图;
图5C示意性示出了根据本公开另一实施例的用于计算机系统的系统的框图;以及
图6示意性示出了适于用来实现本公开实施例的计算机系统的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。本领域技术人员还应理解,实质上任意表示两个或更多可选项目的转折连词和/或短语,无论是在说明书、权利要求书还是附图中,都应被理解为给出了包括这些项目之一、这些项目任一方、或两个项目的可能性。例如,短语“A或B”应当被理解为包括“A”或“B”、或“A和B”的可能性。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。
因此,本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。在本公开的上下文中,计算机可读介质可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,计算机可读介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。计算机可读介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
本公开的实施例提供了一种用于计算机系统的方法,该计算机系统能够运行操作系统,该方法包括:在通过引导程序启动操作系统的过程中,检测包含在引导程序中的多个程序模块中是否出现有运行中断的程序模块;以及若出现有运行中断的程序模块,则记录运行中断的程序模块的模块信息,并从头重新运行引导程序来启动操作系统或者跳过运行中断的程序模块继续运行与运行中断的程序模块相邻的下一程序模块。该方法使得在通过引导程序UEFI启动计算机系统的操作系统的过程中,如果引导程序UEFI中遇到异常中断,而导致启动操作系统的过程停止时,在不需要人为干预(如重启系统)的情况下,为操作系统的继续启动提供可能。
图1示意性示出了根据本公开实施例的用于计算机系统的方法的应用场景。
如图1所示,计算机开机后,其操作系统可以通过引导程序来启动,即对引导程序进行初始化,进而通过初始化过的引导程序对计算机的操作系统做初始化配置,在配置完成后启动操作系统,使得计算机进入操作系统。但是,在通过引导程序启动操作系统的过程中,可能会因为各种各样的原因,而导致引导程序遇到异常中断,进而使得计算机系统的启动停止,如在通过UEFI启动计算机系统的操作系统的过程中,如果引导程序UEFI中遇到除零等异常而中断,可能导致操作系统的启动过程停止,如计算机死机,目前,为了重新启动操作系统,需要人为的干预,如重启系统等,排除故障,系统才可能继续启动。
需要注意的是,图1所示仅为可以应用本公开实施例的场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
图2示意性示出了根据本公开实施例的用于计算机系统的方法的流程图。
如图2所示,该方法用于能够运行操作系统的计算机系统,该方法可以包括操作S210和S220,其中:
在操作S210,在通过引导程序启动操作系统的过程中,检测包含在引导程序中的多个程序模块中是否出现有运行中断的程序模块。
在操作S220,若出现有运行中断的程序模块,则记录运行中断的程序模块的模块信息,并从头重新运行引导程序来启动操作系统或者跳过运行中断的程序模块继续运行与运行中断的程序模块相邻的下一程序模块。
根据本公开的实施例,操作系统可以是预装在计算机上的各种版本的操作系统,例如Windows 7,Windows 8,Windows XP等,在此不做具体限定。
根据本公开的实施例,引导程序可以是用来启动上述操作系统的各种引导程序,该引导程序可以是由多个程序模块组成的,如UEFI引导程序,UEFI使用的模块化设计,C语言风格的参数堆栈传递方式、动态链接的形式构建系统,使得容错和纠错能力较强,更重要的是,运行于32位或64位模式,突破16位代码的寻址能力,达到处理器的最大寻址,运行速度大大提升,默认情况下,该引导程序中的各个程序功能是可以加载的即Enable的,可以通过引导程序的配置程序对其进行配置,具体的配置方法在此不做限定,但本公开实施例并不局限于此。
根据本公开的实施例,在引导程序中的多个程序模块中出现有运行中断的程序模块的情况下,可以通过中断处理函数获得产生异常的地址,根据该异常地址和其他信息,如UEFI模块名称,UEFI模块文件头部信息、加载地址、Call Stack分析等,分析出导致异常中断的模块,并将识别出来的异常中断的模块信息发送给BMC(BaseboardManagementController,简称为基板控制器),并产生日志,来记录此次异常中断。而BMC可以将导致CPU异常的模块信息存放在一个列表中。
在出现有运行中断的程序,可以记录下运行中断的程序模块的模块信息,同时可以从头自动重新运行引导程序,也可以在本次跳过运行中断的程序模块继续运行与运行中断的程序模块相邻的下一程序模块来启动操作系统,具体地,可以从BMC获取导致CPU异常的模块列表。在重启的过程中,UEFI将不再启动列表中的模块,即将该模块Disable,来避免系统宕机。
通过本公开的实施例,通过引导程序启动操作系统,在出现有运行中断的程序模块的情况下,记录运行中断的程序模块的模块信息,一方面可以从头重新运行引导程序来启动操作系统,另一方面可以跳过运行中断的程序模块继续运行与运行中断的程序模块相邻的下一程序模块来启动操作系统,即在发生故障时,无需人为干预,即可自动完成重启,因此缩短了系统宕机时间,甚至避免了系统宕机,最大限度的保障了系统的在线时间。
下面参考图3A~图3C,结合具体实施例对图2所示的方法做进一步说明。
图3A示意性示出了根据本公开另一实施例的用于计算机系统的方法的流程图。
如图3A所示,该方法可以包括操作S210、S220和S311。其中,操作S210和S220与前述实施例类似,此处不再赘述。
在操作S311,在从头重新运行引导程序来启动操作系统的过程中,根据记录的模块信息,跳过对运行中断的程序模块的运行。
根据本公开的实施例,在从头重新运行引导程序来启动操作系统的过程中,根据记录的模块信息,跳过对运行中断的程序模块的运行,具体地,可以从BMC获取导致CPU异常的模块列表,在从头重新运行引导程序的过程中,UEFI将不再启动列表中的模块,即将该模块由默认的Enable改为Disable,以此让系统继续引导启动,来避免系统宕机。
通过本公开的实施例,在从头重新运行引导程序来启动操作系统的情况下,可以根据记录的模块信息,跳过对运行中断的程序模块的运行来启动操作系统,因此避免了系统宕机,最大限度的保障了系统的在线时间。
图3B示意性示出了根据本公开另一实施例的用于计算机系统的方法的流程图。
如图3B所示,该方法可以包括操作S210、S220、S321、S322和S323。其中,操作S210和S220与前述实施例类似,此处不再赘述。
在操作S321,在通过引导程序启动操作系统的过程中,且引导程序中能够正常运行的程序模块全部运行完毕后,检测操作系统是否已成功启动。
在操作S322,若操作系统尚未成功启动,则启动用于对引导程序进行配置的配置程序以重新配置引导程序。
在操作S323,在重新配置引导程序的过程中,根据记录的运行中断的程序模块的模块信息,修改运行中断的程序模块的配置信息。
根据本公开的实施例,在通过引导程序重新启动操作系统的过程中,在引导程序中能够正常运行的程序模块全部运行完毕后,可能正常启动到操作系统,也可能不能正常启动到操作系统。
若正常启动到操作系统,则说明没有被启动的模块对系统的影响较小,系统可以继续运行。
若不能正常启动到操作系统,则可以启动UEFI的配置程序,来对系统进行配置修改。根据BMC记录的异常中断的程序模块日志信息,判断可能导致CPU异常的配置,通过修改配置的方式来消除CPU异常。
若无法启动UEFI的配置程序,则没有被启动的模块对系统的影响较大,此时可能需要用户干预。
根据本公开的实施例,启动用于对引导程序进行配置的配置程序以重新配置引导程序可以启动用于对引导程序进行配置的配置程序以重新配置包含在引导程序中的所有程序模块,也可以启动用于对引导程序进行配置的配置程序以重新配置包含在引导程序中的运行中断的程序模块。
通过本公开的实施例,由于在不能正常启动到操作系统的情况下,采用启动引导程序的配置程序的方法,来修改配置以消除异常,给操作系统的启动提供可能,使得不需要人工干预的前提下,通过对异常中断模块的分析来实现操作系统的启动。
图3C示意性示出了根据本公开另一实施例的用于计算机系统的方法的流程图。
如图3C所示,该方法可以包括操作S210、S220、S321、S322、S323和S331。
在操作S331,若操作系统已成功启动,则在列表中将运行中断的程序模块的模块信息删除,其中,列表用于记录所有运行中断的程序模块的模块信息。
根据本公开的实施例,可以在UEFI的配置程序中添加一个页面,可以包括但不限于以下两种功能:
1.Enable/Disable该功能:当Enable时,UEFI将正常加载导致CPU异常的模块。Disable时,UEFI将不会加载导致CPU异常的模块。如上所述,在默认情况下,该功能是Enable的。
2.编辑“异常模块列表”:在故障排除之后,需要重新加载被Disable的UEFI模块。因此在配置程序中加一个页面,用于删除“导致CPU异常的模块列表”中的相关模块,并将该列表更新到BMC。这样,下次重启的时候,UEFI将正常加载之前被Disable的模块。
通过本公开的实施例,通过建立列表的方式来记录异常模块,并可以根据上次启动的结果,编辑该列表,到达不断更新的效果,使得每次重启操作系统的时候,异常记录表中的模块启动信息都是最新的,实现了引导程序最大限度的保证操作系统启动的技术效果。
图4示意性示出了根据本公开实施例的用于计算机系统的系统的框图。
如图4所示,该计算机系统400可以包括第一检测模块410和第一运行模块420。该计算机系统400可以执行上面参考图2以及图3A~图3C描述的用于计算机系统的方法,以实现计算机系统的操作系统的启动,这里不再重复。
第一检测模块410用于在通过引导程序启动操作系统的过程中,检测包含在引导程序中的多个程序模块中是否出现有运行中断的程序模块。
第一运行模块420用于在出现有运行中断的程序模块的情况下,记录运行中断的程序模块的模块信息,并从头重新运行引导程序来启动操作系统或者跳过运行中断的程序模块继续运行与运行中断的程序模块相邻的下一程序模块。
可以理解的是,第一检测模块410和第一运行模块420可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本发明的实施例,第一检测模块410和第一运行模块420中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以以对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式的适当组合来实现。或者,第一检测模块410和第一运行模块420中的至少一个可以至少被部分地实现为计算机程序模块,当该程序被计算机运行时,可以执行相应模块的功能。
通过本公开的实施例,通过引导程序启动操作系统,在出现有运行中断的程序模块的情况下,记录运行中断的程序模块的模块信息,一方面可以从头重新运行引导程序来启动操作系统,另一方面可以跳过运行中断的程序模块继续运行与运行中断的程序模块相邻的下一程序模块来启动操作系统,即在发生故障时,无需人为干预,即可自动完成重启,因此缩短了系统宕机时间,甚至避免了系统宕机,最大限度的保障了系统的在线时间。
图5A示意性示出了根据本公开另一实施例的用于计算机系统的系统的框图。
如图5A所示,该系统400可以包括第一检测模块410、第一运行模块420和第二运行模块511。
第二运行模块511用于在从头重新运行引导程序来启动操作系统的过程中,根据记录的模块信息,跳过对运行中断的程序模块的运行。
通过本公开的实施例,在从头重新运行引导程序来启动操作系统的情况下,可以根据记录的模块信息,跳过对运行中断的程序模块的运行来启动操作系统,因此避免了系统宕机,最大限度的保障了系统的在线时间。
图5B示意性示出了根据本公开另一实施例的用于计算机系统的系统的框图。
如图5B所示,该系统400可以包括第一检测模块410、第一运行模块420、第二检测模块521、启动模块522和修改模块523。
第二检测模块521用于在通过引导程序启动操作系统的过程中,且引导程序中能够正常运行的程序模块全部运行完毕后,检测操作系统是否已成功启动。
启动模块522用于在操作系统尚未成功启动的情况下,启动用于对引导程序进行配置的配置程序以重新配置引导程序。
修改模块523用于在重新配置引导程序的过程中,根据记录的运行中断的程序模块的模块信息,修改运行中断的程序模块的配置信息。
根据本公开的实施例,启动模块可以用于启动用于对引导程序进行配置的配置程序以重新配置包含在引导程序中的所有程序模块,也可以用于启动用于对引导程序进行配置的配置程序以重新配置包含在引导程序中的运行中断的程序模块。
通过本公开的实施例,由于在不能正常启动到操作系统的情况下,采用启动引导程序的配置程序的方法,来修改配置以消除异常,给操作系统的启动提供可能,使得不需要人工干预的前提下,通过对异常中断模块的分析来实现操作系统的启动。
图5C示意性示出了根据本公开另一实施例的用于计算机系统的系统的框图。
如图5C所示,该系统400可以包括第一检测模块410、第一运行模块420、第二检测模块521、启动模块522、修改模块523和删除模块531。
删除模块531用于在操作系统已成功启动的情况下,在列表中将运行中断的程序模块的模块信息删除,其中,列表用于记录所有运行中断的程序模块的模块信息。
通过本公开的实施例,通过建立列表的方式来记录异常模块,并可以根据上次启动的结果,编辑该列表,到达不断更新的效果,使得每次重启操作系统的时候,异常记录表中的模块启动信息都是最新的,实现了引导程序最大限度的保证操作系统启动的技术效果。
图6示意性示出了适于用来实现本公开实施例的计算机系统的框图。
如图6所示,计算机系统600可以包括处理器610和计算机可读存储介质620。该计算机系统600可以执行上面参考图2以及图3A~图3C描述的方法,以实现在通过引导程序UEFI启动计算机系统的操作系统的过程中,如果引导程序UEFI中遇到异常中断,而导致启动操作系统的过程停止时,在不需要人为干预(如重启系统)的情况下,为操作系统的继续启动提供可能。
具体地,处理器610例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器610还可以包括用于缓存用途的板载存储器。处理器610可以是用于执行参考图2以及图3A~图3C描述的根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质620,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
计算机可读存储介质620可以包括计算机程序621,该计算机程序621可以包括代码/计算机可执行指令,其在由处理器610执行时使得处理器610执行例如上面结合图2以及图3A~图3C所描述的方法流程及其任何变形。
计算机程序621可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序621中的代码可以包括一个或多个程序模块,例如包括621A、模块621B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器610执行时,使得处理器610可以执行例如上面结合图2以及图3A~图3C所描述的方法流程及其任何变形。
根据本公开的实施例,处理器610可以执行上面结合图2以及图3A~图3C所描述的方法流程及其任何变形。
根据本发明的实施例,上文所述的模块中的至少一个可以实现为参考图6描述的计算机程序模块,其在被处理器610执行时,可以实现上面描述的相应操作。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
Claims (8)
1.一种用于计算机系统的方法,所述计算机系统能够运行操作系统,所述方法包括:
在通过引导程序启动操作系统的过程中,检测包含在所述引导程序中的多个程序模块中是否出现有运行中断的程序模块;
若出现有所述运行中断的程序模块,则记录所述运行中断的程序模块的模块信息,并从头重新运行所述引导程序来启动所述操作系统或者跳过所述运行中断的程序模块继续运行与所述运行中断的程序模块相邻的下一程序模块;
在通过所述引导程序启动所述操作系统的过程中,且所述引导程序中能够正常运行的程序模块全部运行完毕后,检测所述操作系统是否已成功启动;
若所述操作系统尚未成功启动,则启动用于对所述引导程序进行配置的配置程序以重新配置所述引导程序;以及
在重新配置所述引导程序的过程中,根据记录的所述运行中断的程序模块的模块信息,修改所述运行中断的程序模块的配置信息。
2.根据权利要求1所述的方法,其中,所述方法还包括:
在从头重新运行所述引导程序来启动所述操作系统的过程中,根据记录的所述模块信息,跳过对所述运行中断的程序模块的运行。
3.根据权利要求1所述的方法,其中,启动用于对所述引导程序进行配置的配置程序以重新配置所述引导程序包括:
启动用于对所述引导程序进行配置的配置程序以重新配置包含在所述引导程序中的所有程序模块;或者
启动用于对所述引导程序进行配置的配置程序以重新配置包含在所述引导程序中的所述运行中断的程序模块。
4.根据权利要求1所述的方法,其中,所述方法还包括:
若所述操作系统已成功启动,则在列表中将所述运行中断的程序模块的模块信息删除,其中,所述列表用于记录所有运行中断的程序模块的模块信息。
5.一种用于计算机系统的系统,所述计算机系统能够运行操作系统,所述系统包括:
第一检测模块,用于在通过引导程序启动操作系统的过程中,检测包含在所述引导程序中的多个程序模块中是否出现有运行中断的程序模块;
第一运行模块,用于在出现有所述运行中断的程序模块的情况下,记录所述运行中断的程序模块的模块信息,并从头重新运行所述引导程序来启动所述操作系统或者跳过所述运行中断的程序模块继续运行与所述运行中断的程序模块相邻的下一程序模块;
第二检测模块,用于在通过所述引导程序启动所述操作系统的过程中,且所述引导程序中能够正常运行的程序模块全部运行完毕后,检测所述操作系统是否已成功启动;
启动模块,用于在所述操作系统尚未成功启动的情况下,启动用于对所述引导程序进行配置的配置程序以重新配置所述引导程序;以及
修改模块,用于在重新配置所述引导程序的过程中,根据记录的所述运行中断的程序模块的模块信息,修改所述运行中断的程序模块的配置信息。
6.根据权利要求5所述的系统,其中,所述系统还包括:
第二运行模块,用于在从头重新运行所述引导程序来启动所述操作系统的过程中,根据记录的所述模块信息,跳过对所述运行中断的程序模块的运行。
7.根据权利要求5所述的系统,其中,启动模块包括:
第一启动单元,用于启动用于对所述引导程序进行配置的配置程序以重新配置包含在所述引导程序中的所有程序模块;或者
第二启动单元,用于启动用于对所述引导程序进行配置的配置程序以重新配置包含在所述引导程序中的所述运行中断的程序模块。
8.根据权利要求5所述的系统,其中,所述系统还包括:
删除模块,用于在所述操作系统已成功启动的情况下,在列表中将所述运行中断的程序模块的模块信息删除,其中,所述列表用于记录所有运行中断的程序模块的模块信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711361944.1A CN108108198B (zh) | 2017-12-15 | 2017-12-15 | 用于计算机系统的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711361944.1A CN108108198B (zh) | 2017-12-15 | 2017-12-15 | 用于计算机系统的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108108198A CN108108198A (zh) | 2018-06-01 |
CN108108198B true CN108108198B (zh) | 2021-05-18 |
Family
ID=62209728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711361944.1A Active CN108108198B (zh) | 2017-12-15 | 2017-12-15 | 用于计算机系统的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108108198B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109976950B (zh) * | 2019-03-28 | 2024-01-09 | 努比亚技术有限公司 | Android系统动态启动方法、移动终端和计算机可读存储介质 |
CN111752750A (zh) * | 2020-05-20 | 2020-10-09 | 西安万像电子科技有限公司 | 操作系统的启动方法及装置 |
CN113687970A (zh) * | 2021-08-25 | 2021-11-23 | 东莞新能安科技有限公司 | 内存恢复方法、电池管理系统、电池包以及用电装置 |
CN115292140B (zh) * | 2022-09-01 | 2023-08-15 | 摩尔线程智能科技(北京)有限责任公司 | 监控系统启动的方法、装置和计算机可读介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572061A (zh) * | 2014-03-21 | 2015-04-29 | 中电科技(北京)有限公司 | 一种基于龙芯服务器的uefi固件实现方法 |
CN105791514A (zh) * | 2014-12-22 | 2016-07-20 | 阿里巴巴集团控股有限公司 | 一种应用启动监测方法及装置 |
CN106598564A (zh) * | 2016-10-24 | 2017-04-26 | 郑州云海信息技术有限公司 | 一种自适应不同主板的bios实现方法、bios及主板 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102262573B (zh) * | 2011-06-20 | 2014-01-15 | 奇智软件(北京)有限公司 | 操作系统启动保护方法和装置 |
US20130282951A1 (en) * | 2012-04-19 | 2013-10-24 | Qualcomm Incorporated | System and method for secure booting and debugging of soc devices |
TW201516654A (zh) * | 2013-10-23 | 2015-05-01 | Hon Hai Prec Ind Co Ltd | 電腦bios恢復系統及方法 |
CN105138380B (zh) * | 2015-09-21 | 2018-06-19 | 天脉聚源(北京)传媒科技有限公司 | 一种Linux系统的启动方法及装置 |
-
2017
- 2017-12-15 CN CN201711361944.1A patent/CN108108198B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572061A (zh) * | 2014-03-21 | 2015-04-29 | 中电科技(北京)有限公司 | 一种基于龙芯服务器的uefi固件实现方法 |
CN105791514A (zh) * | 2014-12-22 | 2016-07-20 | 阿里巴巴集团控股有限公司 | 一种应用启动监测方法及装置 |
CN106598564A (zh) * | 2016-10-24 | 2017-04-26 | 郑州云海信息技术有限公司 | 一种自适应不同主板的bios实现方法、bios及主板 |
Also Published As
Publication number | Publication date |
---|---|
CN108108198A (zh) | 2018-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108108198B (zh) | 用于计算机系统的方法及系统 | |
US11288178B2 (en) | Container testing using a directory and test artifacts and/or test dependencies | |
US7631173B2 (en) | Method and system for performing pre-boot operations from an external memory including memory address and geometry | |
KR101931007B1 (ko) | 컴퓨팅 디바이스의 초기화 트레이스 | |
WO2016206514A1 (zh) | 启动处理方法及装置 | |
KR20140125878A (ko) | 시스템 변경 후 컴퓨팅 장치의 적절한 동작을 확인하는 방법 및 시스템 | |
US10521218B2 (en) | Enhanced techniques for updating software | |
CN109101247B (zh) | 安装驱动程序的方法、装置和服务器 | |
CN111158945B (zh) | 内核故障处理方法、装置、网络安全设备和可读存储介质 | |
WO2015154538A1 (zh) | 存储器的启动方法及装置 | |
US20160103688A1 (en) | Method of Starting Computing System | |
WO2023109880A1 (zh) | 一种业务恢复方法、数据处理单元及相关设备 | |
US20130080751A1 (en) | Method and device for updating bios program for computer system | |
EP3499373B1 (en) | Method and apparatus for processing process | |
US8677187B2 (en) | Performing network core dump without drivers | |
US8949588B1 (en) | Mobile telephone as bootstrap device | |
US9026777B2 (en) | Automatic update of persistent boot parameter storage | |
US9852028B2 (en) | Managing a computing system crash | |
WO2017173924A1 (zh) | 切换文件系统的方法及装置 | |
WO2017075998A1 (zh) | 终端控制方法及装置 | |
KR101420026B1 (ko) | 부팅 프로세스 중에 파일들을 로딩하기 위한 방법, 장치 및 컴퓨터 판독가능 저장 매체 | |
JP2008077378A (ja) | 起動診断方式、起動診断方法およびプログラム | |
US20150095904A1 (en) | System and method for expedited loading of an image onto a storage device | |
US20230081290A1 (en) | Duplex operation system, duplex operation method, and program | |
CN110928582B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |