一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种系统启动方法及电子设备与流程

2022-03-09 07:47:06 来源:中国专利 TAG:
1.本技术涉及系统启动领域,尤其涉及一种系统启动方法及电子设备。
背景技术
::2.在系统启动过程中,通常是系统加电后运行bios中的第一引导加载程序bootloadler,第一引导加载程序用于初始化硬件设备、建立内存空间的映射图。当bios完成硬件检测和资源分配后,启动操作系统os,完成系统的启动过程。3.然而,在bootloadler加载运行过程中,可能会出现异常,而与异常相关的调试信息则不能被调试人员接收到,这就导致系统不能正常启动。技术实现要素:4.有鉴于此,本技术提供一种系统启动方法及电子设备,其具体方案如下:5.一种系统启动方法,包括:6.系统启动过程中,控制第一引导加载程序运行;7.在所述第一引导加载程序输出运行数据时,第一处理器确定预设参数是否为第一预设值,其中,所述预设参数用于表明第一引导加载程序是否处于待调试状态;8.若所述预设参数为第一预设值,控制第一引导加载程序运行的过程中,存储所述第一引导加载程序运行时的运行数据,以便于基于所述运行数据对所述第一引导加载程序进行调试。9.进一步的,还包括:10.控制系统重新启动,第一处理器或第二处理器读取并输出存储的所述第一引导加载程序运行时的运行数据,以便于基于输出的所述运行数据对所述第一引导加载程序进行调试;11.其中,所述第一处理器与所述第二处理器不同,所述第二处理器用于控制系统启动后的运行。12.进一步的,还包括:13.若所述预设参数为第二预设值,控制第一引导加载程序运行;14.若所述第一引导加载程序运行异常,将所述预设参数由第二预设值调整为第一预设值。15.进一步的,还包括:16.获得第一处理器或第二处理器输出的调整指令;17.基于所述调整指令将所述预设参数调整为第一预设值或第二预设值。18.进一步的,还包括:19.若确定所述预设参数由第二预设值调整为第一预设值,控制系统重新启动,以便于在所述系统启动过程中,所述第一处理器确定所述预设参数为第一预设值时,控制第一引导加载程序运行的过程中,存储所述第一引导加载程序运行时的运行数据。20.进一步的,所述存储所述第一引导加载程序运行时的运行数据,包括:21.所述第一处理器将所述运行数据发送至平台管理系统进行存储;22.和/或,23.所述第一处理器将所述运行数据存储至非易失性存储器。24.进一步的,所述控制系统重新启动,第一处理器或第二处理器读取并输出存储的所述第一引导加载程序运行时的运行数据,包括:25.在系统重新启动过程中,所述第一处理器通过读取模块读取存储的所述运行数据;26.将所述运行数据输出至串口终端,并存储至第一引导加载程序运行日志中。27.进一步的,所述控制系统重新启动,第一处理器或第二处理器读取并输出存储的所述第一引导加载程序运行时的运行数据,包括:28.在系统重新启动过程中,所述第一处理器将所述预设参数调整为第二预设值,控制第二引导加载程序运行;29.所述系统启动完成运行时,所述第二处理器读取并输出存储的所述运行数据。30.一种电子设备,包括:31.第一处理器,用于在系统启动过程中,控制第一引导加载程序运行;在所述第一引导加载程序输出运行数据时,确定预设参数是否为第一预设值,其中,所述预设参数用于表明第一引导加载程序是否处于待调试状态;若所述预设参数为第一预设值,控制第一引导加载程序运行的过程中,存储所述第一引导加载程序运行时的运行数据,以便于基于所述运行数据对所述第一引导加载程序进行调试;32.存储器,用于存储所述处理器执行上述处理过程的程序。33.一种可读存储介质,用于至少存储一组指令集;34.所述指令集用于被调用并至少执行如上任一项的系统启动的方法。35.从上述技术方案可以看出,本技术公开的系统启动方法及电子设备,系统启动过程中,控制第一引导加载程序运行,在第一引导加载程序输出运行数据时,第一处理器确定预设参数是否为第一预设值,预设参数用于表明第一引导加载程序是否处于待调试状态;若预设参数为第一预设值,控制第一引导加载程序运行的过程中,存储第一引导加载程序运行时的运行数据,以便于基于运行数据对第一引导加载程序进行调试。本方案中在系统启动过程中,当第一处理器确定第一引导加载程序处于待调试状态时,对第一引导加载程序运行时的运行数据进行存储,以便于能够调试人员能够直接基于存储的运行数据对第一引导加载程序进行调试,避免系统无法正常启动的问题。附图说明36.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。37.图1为本技术实施例公开的一种系统启动方法的流程图;38.图2为本技术实施例公开的一种第一引导加载程序、第一处理器及第二处理器的结构关系示意图;39.图3为本技术实施例公开的一种系统启动方法的流程图;40.图4为本技术实施例公开的一种系统启动方法的流程图;41.图5为本技术实施例公开的一种系统启动的流程示意图;42.图6为本技术实施例公开的一种系统启动方法的流程图;43.图7为本技术实施例公开的一种电子设备的结构示意图。具体实施方式44.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。45.本技术公开了一种系统启动方法,其流程图如图1所示,包括:46.步骤s11、系统启动过程中,控制第一引导加载程序运行;47.步骤s12、在第一引导加载程序输出运行数据时,第一处理器确定预设参数是否为第一预设值,其中,预设参数用于表明第一引导加载程序是否处于待调试状态;48.步骤s13、若预设参数为第一预设值,控制第一引导加载程序运行的过程中,存储第一引导加载程序运行时的运行数据,以便于基于运行数据对第一引导加载程序进行调试。49.第一引导加载程序bootloadler是在操作系统内核运行之前运行的一段程序,通过bootloadler能够初始化硬件设备、建立内存空间的映射图,从而使系统的软硬件环境达到一个适配的状态。50.系统启动过程中,第一处理器,即基本输入输出系统bios中的第一引导加载程序bootloadler加载运行时,无论是其中的第一阶段shim出现问题,还是第二阶段grub出现问题,都会出现与上述异常相关的调试信息不能被完整的输出到串口,从而导致调试信息不能被调试人员接收到,使系统无法正常启动。51.基于此,本方案中,在第一引导加载程序运行的过程中,若确定其处于待调试状态,则对其运行过程中的运行数据进行存储,以便于能够基于存储的运行数据对第一引导加载程序进行调试。52.具体的,在系统启动过程中,第一处理器bios启动时,第一引导加载程序运行,在第一引导加载程序运行的过程中,由第一处理器确定某个预设参数是否为第一预设值,若其为第一预设值,则表明第一引导加载程序处于待调试状态,需要对第一引导加载程序的运行数据进行存储;若其为非第一预设值,则表明当前第一引导加载程序无需进行调试,则第一引导加载程序正常运行,并继续启动后续系统启动流程。53.该预设参数为在统一的可扩展固件接口uefi中增加的变量debug,可为该变量设置默认值,如:false,当该变量为默认值时,为非第一预设值,无需对第一引导加载程序的运行数据进行存储;当该变量为第一预设值时,第一预设值如:true,此时,需要将第一引导加载程序的运行数据进行存储。54.需要说明的是,对第一引导加载程序的运行数据进行存储,并非一定是在第一引导加载程序运行出现异常时才会存储,但是必然是在该预设参数为第一预设值时才会对其运行数据进行存储,只要该预设参数为第一预设值,就会对第一引导加载程序的运行数据进行存储。55.如图2所示,包括:第一引导加载程序21,第一处理器22及第二处理器23。56.其中,第一引导加载程序bootloader是部分存储在第一处理器bios中,其余部分存储在第二处理器cpu中。在第一引导加载程序运行过程中能够执行第一阶段shim和第二阶段grub,在第一阶段shim和第二阶段grub中各设置一个调试开关,只有当两个调试开关均处于打开状态时,才能够对第一引导加载程序进行调试,本方案所公开的实施例均是在两个调试开关均处于打开的状态下实现的;另外,在第一引导加载程序中还需要设置预设参数debug,通过该预设参数的值确定是否需要对第一引导加载程序的运行数据进行存储。57.进一步的,第一引导加载程序bootloader中还可以增加一个写入模组writehandler,用于检查预设参数的值是否为第一预设值。该写入模组可以位于第一引导加载程序位于第一处理器bios中的部分,即写入模组是位于第一处理器中存储的部分第一引导加载程序中的。58.本实施例公开了一种系统启动方法,系统启动过程中,控制第一引导加载程序运行,在第一引导加载程序输出运行数据时,第一处理器确定预设参数是否为第一预设值,预设参数用于表明第一引导加载程序是否处于待调试状态;若预设参数为第一预设值,控制第一引导加载程序运行的过程中,存储第一引导加载程序运行时的运行数据,以便于基于运行数据对第一引导加载程序进行调试。本方案中在系统启动过程中,当第一处理器确定第一引导加载程序处于待调试状态时,对第一引导加载程序运行时的运行数据进行存储,以便于能够调试人员能够直接基于存储的运行数据对第一引导加载程序进行调试,避免系统无法正常启动的问题。59.本实施例公开了一种系统启动方法,其流程图如图3所示,包括:60.步骤s31、系统启动过程中,控制第一引导加载程序运行;61.步骤s32、在第一引导加载程序输出运行数据时,第一处理器确定预设参数是否为第一预设值,其中,预设参数用于表明第一引导加载程序是否处于待调试状态;62.步骤s33、若预设参数为第一预设值,控制第一引导加载程序运行的过程中,存储第一引导加载程序运行时的运行数据,以便于基于运行数据对第一引导加载程序进行调试;63.步骤s34、控制系统重新启动,第一处理器或第二处理器读取并输出存储的第一引导加载程序运行时的运行数据,以便于基于输出的运行数据对第一引导加载程序进行调试。64.其中,第一处理器与第二处理器不同,第二处理器用于控制系统启动后的运行。65.若确定预设参数为第一预设值,则第一引导加载程序处于待调试状态,则基于第一引导加载程序处于待调试状态,存储第一引导加载程序运行时的运行数据,对该运行数据的存储,是为了便于基于对存储的运行数据的读取能够对第一引导加载程序进行调试。66.在对第一引导加载程序的运行数据进行存储之后,会控制系统重新启动,以便于在重新启动的过程中,能够对存储的运行数据进行读取,而并非对第一引导加载程序再次运行。67.即在存储运行数据时系统的启动过程是直接对第一引导加载程序进行运行,在运行过程中确定其处于待调试状态,那么,在读取运行数据后,进行重新启动的过程中,则不能再次按照之前的流程控制第一引导加载程序运行,若再次控制第一引导加载程序运行,则仍会出现其处于待调试状态,而无法对系统正常启动的问题。因此,在对第一引导加载程序的运行数据进行存储之后,对其重新启动的过程中,则是直接读取运行数据,以便于基于运行数据进行调整,只有基于运行数据对第一引导加载程序进行调试之后,其预设参数才能够被调整回非第一预设值,此时,再次启动系统,控制第一引导加载程序运行时,检测到的预设参数为非第一预设值,才能够完成第一引导加载程序的正常启动流程,以实现对系统的正常启动。68.其中,在控制系统重新启动时,可以由第一处理器对存储的运行数据进行读取,也可以由第二处理器对存储的运行数据进行读取,第一处理器可以为:基本输入输出系统bios,第二处理器可以为中央处理器cpu,即可以在系统启动过程中对上一次启动过程中存储的第一引导加载程序的运行数据进行读取并输出,也可以为在系统启动完成之后对其进行读取并输出。69.第一处理器或第二处理器对存储的运行数据进行输出,可以为:第一处理器或第二处理器读取存储器中存储的上一次系统启动过程中第一引导加载程序的运行数据,并通过电子设备的显示屏输出,以便于操作人员能够基于显示屏输出的运行数据确定第一引导加载程序待调试的是哪些部分,或者,需要将第一引导加载程序调试至什么样的状态等。70.其中,将第一引导加载程序运行时的运行数据进行存储,可以通过第一处理器将其发送至平台管理系统进行存储,也可以将其存储至非易失性存储器中存储。71.平台管理系统即bmc,第一处理器通过与bmc连接的接口将第一引导加载程序的运行数据发送至bmc端,由bmc端完成存储,并能够在bmc端直接显示相关的运行数据。72.非易失性存储器为电子设备中的,第一处理器将运行数据写入非易失性存储器的接口可以复用acpi规范定义的某个特定规范中的serializationaction,该特定规范可以为:ersttable机制,该特定规范能够定义后端词组是什么设备。具体的数据写入可调用execute_operation所对应的方法,由该方法完成运行数据的转存。73.其中,具体的转存方法可根据acpi中定义的errorlogaddressrange所在的位置不同而不同,第一处理器可将运行数据存储至非易失性随机访问存储器nvram或者随机存储器ram中。74.如果是存储至nvram,第一引导加载程序的运行数据会直接被存储至非易失性存储器;如果是将运行数据存储至ram,由于ram只是一个中间缓存,第一处理器会将上述运行数据从ram中转存储至其他的非易失性存储器中,比如:硬盘harddisk,或者,通过网络存储起来,即存储至云端。75.本实施例公开了一种系统启动方法,系统启动过程中,控制第一引导加载程序运行,在第一引导加载程序输出运行数据时,第一处理器确定预设参数是否为第一预设值,预设参数用于表明第一引导加载程序是否处于待调试状态;若预设参数为第一预设值,控制第一引导加载程序运行的过程中,存储第一引导加载程序运行时的运行数据,以便于基于运行数据对第一引导加载程序进行调试。本方案中在系统启动过程中,当第一处理器确定第一引导加载程序处于待调试状态时,对第一引导加载程序运行时的运行数据进行存储,以便于能够调试人员能够直接基于存储的运行数据对第一引导加载程序进行调试,避免系统无法正常启动的问题。76.本实施例公开了一种系统启动方法,其流程图如图4所示,包括:77.步骤s41、系统启动过程中,控制第一引导加载程序运行;78.步骤s42、在第一引导加载程序输出运行数据时,第一处理器确定预设参数是否为第一预设值,其中,预设参数用于表明第一引导加载程序是否处于待调试状态;79.步骤s43、若预设参数为第一预设值,控制第一引导加载程序运行的过程中,存储第一引导加载程序运行时的运行数据,以便于基于运行数据对第一引导加载程序进行调试;80.步骤s44、控制系统重新启动,在系统重新启动过程中,第一处理器将预设参数调整为第二预设值,控制第二引导加载程序运行;81.步骤s45、系统启动完成运行时,第二处理器读取并输出存储的运行数据。82.在对第一引导加载程序的运行数据进行存储之后,若要实现对存储的运行数据的读取,需要控制系统重新启动,系统重新启动过程中,首先第一处理器运行,在第一处理器运行时,其首先将预设参数调整为第二预设值,即非第一预设值,以便于引导加载程序的正常运行,而不会由于预设参数为第一预设值而导致引导加载程序无法正常运行的问题。83.在将预设参数调整为第二预设值后,第一引导加载程序仍然为待调试的状态,因此,为了保证系统的正常启动,第一处理器控制第二引导加载程序的运行,该第二引导加载程序为除第一引导加载程序之外的、无需进行调试的、能够正常运行的引导加载程序。84.第一处理器控制第二引导加载程序运行,以保证系统的顺利启动完成,在系统启动完成后,其处于运行状态时,由第二处理器,即cpu控制系统的运行,则在保证系统正常运行的状态下,第二处理器可以直接从存储器或bmc中读取上一次启动系统的过程中存储的第一引导加载程序的运行数据,在读取该运行数据之后,对其进行显示,从而实现了在保证系统正常运行的过程中,能够对处于待调试状态的第一引导加载程序的运行数据进行读取并显示,以便于对该第一引导加载程序进行调试,以保证第一引导加载程序处于无需调试、能够正常运行的状态。85.第二处理器在读取存储的第一引导加载程序的运行数据时,可通过pstore架构将存储的运行数据以文件的形式展现出来。具体的,在操作系统启动的过程中,根据acpi的ersttable机制中定义的操作,确定是否有上一次系统启动过程中存储的第一引导加载程序的运行数据,若有,则通过发送get_record_identifier操作发送指令至第一处理器,以使第一处理器从errorlogaddressrange指定的后端非易失性存储器中读取第一引导加载程序的运行数据。86.进一步的,控制系统重新启动,第一处理器或第二处理器读取并输出存储的第一引导加载程序运行时的运行数据,还可以为:87.在系统重新启动过程中,第一处理器通过读取模块读取存储的运行数据,将运行数据输出至串口终端,并存储至第一引导加载程序运行日志中。88.在系统重新启动时,并不直接使系统在运行状态下读取上一次系统启动过程中第一引导加载程序的运行数据,而是在启动状态下,对该运行数据进行读取。89.具体的,在系统启动时,第一处理器首先通过读取模块readhandler读取存储的运行数据,当通过读取模块确定上一次系统启动过程中未存储有运行数据,则可确定当前第一引导加载程序无需进行调试,按照系统启动的正常流程,启动第一引导加载程序,使其正常运行,并使操作系统运行;90.当通过读取模块确定上一次系统启动过程中在非易失性存储器或bmc中存储有运行数据,则不再控制第一引导加载程序的启动,而是对该运行数据进行调取。91.也就是说,系统启动过程中,其正常启动流程示意图如图5所示,为:第一处理器bios运行,第一处理器中的读取模块readhandler运行,由读取模块确定非易失性存储器中是否存储有上一次系统启动过程中存储的第一引导加载程序的运行数据,如果没有,则读取模块会发指令至第一引导加载程序中的写入模块writehandler,此时第一引导加载程序bootloader运行,由写入模块判断预设参数debug是否为第一预设值;92.若预设参数为非第一预设值,即第二预设值,则第一引导加载程序正常运行,之后第二处理器cpu运行,即操作系统os正常运行;若预设参数为第一预设值,则会存储第一引导加载程序运行时的运行数据,以便于对系统重新启动时,能够对上一次系统启动时存储的第一引导加载程序的运行数据进行读取及输出;93.如果在第一处理器中的读取模块readhandler运行,其确定非易失性存储器中存储有上一次系统启动过程中存储的第一引导加载程序的运行数据,则对存储的该运行数据进行读取,并将其输出至串口终端,以便于操作人员能够基于输出至串口终端的该运行数据对第一引导加载程序进行调试,同时将该运行数据存储至第一引导加载程序运行日志中。94.也就是说,本实施例公开的系统启动方法中,在控制系统重新启动,读取并输出存储的第一引导加载程序运行时的数据时,可采用上述两种方式读取,即可采用能够正常运行的第二引导加载程序运行,并在系统启动完成后,由第二处理器读取并输出存储的运行数据;或者,可采用在系统重启过程中,第一处理器首先通过读取模块确定是否存储有运行数据,若存储有运行数据,则将其输出至串口终端,以便于基于该运行数据进行第一引导加载程序的调试。本方案中可采用上述任意一种方式实现对存储的运行数据的读取,可以为系统在重启过程中随机选取一种方式实现,也可以为基于预先设置的优选方式进行读取,在优选方式无法实现或者不具备执行条件时选用另一种方式读取。95.本实施例公开了一种系统启动方法,系统启动过程中,控制第一引导加载程序运行,在第一引导加载程序输出运行数据时,第一处理器确定预设参数是否为第一预设值,预设参数用于表明第一引导加载程序是否处于待调试状态;若预设参数为第一预设值,控制第一引导加载程序运行的过程中,存储第一引导加载程序运行时的运行数据,以便于基于运行数据对第一引导加载程序进行调试。本方案中在系统启动过程中,当第一处理器确定第一引导加载程序处于待调试状态时,对第一引导加载程序运行时的运行数据进行存储,以便于能够调试人员能够直接基于存储的运行数据对第一引导加载程序进行调试,避免系统无法正常启动的问题。96.本实施例公开了一种系统启动方法,其流程图如图6所示,包括:97.步骤s61、系统启动过程中,控制第一引导加载程序运行;98.步骤s62、在第一引导加载程序输出运行数据时,第一处理器确定预设参数是否为第一预设值,预设参数用于表明第一引导加载程序是否处于待调试状态;99.步骤s63、若预设参数为第二预设值,控制第一引导加载程序运行;若第一引导加载程序运行异常,将预设参数由第二预设值调整为第一预设值;100.步骤s64、若预设参数为第一预设值,控制第一引导加载程序运行的过程中,存储第一引导加载程序运行时的运行数据,以便于基于运行数据对第一引导加载程序进行调试。101.在预设参数为第二预设值时,即非第一预设值,此时,基于该预设参数的数值,可确定第一引导加载程序处于正常状态,无需进行调试,可正常运行,则第一处理器控制第一引导加载程序运行,以便于系统启动完成能够处于正常运行状态;102.预设参数为第一预设值,则基于该预设参数的数值,可确定第一引导加载程序处于待调试状态,不能够正常运行,此时,可存储第一引导加载程序运行时的运行数据,以便于能够基于该运行数据对第一引导加载程序进行调试。103.若第一处理器确定预设参数为第二预设值,则控制第一引导加载程序运行,在第一引导加载程序运行过程中,或者,在对预设参数进行确定时,检测到预设参数由第二预设值切换为第一预设值,则表明第一引导加载程序运行出现异常,需要对第一引导加载程序进行调试,则停止第一引导加载程序的启动运行,而是对第一引导加载程序的运行数据进行存储。104.即预设参数为第一预设值或第二预设值,其可以为基于第一引导加载程序是否能够正常运行确定,即系统自动对预设参数的值进行调整,当第一引导加载程序出现异常时,将预设参数的值设置为第一预设值;而当第一引导加载程序能够正常运行时,将预设参数的值设置为第二预设值。105.另外,还可以为:106.获得第一处理器或第二处理器输出的调整指令,基于调整指令将预设参数调整为第一预设值或第二预设值。107.即本实施例中,对预设参数值的调整,除可以基于系统对第一引导加载程序是否能够正常运行的判断自动实现,也可以由操作人员手动设置,即手动设置是否需要对第一引导加载程序是否处于待调试状态进行设置,对第一引导加载程序是否处于待调试状态进行设置,可以并非仅基于第一引导加载程序是否能够正常运行来确定,也可以基于设计需求或实验需求,通过对第一引导加载程序的调试实现对系统版本的更新等。108.手动设置预设参数的值,可以为在第一处理器上执行,即获得第一处理器输出的调整指令,也可以在第二处理器上执行,即获得第二处理器输出的调整指令。109.其中,获得第一处理器输出的调整指令,即在系统启动过程中,第一处理器接收到操作人员的调整操作,第一处理器输出该调整操作对应的调整指令,如图5中的settings,即操作人员在第一处理器上的输入,实现对预设参数debug的调整,其可以手动将预设参数调整为第一预设值,也可以手动将预设参数调整为第二预设值。110.获得第二处理器输出的调整指令,即在系统运行过程中,第二处理器接收到操作人员的调整操作,第二处理器输出该调整操作对应的调整指令至第一处理器中存储的预设参数,如图5中的utility,即操作人员在第二处理器上的输入,以此实现对预设参数debug的调整,其可以手动将预设参数调整为第一预设值,也可以手动将预设参数调整为第二预设值。111.进一步的,当第一处理器确定预设参数为第一预设值时,无论该第一预设值是系统自动调整实现的,还是操作人员手动操作实现的,只要确定预设参数为第一预设值,就控制系统重新启动,以便于在系统启动过程中,第一处理器确定预设参数为第一预设值时,控制第一引导加载程序运行的过程中,存储第一引导加载程序运行时的运行数据。112.即只要检测到预设参数为第一预设值,就需要对系统进行一次重新启动,以便于在重新启动后,能够在第一引导加载程序运行初期,就对其运行参数进行存储;当运行参数存储完成后,需要再次对系统进行重新启动,以便于在本次重新启动后,能够读取并输出上一次重新启动时存储的第一引导加载程序运行时的运行数据。113.也就是说,从检测到系统中的第一引导加载程序待调试开始,到对第一引导加载程序进行调试,至少需要对系统重新启动两次,才能够实现对第一引导加载程序的运行数据的输出。114.本实施例公开了一种系统启动方法,系统启动过程中,控制第一引导加载程序运行,在第一引导加载程序输出运行数据时,第一处理器确定预设参数是否为第一预设值,预设参数用于表明第一引导加载程序是否处于待调试状态;若预设参数为第一预设值,控制第一引导加载程序运行的过程中,存储第一引导加载程序运行时的运行数据,以便于基于运行数据对第一引导加载程序进行调试。本方案中在系统启动过程中,当第一处理器确定第一引导加载程序处于待调试状态时,对第一引导加载程序运行时的运行数据进行存储,以便于能够调试人员能够直接基于存储的运行数据对第一引导加载程序进行调试,避免系统无法正常启动的问题。115.本实施例公开了一种电子设备,其结构示意图如图7所示,包括:116.第一处理器71及存储器72。117.第一处理器71用于在系统启动过程中,控制第一引导加载程序运行;在第一引导加载程序输出运行数据时,确定预设参数是否为第一预设值,其中,预设参数用于表明第一引导加载程序是否处于待调试状态;若预设参数为第一预设值,控制第一引导加载程序运行的过程中,存储第一引导加载程序运行时的运行数据,以便于基于运行数据对所述第一引导加载程序进行调试;118.存储器72用于存储所述处理器执行上述处理过程的程序。119.进一步的,电子设备还可以包括:第二处理器,120.第一处理器控制系统重新启动,第一处理器或第二处理器读取并输出存储的第一引导加载程序运行时的运行数据,以便于基于输出的运行数据对所述第一引导加载程序进行调试;121.其中,第一处理器与第二处理器不同,第二处理器用于控制系统启动后的运行。122.进一步的,第一处理器还用于:在预设参数为第二预设值,控制第一引导加载程序运行;在第一引导加载程序运行异常,将预设参数由第二预设值调整为第一预设值。123.进一步的,第一处理器还用于:获得第一处理器或第二处理器输出的调整指令;基于调整指令将预设参数调整为第一预设值或第二预设值。124.进一步的,第一处理器还用于:若确定预设参数由第二预设值调整为第一预设值,控制系统重新启动,以便于在系统启动过程中,第一处理器确定预设参数为第一预设值时,控制第一引导加载程序运行的过程中,存储第一引导加载程序运行时的运行数据。125.进一步的,本实施例公开的电子设备还可以包括:平台管理系统bmc和/或非易失性存储器;126.第一处理器将运行数据发送至平台管理系统进行存储;和/或,第一处理器将运行数据存储至非易失性存储器。127.进一步的,第一处理器控制系统重新启动,第一处理器或第二处理器读取并输出存储的第一引导加载程序运行时的运行数据,包括:128.在系统重新启动过程中,第一处理器通过读取模块读取存储的运行数据;将运行数据输出至串口终端,并存储至第一引导加载程序运行日志中。129.进一步的,第一处理器控制系统重新启动,第一处理器或第二处理器读取并输出存储的第一引导加载程序运行时的运行数据,包括:130.在系统重新启动过程中,第一处理器将预设参数调整为第二预设值,控制第二引导加载程序运行;系统启动完成运行时,第二处理器读取并输出存储的运行数据。131.本实施例公开的电子设备是基于上述实施例公开的系统启动方法实现的,在此不再赘述。132.本实施例公开了一种电子设备,系统启动过程中,控制第一引导加载程序运行,在第一引导加载程序输出运行数据时,第一处理器确定预设参数是否为第一预设值,预设参数用于表明第一引导加载程序是否处于待调试状态;若预设参数为第一预设值,控制第一引导加载程序运行的过程中,存储第一引导加载程序运行时的运行数据,以便于基于运行数据对第一引导加载程序进行调试。本方案中在系统启动过程中,当第一处理器确定第一引导加载程序处于待调试状态时,对第一引导加载程序运行时的运行数据进行存储,以便于能够调试人员能够直接基于存储的运行数据对第一引导加载程序进行调试,避免系统无法正常启动的问题。133.本技术实施例还提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器加载并执行,实现上述系统启动方法的各步骤,具体实现过程可以参照上述实施例相应部分的描述,本实施例不做赘述。134.本技术还提出了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述基于系统启动方法方面或系统启动系统方面的各种可选实现方式中所提供方法,具体实现过程可以参照上述相应实施例的描述,不做赘述。135.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。136.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。137.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或
技术领域
:内所公知的任意其它形式的存储介质中。138.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献