CN110007974A - 应用于操作系统启动的方法和装置、及电子设备 - Google Patents

应用于操作系统启动的方法和装置、及电子设备 Download PDF

Info

Publication number
CN110007974A
CN110007974A CN201910255683.8A CN201910255683A CN110007974A CN 110007974 A CN110007974 A CN 110007974A CN 201910255683 A CN201910255683 A CN 201910255683A CN 110007974 A CN110007974 A CN 110007974A
Authority
CN
China
Prior art keywords
file
starting
volatile memory
memory modules
guidance
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.)
Granted
Application number
CN201910255683.8A
Other languages
English (en)
Other versions
CN110007974B (zh
Inventor
李小春
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201910255683.8A priority Critical patent/CN110007974B/zh
Publication of CN110007974A publication Critical patent/CN110007974A/zh
Application granted granted Critical
Publication of CN110007974B publication Critical patent/CN110007974B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本公开提供了一种应用于操作系统启动的方法。所述方法包括:将所述操作系统启动时需要使用的至少一个文件存储在非易失性存储模块中;生成启动引导文件,所述启动引导文件用于引导启动装载程序从所述非易失性存储模块中加载所述至少一个文件;以及在所述操作系统的启动过程中,基于所述启动引导文件的引导,所述启动装载程序从所述非易失性存储模块中加载所述至少一个文件。本公开还提供了一种应用于操作系统启动的装置、以及一种电子设备。

Description

应用于操作系统启动的方法和装置、及电子设备
技术领域
本公开涉及一种应用于操作系统启动的方法和装置、以及一种电子设备。
背景技术
现有技术中,在Linux操作系统的安装时,是将操作系统启动时需要使用的文件例如内核镜像文件和基于内存的文件系统initramfs文件等存储在硬盘等磁盘中。这样,在启动Linux操作系统时,常常需要反复多次从磁盘中读取相应的文件。例如通过启动装载程序Bootloader将操作系统启动过程中所需要的文件拷贝到内存中,然后通过CPU对内存访问来启动操作系统。然而,通过启动装载程序Bootloader从磁盘中把内核镜像文件和基于内存的文件系统initramfs文件等文件拷贝到内存的过程中,不仅需要启动装载程序对不同的文件系统支持,而且从磁盘拷贝到内存需要花费较长时间,尤其是当有些文件所占空间较大时(例如,initramfs文件),会导致操作系统的启动时间持续较长。
发明内容
本公开的一个方面提供了一种应用于操作系统启动的方法。所述方法包括:将所述操作系统启动时需要使用的至少一个文件存储在非易失性存储模块中;生成启动引导文件,所述启动引导文件用于引导启动装载程序从所述非易失性存储模块中加载所述至少一个文件;以及在所述操作系统的启动过程中,基于所述启动引导文件的引导,所述启动装载程序从所述非易失性存储模块中加载所述至少一个文件。
可选地,所述至少一个文件包括以下至少一个:内核镜像文件、基于内存的文件系统的文件、启动装载程序文件,以及基本输入输出程序的文件。
可选地,所述方法还包括将所述至少一个文件存储在磁盘中,及当在所述操作系统的启动过程中从所述非易失性存储模块中加载所述至少一个文件失败时,所述启动装载程序从所述磁盘中加载所述至少一个文件。
可选地,所述将所述至少一个文件存储在所述非易失性存储模块中,包括在所述操作系统的安装程序中配置支持所述非易失性存储模块的驱动的程序,以及在所述安装程序中设置控制单元,所述控制单元用于控制将所述至少一个文件存储至所述非易失性存储模块中。
可选地,所述将所述至少一个文件存储在所述非易失性存储模块中,还包括在所述安装程序中设置安装向导程序,所述安装向导程序用于创建所述非易失性存储模块的启动分区,其中,所述启动分区为所述非易失性存储模块中用于存储所述至少一个文件的分区。
本公开的另一方面,还提供了一种应用于操作系统启动的装置。所述装置包括存储单元、生成单元以及加载单元。所述存储单元用于将所述操作系统启动时需要使用的至少一个文件存储在非易失性存储模块中。所述生成单元用于生成启动引导文件,所述启动引导文件用于引导启动装载程序从所述非易失性存储模块中加载所述至少一个文件。所述加载单元用于在所述操作系统的启动过程中,基于所述启动引导文件的引导,所述启动装载程序从所述非易失性存储模块中加载所述至少一个文件。
可选地,所述非易失性存储模块包括非易失性双列直插式存储模块。
可选地,所述存储单元还用于将所述至少一个文件存储在磁盘中。所述加载单元还用于当在所述操作系统的启动过程中从所述非易失性存储模块中加载所述至少一个文件失败时,所述启动装载程序从所述磁盘中加载所述至少一个文件。
可选地,所述存储单元具体用于在所述操作系统的安装程序中配置支持所述非易失性存储模块的驱动的程序,以及在所述安装程序中设置控制单元,所述控制单元用于控制将所述至少一个文件存储至所述非易失性存储模块中。
本公开的另一方面,还提供了一种电子设备。所述电子设备包括非易失性存储模块、处理器、以及存储器。所述存储器上存储有可执行指令。所述指令被所述处理器执行时使所述处理器执行:将所述操作系统启动时需要使用的至少一个文件存储在非易失性存储模块中;生成启动引导文件,所述启动引导文件用于引导启动装载程序从所述非易失性存储模块中加载所述至少一个文件;以及在所述操作系统的启动过程中,基于所述启动引导文件的引导,所述启动装载程序从所述非易失性存储模块中加载所述至少一个文件。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的应用于操作系统启动的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的应用于操作系统启动的方法。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开一实施例的应用于操作系统启动的方法流程图;
图2示意性示出了根据本公开实施例的在操作系统安装过程中将至少一个文件存储在非易失性存储模块中的实现流程;
图3示意性示出了根据本公开另一实施例的应用于操作系统启动的方法流程图;
图4示意性示出了根据本公开实施例的方法在操作系统安装过程中的执行流程的一个实例;
图5示意性示出了示意性示出了根据本公开实施例的方法在图4之后的操作系统启动过程中的执行流程的一个实例;
图6示意性示出了根据本公开实施例的应用于操作系统启动的装置的框图;
图7示意性示出了根据本公开实施例的电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“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的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
本公开的实施例提供了一种应用于操作系统启动的方法和装置、以及一种电子设备。该方法包括:将操作系统启动时需要使用的至少一个文件存储在非易失性存储模块中;生成启动引导文件,该启动引导文件用于引导启动装载程序Bootloader从非易失性存储模块中加载该至少一个文件;以及在操作系统的启动过程中,基于该启动引导文件的引导,启动装载程序Bootloader从非易失性存储模块中加载该至少一个文件。
根据本公开的实施例,可以实现在操作系统启动过程中,由启动装载程序Bootloader从非易失性存储模块中加载该操作系统启动过程中需要使用的至少一个文件。以此方式,利用非易失性存储模块的非易失特性、以及读写速度快于磁盘的特性,可以加快操作系统的启动速度。
图1示意性示出了根据本公开一实施例的应用于操作系统启动的方法流程图。
如图1所示,该应用于操作系统启动的方法包括操作S101~操作S103。
在操作S101,将操作系统启动时需要使用的至少一个文件存储在非易失性存储模块中。操作S101可以是在操作系统的安装过程中执行。
根据本公开的实施例,该至少一个文件包括以下至少一个:内核镜像文件、基于内存的文件系统的文件(例如,initramfs文件)、启动装载程序文件(例如,存放于boot分区中的文件),以及基本输入输出程序的文件(例如,UEFI目录下的文件)等。
在操作S102,生成启动引导文件,该启动引导文件用于引导启动装载程序Bootloader从非易失性存储模块中加载该至少一个文件。操作S102可以是在操作系统的安装过程中执行。
在操作S103,在操作系统的启动过程中,基于该启动引导文件的引导,启动装载程序Bootloader从非易失性存储模块中加载该至少一个文件。
现有技术中,通常将操作系统启动时需要使用的文件都存储在磁盘里,这样在操作启动时需要从磁盘中读取这些文件。而本公开实施例中,将操作系统启动时需要使用的至少一个文件存储在非易失性存储模块中,并生成用于引导启动装载程序Bootloader的启动引导文件,使得通过该启动引导文件的引导在操作系统启动过程中可以从非易失性存储模块中加载该至少一个文件。其中,非易失性存储模块不仅具有非易失特性,而且还可以具有比磁盘更快的读写速度。以此方式,可以加快操作系统的启动速度,尤其是当该至少一个文件占用的空间比较大时。
非易失性存储模块可以具有比磁盘更快的读写速度,具体可以表现在读写粒度、接口设计以及软件设计等多个层面。首先在读写粒度上,非易失性存储模块可以一个字节一个字节地读写,而磁盘需要一个扇区一个扇区地读写,因此,非易失性存取模块可以具有比磁盘更小的读写粒度,进而可以具有更灵活的读写调度方式。其次在接口设计上,非易失性存储模块可以具有与内存插槽相匹配的接口,从而非易失性存储模块可以插在内存插槽上。而磁盘使用的是例如高速串行计算机扩展总线标准(peripheral componentinterconnect express,PCI-E)接口。由于内存插槽的数据带宽可以明显大于PCI-E接口的数据带宽,因而非易失性存储模块的读写数据带宽可以明显大于磁盘的读写数据带宽。再次在软件设计层面上,针对非易失性存储模块的读写粒度、调度方式、以及所具有的接口,可以适应性设计各相应的软件驱动、文件系统以及调度方式等,以最大化发挥出非易失性存储模块的快速读写性能。
在本公开的一个实施例中,该非易失性存储模块可以是非易失性双列直插式存储模块NVDIMM。
图2示意性示出了根据本公开实施例的操作S101中将至少一个文件存储在非易失性存储模块中的实现流程。
如图2所示,操作S101可以包括操作S211~操作S231。
在操作S211,在操作系统的安装程序中配置支持非易失性存储模块的驱动的程序。例如,可以修改该操作系统的安装程序中的安装内核,在其中配置支持该非易失性存储模块的驱动程序。
在操作S221,在该安装程序中设置安装向导程序,该安装向导程序用于创建非易失性存储模块的启动分区,其中,该启动分区为非易失性存储模块中用于存储该至少一个文件的分区。例如,该安装向导程序可以在操作系统的安装过程中调用ipmctl和ndctl工具完成该启动分区的创建(例如创建region和namespace),并格式化该启动分区。
在操作S231,在该安装程序中设置控制单元,该控制单元用于控制将该至少一个文件存储至非易失性存储模块中。例如,可以修改操作系统的安装镜像文件中生成的kernel包,在其中设置控制单元。具体操作可以是在编译内核的spec脚本中,通过修改安装部分的脚本来增加该控制单元。该控制单元可以在操作系统的安装过程中在检测到非易失性存储模块时,控制将至少一个文件存储至非易失性存储模块的启动分区中。
图3示意性示出了根据本公开另一实施例的应用于操作系统启动的方法流程图。
如图3所示,根据本公开的实施例该用于操作系统启动的方法除了操作S101~操作S103以外,还可以包括操作S301~操作S303。
具体地,在操作S301,将该至少一个文件存储在磁盘中。操作S301可以在操作系统的安装过程中执行。
在操作S302,获得操作系统在启动过程中从非易失性存储模块中加载该至少一个文件失败的信息。例如,当从非易失性存储模块中加载该至少一个文件失败时,启动装载程序Bootloader收到用于表征该失败的代码等。
在操作S303,启动装载程序Bootloader从磁盘中加载该至少一个文件。
根据本公开的实施例,在将该至少一个文件存储在非易失性存储模块的同时,也在磁盘中进行存储能够有效地起到备份作用。从而,当在操作系统启动过程中从非易失性存储模块中加载该至少一个文件失败时,可以从磁盘中加载该至少一个文件,能够有效地保证操作系统的正常启动,避免因为从非易失性存储模块中加载该至少一个文件失败导致操作系统启动中断的问题。
图4示意性示出了根据本公开实施例的方法在操作系统安装过程中的执行流程的一个实例。在该实例中,非易失性存储模块具体被示例为NVDIMM。需要说明的是,图4仅是本公开实施例的方法在安装过程中的一个示例,不对本公开构成任何限定。
如图4所示,安装开始后,首先启动安装内核,准备安装操作系统。
接下来,若执行过操作S211(即在操作系统的安装程序中配置了支持NVDIMM的驱动的程序),可以检测到NVDIMM。然后,可以根据用户选择来确定是否需要将该至少一个文件存储到NVDIMM中。当确定需要将该至少一个文件存储到NVDIMM中时,操作系统将创建并设置NVDIMM的启动分区。具体地,操作系统将创建并设置NVDIMM的启动分区的过程,例如可以是:调用操作S221中设置的安装向导程序,然后通过该安装向导程序调用ipmctl和ndctl工具来创建NVDIMM启动分区region和namespace的创建,并设置NVDIMM启动分区的大小,并格式化该NVDIMM启动分区。
另外在该实例中,无论用户是否需要将该至少一个文件存储到NVDIMM中,操作系统都会同时设置磁盘的启动分区。本实例的这种方案,是为了在磁盘中存储该至少一个文件形成备份,并提供给用户多种安装选择。
当NVDIMM的启动分区和磁盘的启动分区都设置完成并格式化之后,开始安装操作系统。此时,如果检测到NVDIMM启动分区,则可以调用操作S231中设置的控制单元,通过该控制单元的控制将该至少一个文件存储到NVDIMM启动分区中。至此就完成了上述操作S101,在操作系统启动过程中将该至少一个文件存储到NVDIMM启动分区中。
如果没有检测到NVDIMM启动分区,则将该至少一个文件存储的磁盘的启动分区中。类似地,该实例中为了起到多重备份以及为用户提供更多选择,在将该至少一个文件存储到NVDIMM启动分区的同时仍在磁盘中启动分区中存储该至少一个文件。
此后,可以在操作S102生成启动引导文件,该启动引导文件用于引导启动装载程序Bootloader从非易失性存储模块中加载该至少一个文件。
接着继续操作系统的其他模块安装,直到安装结束。
图5示意性示出了示意性示出了根据本公开实施例的方法在图4之后的操作系统启动过程中的执行流程的一个实例。
如图5所示,操作系统启动开始后,首先启动BIOS对系统初始化,然后启动Bootloader。此时BIOS将系统的控制权限交给Bootloader。
然后Bootloader执行操作S103,即基于图4中生成的启动引导文件的引导,从NVDIMM中加载该至少一个文件。若加载成功,则继续操作系统启动直到启动完成;若加载失败,则从磁盘中加载该至少一个文件。如果从磁盘加载该至少一个文件成功,则继续操作系统启动直到启动完成;如果从磁盘加载该至少一个文件也失败,此时返回到Bootloader进行中断处理等。
图6示意性示出了根据本公开实施例的应用于操作系统启动的装置600的框图。
如图6所示,该应用于操作系统启动的装置600包括存储单元610、生成单元620以及加载单元630。该装置600可以用于执行参考图1~图5所描述的方法流程,实现在操作系统启动过程中从非易失性存储模块中加载该至少一个文件,从而加快操作系统的启动速度。
具体地,存储单元610例如可以执行操作S101,用于将操作系统启动时需要使用的至少一个文件存储在非易失性存储模块中。生成单元620例如可以执行操作S102,用于生成启动引导文件,该启动引导文件用于引导启动装载程序Bootloader从非易失性存储模块中加载该至少一个文件。加载单元630例如可以执行操作S103,用于在操作系统的启动过程中,基于该启动引导文件的引导,启动装载程序Bootloader从非易失性存储模块中加载该至少一个文件。根据本公开的实施例,非易失性存储模块包括非易失性双列直插式存储模块NVDIMM。
根据本公开的实施例,存储单元610具体例如可以执行操作S211~操作S231,用于在操作系统的安装程序中配置支持非易失性存储模块的驱动的程序,在该安装程序中设置安装向导程序,该安装向导程序用于创建非易失性存储模块的启动分区,以及在该安装程序中设置控制单元,该控制单元用于控制将该至少一个文件存储至非易失性存储模块中。
根据本公开的实施例,存储单元610例如还可以执行操作S301,还用于将该至少一个文件存储在磁盘中。加载单元630例如还可以执行操作S302和操作S303,用于当在操作系统的启动过程中从非易失性存储模块中加载该至少一个文件失败时,启动装载程序Bootloader从磁盘中加载该至少一个文件。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,存储单元610、生成单元620以及加载单元630中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,存储单元610、生成单元620以及加载单元630中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,存储单元610、生成单元620以及加载单元630中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图7示意性示出了根据本公开实施例的电子设备700的框图。图7示出的电子设备700仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,电子设备700包括处理器710、计算机可读存储介质720、以及非易失性存储模块730。该电子设备700可以执行根据本公开实施例的方法。
具体地,处理器710例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器710还可以包括用于缓存用途的板载存储器。处理器710可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质720,例如可以是非易失性的计算机可读存储介质,具体示例包括但不限于:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;等等。
计算机可读存储介质720可以包括计算机程序721,该计算机程序721可以包括代码/计算机可执行指令,其在由处理器710执行时使得处理器710执行根据本公开实施例的方法或其任何变形。
计算机程序721可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序721中的代码可以包括一个或多个程序模块,例如包括721A、模块721B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器710执行时,使得处理器710可以执行根据本公开实施例的方法或其任何变形。
根据本公开的实施例,该非易失性存储模块730例如可以是非易失性双列直插式存储模块NVDIMM等非易失性存储模块。
根据本发明的实施例,存储单元610、生成单元620以及加载单元630中的至少一个可以实现为参考图7描述的计算机程序模块,其在被处理器710执行时,可以实现上面描述的相应操作。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

Claims (10)

1.一种应用于操作系统启动的方法,包括:
将所述操作系统启动时需要使用的至少一个文件存储在非易失性存储模块中;
生成启动引导文件,所述启动引导文件用于引导启动装载程序从所述非易失性存储模块中加载所述至少一个文件;以及
在所述操作系统的启动过程中,基于所述启动引导文件的引导,所述启动装载程序从所述非易失性存储模块中加载所述至少一个文件。
2.根据权利要求1所述的方法,其中,所述至少一个文件包括以下至少一个:
内核镜像文件、基于内存的文件系统的文件、启动装载程序文件,以及基本输入输出程序的文件。
3.根据权利要求1所述的方法,还包括:
将所述至少一个文件存储在磁盘中;以及
当在所述操作系统的启动过程中从所述非易失性存储模块中加载所述至少一个文件失败时,所述启动装载程序从所述磁盘中加载所述至少一个文件。
4.根据权利要求1所述的方法,其中,所述将所述至少一个文件存储在所述非易失性存储模块中,包括:
在所述操作系统的安装程序中配置支持所述非易失性存储模块的驱动的程序;以及
在所述安装程序中设置控制单元,所述控制单元用于控制将所述至少一个文件存储至所述非易失性存储模块中。
5.根据权利要求4所述的方法,其中,所述将所述至少一个文件存储在所述非易失性存储模块中,还包括:
在所述安装程序中设置安装向导程序,所述安装向导程序用于创建所述非易失性存储模块的启动分区,其中,所述启动分区为所述非易失性存储模块中用于存储所述至少一个文件的分区。
6.一种应用于操作系统启动的装置,包括:
存储单元,用于将所述操作系统启动时需要使用的至少一个文件存储在非易失性存储模块中;
生成单元,用于生成启动引导文件,所述启动引导文件用于引导启动装载程序从所述非易失性存储模块中加载所述至少一个文件;以及
加载单元,用于在所述操作系统的启动过程中,基于所述启动引导文件的引导,所述启动装载程序从所述非易失性存储模块中加载所述至少一个文件。
7.根据权利要求6所述的装置,其中,所述非易失性存储模块包括非易失性双列直插式存储模块。
8.根据权利要求6所述的装置,其中:
所述存储单元还用于将所述至少一个文件存储在磁盘中;以及
所述加载单元还用于当在所述操作系统的启动过程中从所述非易失性存储模块中加载所述至少一个文件失败时,所述启动装载程序从所述磁盘中加载所述至少一个文件。
9.根据权利要求6所述的装置,其中,所述存储单元具体用于:
在所述操作系统的安装程序中配置支持所述非易失性存储模块的驱动的程序;以及
在所述安装程序中设置控制单元,所述控制单元用于控制将所述至少一个文件存储至所述非易失性存储模块中。
10.一种电子设备,包括:
非易失性存储模块;
处理器;以及
存储器,其上存储有可执行指令,所述指令被所述处理器执行时使所述处理器执行:
将所述操作系统启动时需要使用的至少一个文件存储在非易失性存储模块中;
生成启动引导文件,所述启动引导文件用于引导启动装载程序从所述非易失性存储模块中加载所述至少一个文件;以及
在所述操作系统的启动过程中,基于所述启动引导文件的引导,所述启动装载程序从所述非易失性存储模块中加载所述至少一个文件。
CN201910255683.8A 2019-03-29 2019-03-29 应用于操作系统启动的方法和装置、及电子设备 Active CN110007974B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910255683.8A CN110007974B (zh) 2019-03-29 2019-03-29 应用于操作系统启动的方法和装置、及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910255683.8A CN110007974B (zh) 2019-03-29 2019-03-29 应用于操作系统启动的方法和装置、及电子设备

Publications (2)

Publication Number Publication Date
CN110007974A true CN110007974A (zh) 2019-07-12
CN110007974B CN110007974B (zh) 2021-02-19

Family

ID=67169313

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910255683.8A Active CN110007974B (zh) 2019-03-29 2019-03-29 应用于操作系统启动的方法和装置、及电子设备

Country Status (1)

Country Link
CN (1) CN110007974B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110633223A (zh) * 2019-09-18 2019-12-31 北京机电工程研究所 面向高速信号平台的多级内存管理方法
CN111966051A (zh) * 2020-07-02 2020-11-20 佛山科学技术学院 一种工业操作系统的快速加载方法及系统
CN112181507A (zh) * 2020-10-23 2021-01-05 北京安石科技有限公司 与操作系统融合的方法及系统
CN113064638A (zh) * 2019-12-31 2021-07-02 意法半导体(鲁塞)公司 嵌入式系统
CN114064136A (zh) * 2021-11-15 2022-02-18 西安诺瓦星云科技股份有限公司 双备份系统启动方法、装置、嵌入式设备和电子设备
CN114610527A (zh) * 2021-03-30 2022-06-10 深圳宏芯宇电子股份有限公司 存储装置、计算机系统、启动方法及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1598773A (zh) * 2003-09-17 2005-03-23 三星电子株式会社 启动和启动代码更新方法以及其系统
CN103914658A (zh) * 2013-01-05 2014-07-09 展讯通信(上海)有限公司 终端设备的安全启动方法及终端设备
CN108762828A (zh) * 2018-04-24 2018-11-06 桂林长海发展有限责任公司 一种dsp多核阵列二级启动方法和装置
CN109063488A (zh) * 2018-08-03 2018-12-21 中国航空工业集团公司雷华电子技术研究所 一种PowerPC备份系统安全自启动方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1598773A (zh) * 2003-09-17 2005-03-23 三星电子株式会社 启动和启动代码更新方法以及其系统
CN103914658A (zh) * 2013-01-05 2014-07-09 展讯通信(上海)有限公司 终端设备的安全启动方法及终端设备
CN108762828A (zh) * 2018-04-24 2018-11-06 桂林长海发展有限责任公司 一种dsp多核阵列二级启动方法和装置
CN109063488A (zh) * 2018-08-03 2018-12-21 中国航空工业集团公司雷华电子技术研究所 一种PowerPC备份系统安全自启动方法及系统

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110633223A (zh) * 2019-09-18 2019-12-31 北京机电工程研究所 面向高速信号平台的多级内存管理方法
CN110633223B (zh) * 2019-09-18 2021-07-13 北京机电工程研究所 面向高速信号平台的多级内存管理方法
CN113064638A (zh) * 2019-12-31 2021-07-02 意法半导体(鲁塞)公司 嵌入式系统
CN113064638B (zh) * 2019-12-31 2024-06-11 质子世界国际公司 嵌入式系统
CN111966051A (zh) * 2020-07-02 2020-11-20 佛山科学技术学院 一种工业操作系统的快速加载方法及系统
CN112181507A (zh) * 2020-10-23 2021-01-05 北京安石科技有限公司 与操作系统融合的方法及系统
CN114610527A (zh) * 2021-03-30 2022-06-10 深圳宏芯宇电子股份有限公司 存储装置、计算机系统、启动方法及存储介质
CN114064136A (zh) * 2021-11-15 2022-02-18 西安诺瓦星云科技股份有限公司 双备份系统启动方法、装置、嵌入式设备和电子设备
CN114064136B (zh) * 2021-11-15 2024-06-04 西安诺瓦星云科技股份有限公司 双备份系统启动方法、装置、嵌入式设备和电子设备

Also Published As

Publication number Publication date
CN110007974B (zh) 2021-02-19

Similar Documents

Publication Publication Date Title
CN110007974A (zh) 应用于操作系统启动的方法和装置、及电子设备
US20160350099A1 (en) Application deployment to virtual machines
US20120117555A1 (en) Method and system for firmware rollback of a storage device in a storage virtualization environment
US10754558B2 (en) Vehicular device
US8639973B2 (en) System reset
US9053064B2 (en) Method for saving virtual machine state to a checkpoint file
US20140164723A1 (en) Method for restoring virtual machine state from a checkpoint file
US20130111470A1 (en) Duration Sensitive Scheduling In A Computing Environment
WO2015147981A1 (en) Initialization trace of a computing device
US8370617B2 (en) Booting method and computer system using the booting method
US20060149899A1 (en) Method and apparatus for ongoing block storage device management
EP3989052A1 (en) Method of operating storage device and method of operating storage system using the same
US8661237B2 (en) System and method for booting a plurality of servers from a shared boot image stored on a USB boot image sharer
KR102205899B1 (ko) 메모리의 뱅크 충돌을 방지하기 위한 방법 및 장치
US10185573B2 (en) Caching based operating system installation
US8291206B2 (en) Method for booting computer system
US8239428B2 (en) Method for copying data from source hard drive to target hard drive
US20210181977A1 (en) Optimizing atomic writes to a storage device
CN101604253A (zh) 计算机系统及启动方法
US10521156B2 (en) Apparatus and method of managing multi solid state disk system
US10990482B2 (en) Partition level restore
US6971003B1 (en) Method and apparatus for minimizing option ROM BIOS code
US10592425B2 (en) Virtualizing NVDIMM WPQ flushing with minimal overhead
US20200371694A1 (en) System and Method for Persistent Memory Rotation Based on Remaining Write Endurance
JP7522775B2 (ja) 不揮発性記憶区画識別子

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