CN112988252B - 一种操作系统启动方法及计算设备 - Google Patents

一种操作系统启动方法及计算设备 Download PDF

Info

Publication number
CN112988252B
CN112988252B CN202110451981.1A CN202110451981A CN112988252B CN 112988252 B CN112988252 B CN 112988252B CN 202110451981 A CN202110451981 A CN 202110451981A CN 112988252 B CN112988252 B CN 112988252B
Authority
CN
China
Prior art keywords
operating system
root file
target
file system
kernel
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
Application number
CN202110451981.1A
Other languages
English (en)
Other versions
CN112988252A (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.)
Uniontech Software Technology Co Ltd
Original Assignee
Uniontech Software Technology Co 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 Uniontech Software Technology Co Ltd filed Critical Uniontech Software Technology Co Ltd
Priority to CN202110855847.8A priority Critical patent/CN113434205B/zh
Priority to CN202110451981.1A priority patent/CN112988252B/zh
Publication of CN112988252A publication Critical patent/CN112988252A/zh
Application granted granted Critical
Publication of CN112988252B publication Critical patent/CN112988252B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F9/4408Boot device selection

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

本发明公开了一种操作系统启动方法,在计算设备中执行,计算设备的储存设备中包括本地操作系统,本地操作系统中包括目标根文件系统对应的压缩文件,方法包括:启动目标操作系统的启动项;将本地操作系统的内核和临时根文件系统加载到内存,以便基于临时根文件系统挂载本地操作系统的根文件系统;将目标根文件系统对应的压缩文件加载到内存,以便挂载目标根文件系统;将本地操作系统在启动过程中需求的一个或多个内核模块拷贝到内存中的目标根文件系统中,以便目标操作系统调用与本地操作系统相同的内核模块。本发明还公开了相应的计算设备。根据本发明的操作系统启动方法,不依赖额外的存储介质,可以基于本地操作系统来引导Live操作系统启动。

Description

