CN107766084B - 启动装载及安装方法及其计算系统 - Google Patents
启动装载及安装方法及其计算系统 Download PDFInfo
- Publication number
- CN107766084B CN107766084B CN201611069606.6A CN201611069606A CN107766084B CN 107766084 B CN107766084 B CN 107766084B CN 201611069606 A CN201611069606 A CN 201611069606A CN 107766084 B CN107766084 B CN 107766084B
- Authority
- CN
- China
- Prior art keywords
- component
- loader
- image file
- memory
- operating system
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/66—Updates of program code stored in read-only memory [ROM]
-
- 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/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1072—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
一种启动装载及安装方法及其计算系统,其中,计算系统包含处理器单元、储存器装置以及记忆体;储存器装置储存一映像档,映像档包含加载器组件、虚拟磁碟组件以及操作系统核心组件;记忆体储存指令,指令可被处理器单元执行;指令被执行时会使得计算系统辨识加载器组件、装载该加载器组件为一加载器至记忆体中的第一位置、以及执行加载器组件以取得并分别装载虚拟磁碟组件及操作系统核心组件至记忆体中的第二位置及第三位置。
Description
技术领域
本发明是关于一种UEFI固件的方法及其计算系统;具体而言,本发明是关于一种方法及计算系统,用于在UEFI架构下以单一个映像档执行系统的安装及启动装载程序。
背景技术
传统的计算系统可加载并启动一个操作系统。通常,操作系统的加载启动是由一低阶层的指令码负责处理,其中此低阶层的指令码是用于当作电脑系统的硬件构件与操作软件(及其他于电脑系统上执行的高阶层软件)之间桥梁或中介。此低阶层指令码常被称为基本输入输出系统固件(Basic Input/Output System Firmware、亦即BIOS firmware),并且可提供一组软件程序用于使得高阶层软件可与电脑系统的硬体构件产生互动。每当电脑系统开机或被启动时,此固件可执行用于进行开机自检(Power-On Self Test、亦即POST)的程序,由此在将控制权交给操作系统前可检测并发动或初始化电脑系统中的所有硬体构件。这些硬体构件可包含系统主记忆体、硬碟及键盘等等的硬体构件。
然而,随着技术的进展以及许多目前的设备(例如周边的设备)是朝向无线的技术领域发展,原本最初是设计给国际商用机器公司的个人电脑的传统BIOS标准,此传统BIOS标准已成为基于此传统BIOS标准的引导固件(boot up firmware)可控制硬件的限制点,随后甚至会导致限制操作系统可控制硬件的范围。随着新的硬件和软件技术正在得到开发,此限制点会成为软硬件交互的一个主要障碍。因此,BIOS固件的新标准已被提出并通过许多主要行业领导广泛采用。这新的标准被称为统一可扩展固件接口(Unified ExtensibleFirmware Interface、简称为UEFI)。
随着采用UEFI标准,BIOS企业能够开始生产UEFI固件计算系统,同时生产操作系统的公司能够通过生产符合UEFI标准的操作系统来取得到UEFI固件所提供的服务优势。当制造商或公司欲想将一特定的计算系统或装置的固件或操作系统进行更新及/或修改时,传统的方式包含一个漫长的过程,其过程包含计算装置的固件及/或操作系统被修补。在其他案例中,上述程序会需要使用者俱备技术知识才能协助进行新修补档的安装。这是一个耗时且复杂的过程。然而,在现代时刻,当具有装载资信处理/计算及联网功能的各种不同物件的数量倍数增加时,以传统方式更新及/或补修所有装置上的固件及/或操作系统将会是个几乎不可能或不实际的任务。
因此,以上述情况而言,在联网装置的固件及操作系统的更新及安装程序过程中,势必需要有方法可降低安装的复杂度并且减轻用户的烦恼。
发明内容
本创作的一个目的在于提供一种计算系统及其方法,其具有可支援根据单一个映像档安装及启动操作系统的UEFI固件架构。
根据本创作的一个方面,计算系统包括处理器单元、储存器装置以及记忆体。储存器装置储存映像档,其包含加载器组件、虚拟磁碟组件以及操作系统核心组件。记忆体储存指令,此指令可被处理器单元执行;指令被执行时会使得计算系统辨识出加载器组件、装载加载器组件为一加载器至记忆体中的第一位置、以及执行加载器组件以取得并分别装载虚拟磁碟组件及操作系统核心组件至记忆体中的第二位置及第三位置。
于一实施例中,该映像档是从一远端来源接收并且是储存至该储存装置中的一操作系统分区。
于一实施例中,储存于该记忆体并被该处理器单元执行以辨识并装载该加载器组件至该记忆体中的指令,是位于该计算系统的一固件中的一EFI启动模块。
于一实施例中,该EFI启动模块包含一预设设定,该预设设定指向至该映像档中对应该加载器组件的一位置。
于一实施例中,该加载器组件是以一加载器装载至该记忆体中,并且在该操作系统核心组件及该虚拟磁碟组件被取得并装载至该记忆体中前该装载器验证该映像档的一签章组件。
根据本创作的另一个方面,提供一种计算机实现的方法,包含执行计算机的操作,其中储存映像档于储存装置中,映像档包含加载器组件、虚拟磁碟组件以及操作系统核心组件;辨识出加载器组件;将加载器组件装载至记忆体中的第一位置;以及执行装载在记忆体中的加载器组件以取得并分别装载虚拟磁碟组件及操作系统核心组件至记忆体中的第二位置及第三位置。
于一实施例中,储存该映像档至该储存装置的步骤进一步包含:从一远端来源接收该映像档;以及储存该映像档至该储存装置的一操作系统分区。
于一实施例中,辨识出该加载器组件的步骤进一步包含:根据一预设设定,在该预设设定指定的一位置读取该映像档。
于一实施例中,辨识出该加载器组件的步骤进一步包含:确认该映像档的签章的真实性。
于一实施例中,装载该加载器组件至该记忆体的步骤进一步包含:以一EFI启动加载模块从该映像档中取得该加载器组件;以及将该加载器组件解码并以一家载器装载至该记忆体中。
于一实施例中,在取得该操作系统核心组件及该虚拟磁碟组件的步骤后进一步包含:从该映像档取得一文件系统组件;以及经由该虚拟磁碟装载该文件系统至该记忆体中。
于一实施例中,进一步包含:验证系统服务的签章;以及执行通过验证的系统服务。
附图说明
图1为本创作计算系统的一个实施例的示意图;
图2为本创作一个符合UEFI标准的计算系统的示意图;
图3为图2的另一个实施例的示意图;
图4为储存装置与记忆空间之间本创作的一个实施例的示意图;
图5为本创作方法的一个流程图的示意图;
图6A至6C为图5的另一个实施例的示意图。
具体实施方式
本发明的实施例提供一种根据单一个映像档可进行固件(firmware)或操作系统(Operating System)的安装或更新的方法及计算系统。在下面的详细描述中,会参考到对应的附图,其中通过举例的方式,具体实施例或示例可被详细描述。然而,这些实施方案仅是用于形容或协助说明本发明的范围,因此不应当被解释为对本发明的限制。请参照附图,其中类似标号在不同附图中表示类似的元件,本发明的各方面以及较佳的操作环境的实施例将会如下进行说明。
本文公开一种计算系统和方法,用于根据单一映像档进行固件或操作系统的安装及/或更新。较佳的,计算系统包含(但不限于此)便携式计算机(laptop computers)、个人计算机(personal computers)、服务器(computer servers)、手持式计算设备(handheldcomputing devices),例如移动式电话和平板电脑、可佩戴的计算装置(wearablecomputing devices)以及/或任何具有嵌入式处理能力并且具有联网功能且可归类为物联网(Internet of Things,简称为IoT)的装置。
图1和以下讨论旨在提供其中可实现本发明的合适的计算环境的简要、概括描述。然而,本领域的技术人员应可体会到本发明也可以以其他合适的计算环境中实现。此外,本领域的技术人员应可理解,本发明也可以与其他计算系统组态/配置,包括可在多处理器系统、基于微处理器的或可编程的消费电子产品、小型计算机、大型计算机等的情况下实施。本发明也可以在分布式计算环境中实施,其中任务(tasks)可经由通过一通信网络连接的远端处理设备执行。
请参照图1,图1为一个示范的计算机架构,可用于实施本文的各种实施例。应当理解,尽管这里所描述的实施例在常规的桌上型计算机或服务器的假设情况下进行讨论,实际上这里所描述的实施例可以与任何类型的计算设备利用。举例而言,任何实体物件(例如任何可构成物联网的装置、车、大楼或其他物件)具有嵌入电子、软件、侦测器以及网络连通功能可能受益本创作的启动架构(boot architecture)。图1示出了一个计算系统100,其可操作以基于固件(firmware)发起或启动操作系统的加载引导程序。图1中的方块的目的是用于代表计算机结构的各个功能组件;并非一定会是代表计算机结构的实体元件。因此在不偏离计算机结构的整体感和宗旨的出发点的情况下,所述功能组件可以被组合、分离或除去。
为了提供本文所描述的功能性,计算系统100包括一基板(baseboard)或“主机板”,此基板是一种印刷电路板,其中各种不同的组件或设备可通过系统总线或其他方式的连接通信路径与其连接。在一实施例中,中央处理单元(Central Processing Unit,CPU)102会与芯片组(chipset)104共同操作。中央处理单元102可为一种标准的中央处理器,用于执行计算机运作上所必要的逻辑运算及算术。在此及其他实施例中,中央处理单元102可包括一或多个微处理器(microprocessors)、微控制器(microcontroller)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、复杂可编程逻辑器件(ComplexProgrammable Logic Device,CPLD)、专用集成电路(Application Specific IntegratedCircuit,ASIC)及/或任何其它电子计算设备。
芯片组104包括北桥106和南桥108。北桥106提供中央处理单元102与计算系统100的其余部分之间的界面/接口。北桥106亦提供了对一个或多个随机存取存储器(RandomAccess Memory,RAM)的接口,此些存储器可当作计算系统100的主存储器114,或亦可能对一版载显卡(On-board graphics adapter)112提供接口服务。此外,北桥106还可以通过千兆以太网适配器(gigabit Ethernet adapter)110提供网络通信功能。千兆以太网适配器110能够经由一网络将计算系统100连接到一个或多个其它计算机。千兆以太网适配器110所能进行连接的范围可以包括例如局域网(Local Area Network,LAN)或广域网(WideArea Network,WAN)连接。局域网和广域网联网环境在办公室、企业范围的计算机网络(enterprise-wide computer networks)、内联网以及网际网络上出现为常见的场景。北桥106是连接到南桥108。
南桥108是负责控制许多计算系统100的输入/输出功能。具体而言,南桥108可提供一个或多个通用串行总线(Universal Serial Bus,USB)端口116、声音适配器(音效卡)124、以太网控制器134,以及一个或多个通用输入/输出(GPIO)引脚118。南桥108还可以提供用于连接周边设备的总线,例如符合BIOS引导规范(BIOS boot specification,BBS)标准的SCSI主机总线适配器130。在一实施例中,总线包括周边组件互连(PeripheralComponent Interconnect,PCI)总线。南桥108还可以提供一个系统管理总线132,用于管理计算系统100中的各种组件。电源管理电路126和时钟产生电路128也可以在南桥108的操作期间被利用。
南桥108还可被操作以提供一个或多个接口,此些接口可用于将大容量存储设备连接到计算系统100。举例而言,根据一实施例,南桥108包括串行高级技术附件(SerialAdvanced Technology Attachment,SATA)适配器和一个ATA 100适配器,其中串行高级技术附件适配器是用于提供一个或多个串行ATA端口120,ATA100适配器是用于提供一个或多个ATA 100端口122。串行ATA端口120和ATA 100端口122可以接着是连接到有存储操作系统、应用程序及其他数据的一个或多个大量存储设备。本领域技术人员应已知道的是,一个操作系统是包括可控制一个计算机的运作及资源分配的一组程序。一个应用程序是一种在操作系统软件上(或在其他运行时环境中)运作/运行的软件,其并且会使用计算机的资源来执行用户欲计算系统100欲完成的特定任务。
连接到南桥108和SCSI主机总线适配器130以及他们的相关联的计算机可读介质的大容量存储设备为计算系统100提供非易失性存储的功能。尽管此处描述的计算机可读介质是指一个大容量存储设备,诸如硬盘或光碟机(CD-ROM drive),本领域技术人员应当能理解计算机可读介质可为任何计算系统100能读取的媒介。举例而言(非限制的),计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术(例如:计算机可读指令、数据结构、程序模块或其它数据等)完成的易失性、非易失性、可移动和不可移动的介质。计算机存储介质包括(但不限于)随机存取存储器(RAM)、唯读存储器(ROM)、可擦可编程唯读存储器(EPROM)、电子可擦可编程唯读存储器(EEPROM)、闪存或其他固态存储器技术、光碟(CD-ROM)、数字多功能影音光碟(DVD)、高画质数字多功能影音光碟(HD-DVD)、蓝光(BLU-RAY)或其他光学存储、磁带盒、磁带、磁盘存储或其它磁存储设备,或可以用来存储所需信息并且任何其它计算机可存取的介质。
南桥108也可以提供一个低引脚数(Low Pin Count,LPC)接口,其可用于连接至一个超输入输出(Input/Output,I/O)设备138。超输入输出装置138负责提供若干个输入/输出端口,包括一键盘端口、鼠标端口、串行接口、并行端口以及其他类型的输入/输出端口。所述的低引脚数接口或其他接口可被用于连接一个计算机存储介质,例如唯读存储器ROM,或例如快闪存储器的非易失性随机存取存储器137(Non-Volatile Random AccessMemory,NVRAM)。所述计算机存储介质可以是用于存储固件136,其包括包含指令和数据的一或多个模块,所述指令和数据可帮助启动计算系统100和帮助计算系统100内的元件之间的信息传递。然而,在其它不同的实施例中,固件136亦可被存储在计算系统100中的任何其他区域中。
固件136可以包括符合UEFI规范的程序代码。应当理解的是,除了固件136可包含符合UEFI规范的固件以外,也可以增加其它类型及组合的固件。举例而言,固件136可额外或替代性包括一个BIOS固件和/或其它类型的本领域技术人员已知的固件。以下将会提供有关UEFI固件136的操作及运作方式的详细说明,敬请参考附加后续的图。但是应当理解的是,计算系统100可能不会包括图1中所示的所有组件或元件、可能包含图1未显示的其他组件或可利用与图1所示完全不同的架构。
参照图2,有关符合UEFI规范的系统并且可应用以提供本文各种不同实施例可执行的操作环境会如下更详细说明。如图2所示,该系统包括一个平台硬件316和操作系统(OS)202一个平台固件308可使用一个操作系统加载程序(OS loader)302从EFI系统区域318中取得操作系统程序码;此操作系统加载程序时常被称为一个引导器、操作系统加载器或引导器。同理,操作系统加载程序302亦可从其他地方取得操作系统程序码,包含从连接的周边设备或从固件135本身。EFI系统分区318可能为一种结构上可共享的系统分区。因此,EFI系统分区318可定义一个分区及文件/文件系统,其可被设计以允许多个供应商之间进行大容量储存器的安全共享。此外,一个OS分区320亦可被使用。
一旦开始了,操作系统加载程序302会继续引导并启动整个操作系统202,例如与Linux操作系统相关联的GRUB标准可能以阶段性的加载/装载操作系统。操作系统加载程序302可使用EFI引导服务304来接到其他支援的标准规范,以致使能调查、了解、及初始化各种平台组件及管理它们的操作系统202软件。因此,从其他规格/标准的接口314亦可能存在于系统中。举例而言,高级配置和电源管理接口(Advanced Configuration and PowerManagement Interface,ACPI)和系统管理BIOS(SMBIOS)的规格标准可被支援。
EFI引导服务304提供给设备各种接口以及在引导的期间中使用的系统功能。EFI运行服务306在启动阶段时可被操作系统加载程序302利用,并且当操作系统202在执行时也会提供服务给操作系统202。例如,运行服务可确保提供操作系统202在正常运作中所需的适当基础平台硬件资源的抽象。通过加载/装载EFI驱动程序及EFI应用程序影像档及其在被装载后可提供任何EFI所定义的运行时服务及引导加载服务,EFI可扩展平台固件的功能。当EFI固件被初始化后,控制权将会转移至引导加载程序312。
参照图3,图3描述本创作的一种方法或程序,其可使得或促使计算系统无视装载启动EFI系统分区318中操作系统码的程序步骤。实际上,在本实施例中,本创作的EFI启动加载模块312可先侦测平台硬体316的储存装置操作系统分区320是否有储存一个用于安装新的操作系统的映像档322。
在一个实施例中,映像档322可经由网际网络被接收并储存于操作系统分区320中;其中,当下一次计算系统重新启动时,EFI启动加载模块312可执行上述侦测程序来搜寻到储存于操作系统分区320中的映像档322。
在另一个实施例中,计算系统的固件或执行中的操作系统可发起或被促使发起更新的程序,此更新程序可包含连接至网际网络上的一个远端来源并从其中下载映像档322至操作系统分区320中。举例而言,计算系统的供应者或制造商可在远端对计算系统指示进行更新程序。在此状况下,制造商可指示或促使计算系统去下载映像档至操作系统分区320,通过此方式,在下一次重新开机时,计算系统的EFI启动加载模块312在进行搜寻操作系统分区320时可侦测得到映像档322。
当EFI启动加载模块312发现映像档322在操作系统分区320时,EFI启动加载模块312可通过UEFI磁碟服务304读取映像档322。如图3及4所示,在本实施例中,映像档322是储存于操作系统分区320(储存装置)并且包含各种不同组件的编码。在一个实施例中,映像档322包含(但不限于此)签章组件325、加载器组件326、操作系统核心组件327、虚拟磁碟组件328以及文件系统组件329。当EFI启动加载模块312搜寻并侦测到操作系统分区320中的映像档322时,EFI启动加载模块312会使用UEFI磁碟服务304来读取并装载加载器组件326至计算系统的记忆体(记忆空间memory space),由此可导致计算系统执行加载器组件326中的程序编码。
在本实施例中,加载器组件326是一种EFI格式加载器,其程序是经由UEFI磁碟服务304以EFI启动加载模块312装载至记忆空间中。当加载器的程序/指令在记忆空间中被执行时,加载器的程序会去取得操作系统核心组件327及虚拟磁碟组件328。通过此方式,操作系统核心组件327及虚拟磁碟组件328接着可被装载至记忆空间的不同位置中。举例而言,假设加载器是被装载至记忆空间的一第一位置,操作系统核心组件327及虚拟磁碟组件328则是可能分别会被装载至记忆空间中的一第二位置及一第三位置。
在一个实施例中,虚拟磁碟组件328可包含必要的文件来支援及允许一个真正文件系统(real file system)可被架设在计算系统上。此些必要文件可包含驱动程序、可执行的组件以及任何其他辅助文件。在其他不同实施例中,其他任何数目的自选组件可包含于虚拟磁碟组件328中,例如语言支援文件(language support files)。在虚拟磁碟组件328被装载在记忆空间中的情况下,虚拟磁碟组件328可将文件系统329架设在记忆空间中。当记忆空间中的加载器将操作系统核心组件327以操作系统核心(OS Kernel)装载至记忆空间中后,加载器可促使计算系统执行操作系统核心来启动新的操作系统。
图5为一种根据单一映像档安装新的加载器或操作系统的计算机实现方法的一个实施例。如图5所示,方法400包含步骤410至450。如上所述,映像档322是储存于平台硬体316的储存装置里的操作系统分区320。当计算系统启动或开机时,平台特定固件308的EFI启动加载模块312会搜寻操作系统分区320并找到映像档322。其中,EFI启动加载模块312会执行步骤420;步骤420包含辨识出映像档322中的加载器组件326。在此点,EFI启动加载模块312接着会在步骤420中将加载器组件326装载至记忆体中,并且进行执行被装载至记忆体中的加载器组件326的步骤440。步骤440,当执行中时,记忆体里的加载器会从映像档322中取得虚拟磁碟组件328及操作系统核心组件327,并且将虚拟磁碟组件328及操作系统核心组件327装载至记忆空间里。接着,步骤450包含执行装载在记忆体(记忆空间)里的操作系统核心以启动新的操作系统。
图6A至6C为图5的另一方法流程图的实施例。参照图6A,在EFI启动加载模块312发现操作系统分区320有映像文件322或发现原本在操作系统分区320内的映像档换成映像档322时,步骤501至505将会被EFI启动加载模块312。
如图6A所示,步骤501包含发起映像档322的装载程序。在本实施例中,当EFI启动加载模块312发现平台硬体316的储存装置的操作系统分区320里的映像档322时,EFI启动加载模块312将会发起映像档322至计算系统的记忆空间的装载(加载)程序。EFI启动加载模块312会先在步骤502中确认操作系统分区320中的文件(可能有多个文件)是否为一个操作系统的映像档。接着,当EFI启动加载模块312确认操作系统分区320里的映像档322真的是一个操作系统的映像档时,EFI启动加载模块312会进行步骤503,其中步骤503包含确认映像档322的签章。
在本实施例中,映像档322会包含一个签章组件325。当此签章组件325被EFI启动加载模块312验证为正确或合格的签章,映像档322将会被EFI启动加载模块312认定为安全且认证为适用于计算系统中。在步骤503中执行完验证后,EFI启动加载模块312接着会进行步骤504;其中,步骤504包含从映像档322中取得加载器组件326。
在步骤504中,EFI启动加载模块312会预设性的知道映像档322中加载器组件326的位置。EFI启动加载模块312会于映像档322里在此特定位置取得加载器组件326。然而,在其他不同实施例中,EFI启动加载模块312不一定会事先知道映像档322中加载器组件326的位置。在此情况下,EFI启动加载模块312可先扫描映像档322并且辨识出加载器组件326,其中EFI启动加载模块312接着会取得加载器组件326并且进行步骤505。步骤505包含将加载器组件326装载至记忆体(记忆空间)中。
如图6B所示,加载器组件326装载至记忆空间后流程程序会进行步骤506;其中,步骤506包含执行装载在记忆空间里的加载器组件。当被计算系统执行时,加载器会从映像档322取得虚拟磁碟组件328。在本实施例中,只有加载器知道映像档322中虚拟磁碟组件328的位置。换言之,若没有事先将加载器组件326从映像档322中解码并装载至记忆空间,就没有办法得知虚拟磁碟组件328的位置。通过此方式,由于只有真正的且认证过的映像档322才能被正确的执行,本创作可提供一定的安全机制。以类似方式,在步骤507中记忆空间里的加载器会从映像档322取得操作系统核心组件327,其中映像档322中操作系统核心组件327的位置也相对的只有加载器知道。
在取得操作系统核心组件327及虚拟磁碟组件328后,这些组件分别在步骤508及509会背装在至记忆空间的一第二位置及一第三位置(相对于记忆空间的第一位置)。接着,步骤510会被执行以启动装载在记忆空间的操作系统核心。
本创作的流程接着会如图6C执行步骤511;步骤511是在新的操作系统环境下被执行。如图6C所示,步骤511包含装载驱动程序并执行硬体初始化程序。接着,虚拟磁碟会被装载并且系统初始化将会在步骤512执行,其中文件系统接着会在步骤513中被装载或架设起来。步骤514会验证系统服务的签章,而认证好的系统服务会在步骤515中被执行以完成整个程序。
如本创作上述方法及计算系统所述,由于计算系统可从单一个被复制导操作系统分区的映像档读取并安装一个新的操作系统,本创作提供一种新颖方式,可较简单且快速配送方式将新的更新文件分配至多个联网装置。举例而言,由于每个装置只需要接收到单一个文件,几千或几千万个物联网装置的软件补修或更新可很快的被执行并完成。这样可减少需要传给每个装置的文件数量,由此可减少频宽的需求来进行这些装置的更新。同时,安装时间及安装复杂度会明显的降低,因此在安装过程中用户不需要烦恼如何进行安装,可明显降低用户的烦恼程度。此外,由于操作系统核心组件及虚拟磁碟组件在映像档中的位置只有加载器组件知道,本创作可提供另一层的安全机制来避免恶意的编码被执行。
应当理解的是,本文所描述的实施例和实施方案仅用于说明本案的目的,并且各种修改或变化对于本技术领域的人应可轻易理解,并且被包含在本申请的精神及范围内和所附的权利要求书的范围。
Claims (8)
1.一种计算机实现的方法,包含执行计算机的操作,其特征在于:
储存一映像档于一储存装置中的一操作系统分区,该映像档包含一加载器组件、一虚拟磁碟组件以及一操作系统核心组件;
以一EFI启动加载模块确认该映像档的签章的真实性;
该EFI启动加载模块验证该签章为正确或合格,该映像档将会被该EFI启动加载模块认定为安全;辨识出该加载器组件,从该映像档中取得该加载器组件;将该加载器组件解码装载至一记忆体中的一第一位置;执行装载在该记忆体中的该加载器组件以取得并分别装载该虚拟磁碟组件及该操作系统核心组件至该记忆体中的一第二位置及一第三位置;以及
执行装载在该记忆体中的该操作系统核心组件以启动一新的操作系统。
2.如权利要求1所述的计算机实现的方法,其特征在于,储存该映像档至该储存装置的步骤进一步包含:
从一远端来源接收该映像档。
3.如权利要求1所述的计算机实现的方法,其特征在于,辨识出该加载器组件的步骤进一步包含:
根据一预设设定,在该预设设定指定的一位置读取该映像档。
4.如权利要求1所述的计算机实现的方法,其特征在于,在取得该操作系统核心组件及该虚拟磁碟组件的步骤后进一步包含:
从该映像档取得一文件系统组件;以及
经由该虚拟磁碟装载该文件系统至该记忆体中。
5.如权利要求4所述的计算机实现的方法,其特征在于,进一步包含:
验证系统服务的签章;以及
执行通过验证的系统服务。
6.一种计算系统,其特征在于,包含:
一处理器单元;
一储存器装置储存一映像档,该映像档包含一加载器组件、一虚拟磁碟组件以及一操作系统核心组件,该映像档储存至该储存装置中的一操作系统分区;以及
一记忆体储存指令,该指令可被该处理器单元执行;该指令被执行时会使得该计算系统辨识该加载器组件、装载该加载器组件为一加载器至该记忆体中的一第一位置、以及执行该加载器组件以取得并分别装载该虚拟磁碟组件及该操作系统核心组件至该记忆体中的一第二位置及一第三位置;
储存于该记忆体并被该处理器单元执行以辨识并装载该加载器组件至该记忆体中的指令,是位于该计算系统的一固件中的一EFI启动模块;
该加载器组件解码并以该加载器装载至该记忆体中,并且在该操作系统核心组件及该虚拟磁碟组件被取得并装载至该记忆体中前该装载器验证该映像档的一签章组件;
该EFI启动模块确认该映像档的签章组件的真实性,并且验证该签章为正确或合格,该映像档将会被该EFI启动加载模块认定为安全;
执行装载在该记忆体中的该操作系统核心组件以启动一新的操作系统。
7.如权利要求6所述的计算系统,其特征在于,该映像档是从一远端来源接收。
8.如权利要求6所述的计算系统,其特征在于,该EFI启动模块包含一预设设定,该预设设定指向至该映像档中对应该加载器组件的一位置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/238,763 | 2016-08-17 | ||
US15/238,763 US10025587B2 (en) | 2016-08-17 | 2016-08-17 | Method of bootup and installation, and computer system thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107766084A CN107766084A (zh) | 2018-03-06 |
CN107766084B true CN107766084B (zh) | 2021-04-06 |
Family
ID=61191681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611069606.6A Expired - Fee Related CN107766084B (zh) | 2016-08-17 | 2016-11-29 | 启动装载及安装方法及其计算系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10025587B2 (zh) |
CN (1) | CN107766084B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11150911B2 (en) | 2018-06-15 | 2021-10-19 | Dell Products, L.P. | System and method for managing UEFI boot device path based on custom selection |
US10942750B2 (en) | 2019-03-29 | 2021-03-09 | Dell Products L.P. | System and method to securely load non-UEFI based file format as OEM based UEFI custom capsule format in UEFI loader |
CN111290799B (zh) * | 2020-02-06 | 2023-09-19 | 北京字节跳动网络技术有限公司 | 组件加载方法、装置、电子设备、及存储介质 |
CN112231006B (zh) * | 2020-10-23 | 2022-10-21 | 杭州海康存储科技有限公司 | 计算机设备的启动方法、装置及计算机设备 |
TWI763192B (zh) * | 2020-12-18 | 2022-05-01 | 技嘉科技股份有限公司 | 電子裝置以及資料完整性的檢驗方法 |
US12073229B2 (en) | 2021-12-10 | 2024-08-27 | Red Hat, Inc. | Single node deployment of container platform |
CN117707626A (zh) * | 2022-10-09 | 2024-03-15 | 荣耀终端有限公司 | 系统启动方法及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102135923A (zh) * | 2010-01-21 | 2011-07-27 | 鸿富锦精密工业(深圳)有限公司 | 将操作系统集成到bios芯片的方法及启动该操作系统的方法 |
US8468334B1 (en) * | 2011-01-28 | 2013-06-18 | American Megatrends, Inc. | Efficient initial RAM disk creation |
CN105765526A (zh) * | 2013-06-14 | 2016-07-13 | 华为技术有限公司 | 通过网络从远程磁盘镜像进行引导 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8356168B2 (en) * | 2008-06-19 | 2013-01-15 | Intel Corporation | Non-blocking UEFI I/O channel enhancements |
US9229731B2 (en) * | 2011-05-06 | 2016-01-05 | Dell Products L.P. | System and method for facilitating booting using a plurality of boot methods |
US8812830B2 (en) * | 2011-08-31 | 2014-08-19 | Microsoft Corporation | Attestation protocol for securely booting a guest operating system |
RU2630171C2 (ru) * | 2013-03-15 | 2017-09-05 | Хуавей Текнолоджиз Ко., Лтд. | Способ начальной загрузки компьютерной системы с множеством центральных процессоров |
US9023574B2 (en) * | 2013-06-28 | 2015-05-05 | Xerox Corporation | Toner processes for hyper-pigmented toners |
US9569297B2 (en) * | 2014-07-16 | 2017-02-14 | Dell Products, Lp | Seamless method for booting from a degraded software raid volume on a UEFI system |
-
2016
- 2016-08-17 US US15/238,763 patent/US10025587B2/en not_active Expired - Fee Related
- 2016-11-29 CN CN201611069606.6A patent/CN107766084B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102135923A (zh) * | 2010-01-21 | 2011-07-27 | 鸿富锦精密工业(深圳)有限公司 | 将操作系统集成到bios芯片的方法及启动该操作系统的方法 |
US8468334B1 (en) * | 2011-01-28 | 2013-06-18 | American Megatrends, Inc. | Efficient initial RAM disk creation |
CN105765526A (zh) * | 2013-06-14 | 2016-07-13 | 华为技术有限公司 | 通过网络从远程磁盘镜像进行引导 |
Also Published As
Publication number | Publication date |
---|---|
US20180052679A1 (en) | 2018-02-22 |
US10025587B2 (en) | 2018-07-17 |
CN107766084A (zh) | 2018-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107766084B (zh) | 启动装载及安装方法及其计算系统 | |
US9501289B2 (en) | Method of a UEFI firmware and computer system thereof | |
US11169819B2 (en) | Information handling system (IHS) and method to proactively restore firmware components to a computer readable storage device of an IHS | |
US10185828B2 (en) | Systems and methods using virtual UEFI path for secure firmware handling in multi-tenant or server information handling system environments | |
US9626181B2 (en) | Systems and methods to securely inject binary images and code into firmware | |
US10810017B2 (en) | Systems and methods for handling firmware driver dependencies in host operating systems while applying updates from bootable image file | |
US11182148B2 (en) | System and method for automated BIOS recovery after BIOS corruption | |
US11144328B2 (en) | System method to update failover process by running basic input/output (BIOS) system boot code from non-volatile memory express device (NVME) | |
US8171272B1 (en) | Critical pre-OS driver verification | |
US20160306961A1 (en) | Systems and methods for authenticated system partition access | |
CN107135462B (zh) | Uefi固件的蓝牙配对方法及其计算系统 | |
US11010152B2 (en) | Systems and methods to stage external device firmware for an external device in an information handling system | |
US11030047B2 (en) | Information handling system and method to restore system firmware to a selected restore point | |
US7698547B1 (en) | Execution of a program module within both a PEI phase and a DXE phase of an EFI firmware | |
CN109426527B (zh) | 在uefi固件及作业系统间分享蓝牙数据的电脑系统及其方法 | |
US10664598B1 (en) | Firmware security patch deployment | |
JP7102524B2 (ja) | 複数のバイナリイメージのファームウェア公開 | |
CN110688235A (zh) | Uefi固件与os间共享无线连接信息的系统及方法 | |
US11256519B2 (en) | Using a single process to install a UEFI-supported OS or a non-UEFI supported OS on a hardware platform | |
US9778936B1 (en) | Booting a computing system into a manufacturing mode | |
US11340882B2 (en) | Systems and methods for enforcing update policies while applying updates from bootable image file | |
US20150212866A1 (en) | Management system for service of multiple operating environments, and methods thereof | |
US11675601B2 (en) | Systems and methods to control software version when deploying OS application software from the boot firmware | |
US11500995B1 (en) | Secure boot runtime universal filesystem | |
CN113646745A (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 | ||
CB02 | Change of applicant information |
Address after: American Georgia Applicant after: AMERICAN MEGATRENDS Inc. Address before: Building No. 200, 5555 Oakbrook Park Avenue, 30093 Norcross, Georgia, USA Applicant before: American Megatrends Inc. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210406 Termination date: 20211129 |
|
CF01 | Termination of patent right due to non-payment of annual fee |