一种操作系统启动方法及计算设备
技术领域
本发明涉及操作系统技术领域,特别涉及一种操作系统启动方法及计算设备。
背景技术
Live操作系统是完整的可启动的计算机操作系统,并且,Live操作系统是一个最小化的完整的Linux操作系统,其中包括一个完整的根文件系统、一个可引导Linux内核的启动管理器。Live操作系统允许用户出于任何目的运行操作系统,而无需在计算机中安装操作系统或对计算机的配置进行任何更改。Live系统可以在没有辅助存储(例如硬盘驱动器)、硬盘驱动器损坏或者文件系统损坏的计算机中运行,从而可以恢复数据。
现有技术中, Live操作系统的启动基于标准的Linux系统启动流程,与标准的Linux系统启动的不同之处在于,Live系统需要额外的存储介质进行存储,一般是从CD-ROM或类似存储设备加载到计算机内存中,而不是从计算机的硬盘驱动器中加载。具体地,Live操作系统的启动包括以下步骤:首先要选择Live操作系统所在的存储介质为启动盘;引导程序加载内核及initramfs,建立虚拟根目录,并加载必须的驱动;查找SquashFS文件并加载进内存中;挂载内存中的根文件系统,并调用init脚本对操作系统进行初始化,完成Live系统的启动。
基于上述方案,Live系统的启动需要额外的存储介质,在缺少存储介质的情况下,就无法使用上述方案。另外,当硬件未适配时就无法使用,维护成本较高。
为此,需要一种操作系统启动方法,以解决上述技术方案中存在的问题。
发明内容
为此,本发明提供一种操作系统启动方法,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供了一种操作系统启动方法,在计算设备中执行,所述计算设备的储存设备中包括本地操作系统,所述本地操作系统中包括目标根文件系统对应的压缩文件,所述方法包括步骤:启动目标操作系统的启动项;将本地操作系统的内核和临时根文件系统加载到内存,以便基于所述临时根文件系统挂载本地操作系统的根文件系统;将所述目标根文件系统对应的压缩文件加载到内存,以便挂载目标根文件系统;以及将本地操作系统在启动过程中需求的一个或多个内核模块拷贝到所述内存中的目标根文件系统中,以便目标操作系统调用与本地操作系统相同的内核模块。
可选地,在根据本发明的操作系统启动方法中,在将本地操作系统的内核和临时根文件系统加载到内存之后,还包括步骤:基于所述本地操作系统的临时根文件系统在内存中生成虚拟根文件系统;基于所述虚拟根文件系统挂载本地操作系统的根文件系统;根据挂载后的根文件系统,基于相应的路径从所述本地操作系统中获取目标根文件系统对应的压缩文件。
可选地,在根据本发明的操作系统启动方法中,将本地操作系统在启动过程中需求的一个或多个内核模块拷贝到内存中的目标根文件系统中包括:将本地操作系统的根文件系统中的/lib/modules目录下的内容拷贝到目标操作系统的目标根文件系统中的相应目录。
可选地,在根据本发明的操作系统启动方法中,在将本地操作系统的内核和临时根文件系统挂载到内存之前,包括步骤:构建与目标操作系统相对应的目标根文件系统;基于所述目标根文件系统生成相应的压缩文件,并将所述压缩文件存储到计算设备的本地操作系统中。
可选地,在根据本发明的操作系统启动方法中,在基于所述目标根文件系统生成相应的压缩文件之前,配置目标操作系统的启动项,包括步骤:指定目标操作系统启动的内核、临时根文件系统分别与本地操作系统的内核、临时根文件系统相同;指定引导程序是目标操作系统的引导方式。
可选地,在根据本发明的操作系统启动方法中,在将一个或多个内核模块拷贝到所述内存中的目标根文件系统中之后,还包括步骤:卸载所述本地操作系统的根文件系统。
可选地,在根据本发明的操作系统启动方法中,所述目标操作系统为Live操作系统。
可选地,在根据本发明的操作系统启动方法中,所述临时根文件系统是initramfs;所述压缩文件为SquashFS。
根据本发明的一个方面,提供了一种计算设备,包括:至少一个处理器;以及存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如上所述的操作系统启动方法的指令。
根据本发明的一个方面,提供了一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如上所述方法。
根据本发明的技术方案,提供了一种操作系统启动方法,通过将Live操作系统的压缩文件存储在计算设备本地的储存设备中,不依赖额外的存储介质来存储Live操作系统。根据预先配置的目标操作系统的启动项,在引导目标操作系统启动时,是通过引导本地操作系统的内核和临时根文件系统来引导目标操作系统启动,从而实现从本地操作系统引导Live操作系统启动,Live操作系统可以与本地操作系统共用内核。
并且,本发明通过将本地操作系统在启动过程中需求的一个或多个内核模块拷贝到内存中的目标根文件系统中,使得目标操作系统在启动过程中可以调用与本地操作系统相同的内核模块。这样,本发明实现了Live操作系统与本地操作系统共用内核模块,通过使用本地操作系统启动过程中需求的一个或多个内核模块,来启动目标操作系统。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的计算设备100的示意图;以及
图2示出了根据本发明一个实施例的操作系统启动方法200的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1是示例计算设备100的示意框图。
如图1所示,在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器(UP)、微控制器(UC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据124。在一些实施方式中,应用122可以布置为在操作系统上由一个或多个处理器104利用程序数据124执行指令。
计算设备100还可以包括储存接口总线134。储存接口总线134实现了从储存设备132(例如,可移除储存器136和不可移除储存器138)经由总线/接口控制器130到基本配置102的通信。操作系统120、应用122以及数据124的至少一部分可以存储在可移除储存器136和/或不可移除储存器138上,并且在计算设备100上电或者要执行应用122时,经由储存接口总线134而加载到系统存储器106中,并由一个或者多个处理器104来执行。
计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以是这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中以编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备100可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。当然, 计算设备100也可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是诸如蜂窝电话、数码照相机、个人数字助理(PDA)、个人媒体播放器设备、无线网络浏览设备、个人头戴设备、应用专用设备、或者可以包括上面任何功能的混合设备。甚至可以被实现为服务器,如文件服务器、数据库服务器、应用程序服务器和WEB服务器等。本发明的实施例对此均不做限制。
在根据本发明的实施例中,计算设备100被配置为执行根据本发明的操作系统启动方法200。其中,计算设备100中包含执行根据本发明的操作系统启动方法200的多条程序指令,使得本发明的操作系统启动方法200可以在计算设备中执行。
图2示出了根据本发明一个实施例的操作系统启动方法200的流程图。应当指出,在本发明的具体实施例中,仅以Live操作系统作为目标操作系统来对本发明的操作系统启动方法进行详细说明,但本发明的操作系统启动策略并不限于Live操作系统。
应当指出,计算设备100本地的储存设备(例如硬盘)中包括本地操作系统,本地操作系统例如是Linux操作系统,但不限于此。根据本发明的方法200,可以基于在安装有本地操作系统的计算设备100中存储和启动目标操作系统,目标操作系统的存储不依赖于计算设备外部的存储介质。
如图2所示,方法200始于步骤S210。在步骤S210中,启动目标操作系统的启动项,以便基于目标操作系统的启动项来引导目标操作系统的启动。在一个实施例中,目标操作系统可以是Live操作系统。
需要说明的是,Live操作系统是最小化的基于Linux内核的操作系统。现有技术中,Live操作系统需要基于计算设备外部的存储介质进行存储, Live操作系统的启动需指定Live操作系统所在的存储介质为启动盘。
根据本发明的一个实施例,预先构建目标操作系统(Live系统)对应的目标根文件系统,基于目标根文件系统生成相应的压缩文件,例如可以基于squashfs-tools对目标根文件系统进行压缩生成SquashFS文件。随后,将目标根文件系统的压缩文件SquashFS存储到计算设备100的本地操作系统中。这样,便实现了将Live操作系统的压缩文件存储在计算设备本地的储存设备中,不依赖额外的存储介质来存储Live操作系统。
另外,根据一个实施例,在构建目标根文件系统后,还基于启动管理器配置目标操作系统的启动项。具体地,指定目标操作系统启动的内核、临时根文件系统分别与本地操作系统的内核、临时根文件系统相同。即,指定目标操作系统启动的内核与本地操作系统的内核是同一个文件,并指定目标操作系统启动的临时根文件系统与本地操作系统的临时根文件系统是同一个文件。指定目标根文件系统的路径(与其压缩文件存储在本地操作系统中的相应位置相对应),这样,在启动目标操作系统时可以基于相应的路径获取目标根文件系统的压缩文件。并且,指定操作系统引导程序是目标操作系统对应的引导程序,以便基于与目标操作系统相对应的引导方式来引导目标操作系统(Live系统)启动。
这里,启动管理器可以实现为Syslinux、GRUB、GRUB Legacy、LILO等,但应当指出,本发明对启动管理器的具体种类不做限制。
在一种实施方式中,可以基于GRUB启动管理器来引导目标操作系统启动。需要说明的是,GRUB启动管理器的主要配置文件是/boot/grub/grub.cfg。GRUB的/etc/grub.d目录中包含所有GRUB需要使用的脚本,这些脚本文件是创建grub.cfg的基础。在基于GRUB启动管理器配置目标操作系统的启动项时,是基于grub.d文件夹中的脚本来更新GRUB的配置文件/boot/grub/grub.cfg。具体地,通过在grub.d文件夹中新增脚本的方式,来添加Live系统的启动项,添加的启动项即是上述配置的与目标操作系统相对应的启动项。也就是说,基于指定的目标操作系统启动的内核、临时根文件系统、引导方式等配置信息生成相应的脚本文件,将脚本文件添加到/etc/grub.d目录中,并通过更新/boot/grub/grub.cfg文件,来实现在GRUB启动管理器中配置目标操作系统的启动项。
基于此,可以基于本地磁盘来启动目标操作系统,具体地,在本地磁盘的启动管理器选择启动与目标操作系统的启动项来启动目标操作系统。通过启动目标操作系统的启动项,在基于指定的引导文件引导目标操作系统启动时,是通过引导本地操作系统的内核和临时根文件系统来引导目标操作系统启动,以实现从本地操作系统引导Live操作系统启动。具体参见下文步骤中的相关描述。
在步骤S220中,将本地操作系统的内核和临时根文件系统加载到内存。应当指出,通过加载本地操作系统的内核,可以使目标操作系统使用本地操作系统的内核,实现与本地操作系统共用内核。通过加载本地操作系统的临时根文件系统,可以实现挂载本地操作系统的根文件系统。
具体地,在将本地操作系统的内核和临时根文件系统加载到内存之后,基于本地操作系统的临时根文件系统(initramfs)在内存中生成虚拟根文件系统。进而,基于虚拟根文件系统挂载本地操作系统的真实根文件系统,从而实现对本地操作系统的根文件系统的挂载。这里,在挂载真实根文件系统后,才可以调用Linux的第一个进程/sbin/init。
可以理解,临时根文件系统是基于内存的文件系统。在一种实施方式中,临时根文件系统例如可以实现为initramfs。
在挂载本地操作系统的真实根文件系统之后,根据挂载后的真实根文件系统,可以基于相应的路径来获取存储在本地操作系统中的目标根文件系统对应的压缩文件。
随后,在步骤S230中,将目标根文件系统对应的压缩文件加载到内存,从而实现挂载目标根文件系统。通过挂载目标根文件系统,可供目标操作系统调用目标根文件系统。
在挂载目标根文件系统之后,可以执行步骤S240。在步骤S240中,基于挂载后的本地操作系统的根文件系统,将本地操作系统在启动过程中需求的一个或多个内核模块拷贝到内存中的目标根文件系统中。这样,目标操作系统可以调用目标根文件系统中的这些内核模块,使得目标操作系统在启动过程中可以调用与本地操作系统相同的内核模块。
需要说明的是,本地操作系统的临时根文件系统(initramfs)中的内核模块仅包括操作系统启动的一些必备硬件驱动,而在启动过程中需求的其它内核模块,例如图形显卡、声卡等,均存放在/lib/modules目录中。因此,在一个实施例中,本发明通过将本地操作系统的根文件系统中的/lib/modules目录下的内容(包括一个或多个内核模块)拷贝到目标操作系统的目标根文件系统中的相同目录下,以实现将本地操作系统在启动过程中需求的一个或多个内核模块拷贝到内存中的目标根文件系统中。
根据一种实施方式,在临时根文件系统的初始化阶段,对本地操作系统的/lib/modules目录下的内容(包括一个或多个内核模块)进行拷贝,将其拷贝到目标操作系统中的相应目录。这样,基于挂载后的本地操作系统的真实根文件系统,目标操作系统可以调用目标操作系统中的相应目录下的一个或多个内核模块,即调用与本地操作系统相同的内核模块,实现了与本地操作系统共用启动过程中需求的内核模块。基于此,本发明能实现内核模块的共用,即,使用本地操作系统在启动过程中需求的一个或多个内核模块来启动目标操作系统。
在一个实施例中,一个或多个内核模块例如包括USB、SATA、SCSI硬盘的驱动以及LVM、RAID文件系统的驱动,但不限于此。
在将/lib/modules目录下一个或多个内核模块拷贝到内存中的目标根文件系统的相应目录中之后,可以卸载本地操作系统的根文件系统。
综上,根据本发明的操作系统启动方法,通过将Live操作系统的压缩文件存储在计算设备本地的储存设备中,不依赖额外的存储介质来存储Live操作系统。根据预先配置的目标操作系统的启动项,在引导目标操作系统启动时,是通过引导本地操作系统的内核和临时根文件系统来引导目标操作系统启动,从而实现从本地操作系统引导Live操作系统启动,Live操作系统可以与本地操作系统共用内核。并且,本发明通过将本地操作系统在启动过程中需求的一个或多个内核模块拷贝到内存中的目标根文件系统中,使得目标操作系统在启动过程中可以调用与本地操作系统相同的内核模块。这样,本发明实现了Live操作系统与本地操作系统共用内核模块,通过使用本地操作系统启动过程中需求的一个或多个内核模块,来启动目标操作系统。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的多语言垃圾文本的识别方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (9)

1.一种操作系统启动方法,在计算设备中执行,所述计算设备的储存设备中包括本地操作系统,所述本地操作系统中包括目标根文件系统对应的压缩文件,所述方法包括步骤:
基于目标操作系统对应的目标根文件系统生成相应的压缩文件,并将所述压缩文件存储到计算设备的本地操作系统中;
配置目标操作系统的启动项,其中包括:指定目标操作系统启动的内核、临时根文件系统分别与本地操作系统的内核、临时根文件系统相同,并指定引导程序是目标操作系统的引导方式;
启动目标操作系统的启动项,以便通过引导本地操作系统的内核和临时根文件系统来引导目标操作系统的启动;
将本地操作系统的内核和临时根文件系统加载到内存,以便基于所述临时根文件系统挂载本地操作系统的根文件系统;
将所述目标根文件系统对应的压缩文件加载到内存,以便挂载目标根文件系统;以及
将本地操作系统在启动过程中需求的一个或多个内核模块拷贝到所述内存中的目标根文件系统中,以便目标操作系统调用与本地操作系统相同的内核模块。
2.如权利要求1所述的方法,其中,在将本地操作系统的内核和临时根文件系统加载到内存之后,还包括步骤:
基于所述本地操作系统的临时根文件系统在内存中生成虚拟根文件系统;
基于所述虚拟根文件系统挂载本地操作系统的根文件系统;
根据挂载后的根文件系统,基于相应的路径从所述本地操作系统中获取目标根文件系统对应的压缩文件。
3.如权利要求1所述的方法,其中,将本地操作系统在启动过程中需求的一个或多个内核模块拷贝到内存中的目标根文件系统中包括:
将本地操作系统的根文件系统中的/lib/modules目录下的内容拷贝到目标操作系统的目标根文件系统中的相应目录。
4.如权利要求1-3任一项所述的方法,其中,在基于目标操作系统对应的目标根文件系统生成相应的压缩文件之前,包括步骤:
构建与目标操作系统相对应的目标根文件系统。
5.如权利要求1-3任一项所述的方法,其中,在将一个或多个内核模块拷贝到所述内存中的目标根文件系统中之后,还包括步骤:
卸载所述本地操作系统的根文件系统。
6.如权利要求1-3任一项所述的方法,其中,
所述目标操作系统为Live操作系统。
7.如权利要求1-3任一项所述的方法,其中,
所述临时根文件系统是initramfs;
所述压缩文件为SquashFS。
8.一种计算设备,包括:
至少一个处理器;以及
存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-7中任一项所述的方法的指令。
9.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-7中任一项所述方法。
CN202110451981.1A 2021-04-26 2021-04-26 一种操作系统启动方法及计算设备 Active CN112988252B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110855847.8A CN113434205B (zh) 2021-04-26 2021-04-26 一种操作系统启动方法及计算设备
CN202110451981.1A CN112988252B (zh) 2021-04-26 2021-04-26 一种操作系统启动方法及计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110451981.1A CN112988252B (zh) 2021-04-26 2021-04-26 一种操作系统启动方法及计算设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202110855847.8A Division CN113434205B (zh) 2021-04-26 2021-04-26 一种操作系统启动方法及计算设备

Publications (2)

Publication Number Publication Date
CN112988252A CN112988252A (zh) 2021-06-18
CN112988252B true CN112988252B (zh) 2021-08-20

Family

ID=76340245

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110855847.8A Active CN113434205B (zh) 2021-04-26 2021-04-26 一种操作系统启动方法及计算设备
CN202110451981.1A Active CN112988252B (zh) 2021-04-26 2021-04-26 一种操作系统启动方法及计算设备

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202110855847.8A Active CN113434205B (zh) 2021-04-26 2021-04-26 一种操作系统启动方法及计算设备

Country Status (1)

Country Link
CN (2) CN113434205B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114527883A (zh) * 2021-12-21 2022-05-24 统信软件技术有限公司 一种快捷键实现方法、计算设备及存储介质
CN114443582B (zh) * 2021-12-22 2022-11-29 科东(广州)软件科技有限公司 一种操作系统上文件系统挂载方法、装置、设备及介质
CN114296835B (zh) * 2021-12-31 2024-02-13 奇安信科技集团股份有限公司 应用程序的启动方法和装置
CN114489702B (zh) * 2022-01-29 2023-09-15 北京有竹居网络技术有限公司 安装操作系统的方法、装置、介质以及电子设备
CN114911539B (zh) * 2022-05-17 2024-05-14 武汉深之度科技有限公司 一种运行系统的启动方法及计算设备
CN116016159A (zh) * 2022-12-16 2023-04-25 北京云端智度科技有限公司 一种应用系统的防篡改安装方法、系统、介质及设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2997467A1 (en) * 2013-06-14 2016-03-23 Huawei Technologies Co., Ltd. Bootstrapping from a remote disk image via a network
CN103777985B (zh) * 2014-01-26 2017-12-12 汪钦龙 存储介质上同一分区安装多个操作系统的方法及装置
CN103777955B (zh) * 2014-01-26 2017-05-24 龚健虎 Windows环境安装和运行类Unix的方法和装置
CN105739961B (zh) * 2014-12-12 2020-11-03 南京中兴新软件有限责任公司 一种嵌入式系统的启动方法和装置
US9804855B1 (en) * 2015-10-08 2017-10-31 Veritas Technologies Llc Modification of temporary file system for booting on target hardware
US10747875B1 (en) * 2020-03-19 2020-08-18 Cyberark Software Ltd. Customizing operating system kernels with secure kernel modules
CN112130917A (zh) * 2020-09-22 2020-12-25 北京计算机技术及应用研究所 远程加载系统镜像方法

Also Published As

Publication number Publication date
CN113434205B (zh) 2024-02-23
CN112988252A (zh) 2021-06-18
CN113434205A (zh) 2021-09-24

Similar Documents

Publication Publication Date Title
CN112988252B (zh) 一种操作系统启动方法及计算设备
US11169819B2 (en) Information handling system (IHS) and method to proactively restore firmware components to a computer readable storage device of an IHS
CN113127100B (zh) 一种异构程序执行方法、装置、计算设备及可读存储介质
CN112947976B (zh) 一种操作系统升级方法、计算设备及存储介质
CN113568787A (zh) 一种掉电保护方法、计算设备及存储介质
CN112988464A (zh) 一种断电保护方法及计算设备
CN111428241A (zh) 一种多安全访问策略控制方法及计算设备
CN114610337A (zh) 一种多系统安装方法、计算设备及存储介质
CN114691226A (zh) 一种多操作系统切换运行方法、计算设备及存储介质
CN113535650B (zh) 一种文件命名方法及计算设备
US20120144390A1 (en) Customized computer image preparation and deployment including virtual machine mode
WO2022222351A1 (zh) 一种操作系统安装方法及计算设备
CN113791873B (zh) 一种虚拟机创建方法、计算设备及存储介质
CN113051584B (zh) 一种系统安全启动方法、装置、计算设备及可读存储介质
CN113485712B (zh) 一种内核裁剪方法及计算设备
CN114168937A (zh) 一种资源访问方法、计算设备及可读存储介质
CN113805971A (zh) 一种应用程序运行方法、计算设备及存储介质
CN113849245A (zh) 一种应用程序运行方法、计算设备及存储介质
CN113821272A (zh) 一种应用程序运行方法、计算设备及存储介质
CN113867825B (zh) 一种多系统运行方法、计算设备及存储介质
CN113742140B (zh) 一种文件备份方法、装置及计算设备
CN113254888B (zh) 获取硬件信息的方法、授权控制系统及计算设备
CN113221123B (zh) 一种内核分支合入补丁的方法及计算设备
US20230305877A1 (en) Accelerated lifecycle management in hci systems
CN114691429A (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