一种系统启动方法及装置与流程

文档序号:30957314发布日期:2022-07-30 10:41阅读:59来源:国知局
1.本公开涉及计算机操作系统启动
技术领域
:,具体涉及一种系统启动方法及装置。
背景技术
::2.现有技术中通常使用mbr(masterbootrecord)和gpt(globallyuniqueidentifierpartitiontable,全局唯一标识磁盘分区表)两种类型的分区表管理硬盘分区。mbr只能支撑2tb容量以下的硬盘管理,gpt作为可扩展固件接口(efi)标准的一部分能支撑2tb以上容量的硬盘管理。gpt将硬盘的所有区块以lba(逻辑区块地址,俗称扇区)来处理。随着gpt在windows10以及各类linux系统等操作系统的广泛使用,对一些重要数据的保护存储和顺利访问的需求日益明显。3.为实现数据的保护存储,可以在固态硬盘(ssd)上通过类似hd的hpa(“隐藏保护区域”技术)方式实现对部分lba的隐藏,在ssd硬盘上形成一个隐藏分区。隐藏分区的存储空间被划分后,对于bios和os(操作系统)等上层软件都是不可见的,实现了数据隐藏和保护的目的,并且理论上可以防病毒和防止存储设备被盗后的数据被非法访问或丢失。因此,可以利用隐藏分区的存储空间对用户的重要数据进行备份,或者安装一些特殊的应用程序,以在hostos(主机操作系统)崩溃的情况下,来接管计算机,达到恢复os或恢复数据的目的。4.但是,由于文件系统的分区信息会在硬盘的起始地址段和结束地址段都有存放,在开启和关闭隐藏分区两种情形下,会存在gpt分区信息不一致的问题,使得安装在的隐藏分区os和hostos的启动方式不同,当使用与hostos相同的启动方式启动隐藏分区内的os时,文件系统无法被访问,影响隐藏分区内的os无法正常启动。技术实现要素:5.本公开实施例提供了一种系统启动方法及装置,能够解决现有技术中存在的bios无法正常启动隐藏分区内操作系统的问题。6.根据本公开的方案之一,提供一种系统启动方法,应用于电子设备,包括:7.确定硬盘的隐藏分区;8.基于所述隐藏分区的分区信息,创建所述隐藏分区对应的第一gpt分区表;9.在电子设备的bios的启动过程中,基于所述第一gpt分区表,对所述隐藏分区内的操作系统进行启动引导。10.在一些实施例中,基于所述隐藏分区的分区信息,创建所述隐藏分区对应的第一gpt分区表,包括:11.将所述隐藏分区的分区信息按照预设gpt分区表的分区表格式进行填充,生成所述第一gpt分区表。12.在一些实施例中,将所述隐藏分区的分区信息按照预设gpt分区表的分区表格式进行填充,生成所述第一gpt分区表,包括:13.获取所述隐藏分区的第一分区信息,将所述第一分区信息按照预设gpt分区表项的数据格式分别填写到所述第一gpt分区表中hlba2–hlba33位置,并计算所述第一分区信息的第一crc32校验信息,将所述第一crc32校验信息填写到所述hlba2–hlba33位置对应的校验位;14.获取所述隐藏分区的第二分区信息,将所述第二分区信息按照预设gpt分区表头的数据格式填写到第一gpt分区表中hlba1位置,并计算所述第二分区信息的第二crc32校验信息,将所述第二crc32校验信息填写到所述hlba1位置对应的校验位。15.在一些实施例中,在电子设备的bios的启动过程中,基于所述第一gpt分区表,对所述隐藏分区内的操作系统进行启动引导,包括:16.在bios的启动过程中,基于所述第一gpt分区表对所述隐藏分区对应的分区表变量进行解析,其中,所述隐藏分区对应的分区表变量从所述硬盘的隐藏分区预先获取;17.基于解析结果,获取所述操作系统对应的启动文件;18.基于所述启动文件引导所述操作系统启动。19.在一些实施例中,基于所述第一gpt分区表对所述隐藏分区对应的分区表变量进行解析,包括:20.读取所述第一gpt分区表;21.基于所述硬盘的第二gpt分区表获取所述隐藏分区对应的分区表变量,其中,所述第二gpt分区表为所述硬盘预设的gpt分区表;22.将所述分区表变量动态填充至所述第一gpt分区表,对所述分区表变量进行解析。23.在一些实施例中,基于所述第一gpt分区表对所述隐藏分区对应的分区表变量进行解析,包括:24.获取所述第一gpt分区表对应的第一gpt分区表文件;25.基于所述硬盘的第二gpt分区表获取所述隐藏分区对应的分区表变量,其中,所述第二gpt分区表为所述硬盘预设的gpt分区表;26.将所述第一gpt分区表文件的内容赋值给所述分区表变量,对所述分区表变量进行解析。27.在一些实施例中,所述方法还包括:28.将所述第一gpt分区表存储于文件中,得到所述第一gpt分区表文件;29.将所述第一gpt分区表文件存储于bios的非易失性存储器中。30.在一些实施例中,所述方法还包括:31.确定所述隐藏分区处于开启状态;32.对所述隐藏分区进行分区和/或操作系统安装,得到所述隐藏分区的分区信息。33.在一些实施例中,对所述隐藏分区进行分区和/或操作系统安装,包括:34.确定所述隐藏分区的分区属性;和/或35.格式化所述隐藏分区内的文件系统;和/或36.在所述隐藏分区中安装操作系统。37.根据本公开的方案之一,还提供一种系统启动装置,包括:38.确定模块,配置为确定硬盘的隐藏分区;39.创建模块,配置为基于所述隐藏分区的分区信息,创建所述隐藏分区对应的第一gpt分区表;40.启动引导模块,配置为在电子设备的bios的启动过程中,基于所述第一gpt分区表,对所述隐藏分区内的操作系统进行启动引导。41.根据本公开的方案之一,还提供一种电子设备,包括存储器和至少一个处理器,存储器用于存储至少一条计算机程序指令,至少一个处理器用于通过加载并执行所述至少一条计算机程序指令以实现上述的系统启动方法。42.根据本公开的方案之一,还提供一种计算机存储介质,所述计算机存储介质上存储有计算机程序指令;所述计算机程序指令被处理器执行时实现上述的系统启动方法。43.本公开的各种实施例提供的系统启动方法、装置、电子设备及计算机存储介质,在确定出固态硬盘的隐藏分区后,基于所述隐藏分区的分区信息以及预设的gpt分区表的数据格式,创建所述隐藏分区对应的第一gpt分区表,并在电子设备的bios的启动过程中,基于所述第一gpt分区表和所述隐藏分区对应的分区表变量,对所述隐藏分区内的操作系统进行启动引导,使得电子设备的bios能够顺利启动隐藏分区内的操作系统,解决现有技术中bios无法正常启动隐藏分区内的操作系统的问题,可以利用隐藏分区实现重要数据(例如操作系统的备份)的存储,提高系统启动的可靠性和数据的安全性。附图说明44.图1示出gpt分区表的结构示意图;45.图2示出本公开实施例的系统启动方法的一流程图;46.图3示出本公开实施例的系统启动方法中隐藏分区的实际分区示意图(包含3个分区);47.图4示出本公开实施例的系统启动方法中第一gpt分区表的示意图;48.图5示出本公开实施例的系统启动装置的结构示意图。具体实施方式49.此处参考附图描述本公开的各种方案以及特征。50.应理解的是,可以对此处申请的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本公开的范围和精神内的其他修改。51.包含在说明书中并构成说明书的一部分的附图示出了本公开的实施例,并且与上面给出的对本公开的大致描述以及下面给出的对实施例的详细描述一起用于解释本公开的原理。52.通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本公开的这些和其它特性将会变得显而易见。53.还应当理解,尽管已经参照一些具体实例对本公开进行了描述,但本领域技术人员能够确定地实现本公开的很多其它等效形式。54.当结合附图时,鉴于以下详细说明,本公开的上述和其他方面、特征和优势将变得更为显而易见。55.此后参照附图描述本公开的具体实施例;然而,应当理解,所申请的实施例仅仅是本公开的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本公开模糊不清。因此,本文所申请的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本公开。56.下面先对gpt分区表结构进行简要说明。57.图1示出了本公开实施例gpt分区表的结构示意图。如图1所示,图1中实线方框区域为ssd(简称硬盘或磁盘)的隐藏区域,用户通常无法直接访问;图1中虚线方框区域(lba0~lba-1区域段)为用户可以正常访问的硬盘区域。58.如图1中虚线方框区域所示,gpt使用34个lba区块来纪录分区信息,gpt除了前面34个lba之外,在整个硬盘的最后使用33个lba作为备份。gpt分区信息在ssd的lba上指定存放的内容具体为:59.lba0(mbr兼容块):在gpt分区表的最开头,出于兼容性考虑仍然存储了一份传统的mbr(lba0),这个mbr叫做保护性mbr(protectivembr)。保护性mbr保护gpt磁盘不受以前发布的mbr磁盘工具的危害。lba0中存储有启动引导程序+特殊标志符(表示以gpt管理硬盘)。60.lba1:分区表头,定义了硬盘的可用空间以及组成分区表的项的大小和数量。分区表头还记录了硬盘的guid,记录了分区表头本身的位置(总是lba1)和大小以及备份分区表头和分区表的位置和大小(在硬盘的最后,lba-1~lba-34)。同时它还储存着它本身和分区表的crc32校验。固件、引导程序和操作系统在启动时可以根据该校验值来判断分区表是否出错,如果出错了,可以使用软件从硬盘最后的备份gpt中恢复整个分区表,如果备份gpt也校验错误,硬盘将不可使用。即lba1位置存放的信息主要为分区表本身位置的大小+备份用的gpt分区放置的位置+分区表校验码。表1示出了gpt分区表头的数据格式的具体信息。61.表1gpt分区表头的数据格式62.[0063][0064]lba2~33:lba2~33的位置存放的是分区表项。共32个lba,每个lba可存储4组分区记录,每组记录都可独立存在。一个分区表项的前16字节是分区类型guid。接下来的16字节是该分区唯一的guid(这个guid指的是该分区本身,而之前的guid指的是该分区的类型)。再接下来是分区起始和末尾的64位lba编号,以及分区的名字和属性,具体数据格式如表2所示。[0065]表2gpt分区表项的数据格式[0066][0067][0068]lba-1:存放的数据内容是lba1中描述的备份分区表头,与lba1相同,是lba1的备份。[0069]lba-34~lba-2:存放的数据内容是lba1中描述的备份分区表的位置和大小(在硬盘的最后),与lba2~lba33等效并且内容一致。[0070]对带有隐藏分区功能的硬盘进行设置隐藏分区可见可操作和不可见不可操作时,lba的数量会发生变化。当设置隐藏分区为不可见时,按照uefi标准协议中gpt分区表的存放机制,此时的lba1存放磁盘非隐藏区域(正常可视区域)gpt分区表头,lba2~lba33存放非隐藏区域的分区表信息;同时在lba-1上存放非隐藏区域的gpt备份分区表头,lba-33~lba-2存放非隐藏区域的gpt备份分区表。当设置隐藏分区为可见时,此时的lba1存放磁盘全部区域(包含隐藏区域和非隐藏区域)的gpt分区表头,lba2~lba33存放磁盘全部区域的分区表信息;同时在hlba-1上存放备份的磁盘全部区域的gpt备份分区表头,hlba-2~hlba-33存放磁盘全部区域的gpt备份分区表。[0071]如上所述,隐藏分区的不同设置使得存放gpt分区表信息的lba位置和内容不一致。虽然磁盘gpt分区表信息都存放在lba1~lba33,但是,隐藏分区为不可见时,存放的是非隐藏分区的gpt分区信息;隐藏分区为可见时存放的是全盘容量的gpt分区信息,即同样位置的lba1~lba33存放的内容不一致。同时,隐藏分区为不可见时,备份的gpt分区信息存放在lab-34~lba-1位置上;而隐藏分区为可见时,备份的gpt分区信息存放在hlba-34~hlba-1位置上。即上述两种情形下按照uefi标准协议需要存放备份的gpt分区信息的位置不一致,同时存放的内容也不一致。[0072]bios启动操作系统的方式是基于文件系统,在系统启动的bios阶段,需要用到硬盘开始位置的gpt分区信息,即不论是bios固件还是操作系统按照文件系统对硬盘进行访问时,都需要先对硬盘的lba1~lba33进行解析,因此,将隐藏分区打开启动时,由于gpt分区表信息包含了打开隐藏分区后扩展出来的hlba部分的信息(图1中实线方框区域部分),但是此时又无法直接读取该信息,导致bios无法正常引导启动隐藏分区内的操作系统,同时,非隐藏分区可能也无法正常访问。[0073]有鉴于上述技术问题,本公开实施例提供了一种系统启动方法。[0074]需要说明的是,文件系统是操作系统组织管理文件的一种方法,直白点说就是把硬盘上的数据以文件的形式呈现给用户。fat32、ntfs都是常见的文件系统类型。[0075]图2示出了本公开实施例的系统启动方法的流程图。如图2所示,本公开实施例提供了一种系统启动方法,应用于电子设备,所述方法包括:[0076]s101:确定硬盘的隐藏分区。[0077]具体地,当硬盘安装到电子设备后,可以对硬盘进行分区和/或操作系统安装等。其中,对硬盘进行分区可以包括设置非隐藏分区和隐藏分区,并设置各分区数量、大小等。操作系统安装是指在对应的分区内安装操作系统(os)。对硬盘进行操作系统安装可以包括格式化文件系统、设置文件系统类型以及具体操作系统安装等操作。在对隐藏分区进行分区和/或安装操作系统后,可以得到隐藏分区的分区数量、分区大小等分区属性,以及存储的文件系统类型等分区信息。[0078]电子设备可以为台式计算机(pc)、笔记本电脑、平板电脑、手机等微型或小型计算机,也可以为服务器、工控机等大型计算机。电子设备为台式计算机时,操作系统可以为windows、linux等操作系统;电子设备为手机时,操作系统可以为android系统或ios系统等。[0079]s102:基于所述隐藏分区的分区信息,创建所述隐藏分区对应的第一gpt分区表。[0080]步骤s102具体包括:[0081]s1021:将所述隐藏分区的分区信息按照预设gpt分区表的分区表格式进行填充,生成所述第一gpt分区表。[0082]具体地,可以根据上述表1和表2所示的gpt分区表的标准数据格式规定,创建一空白的gpt分区表,并将隐藏分区的分区信息填充至其中,生成第一gpt分区表。第一gpt分区表为根据隐藏分区的分区数量、分区大小、文件系统类型等已知变量静态填写的gpt分区表,以与硬盘中隐藏分区的真实分区信息对应。即分区信息是指隐藏分区相关的固定格式的信息。[0083]第一gpt分区表包括如上述图1中虚线方框区域所示数量的lba,分别为hlba0~hlba-1,其中,hlba0~hlba33为隐藏分区的主分区表,hlba-34~hlba-1为隐藏分区的备份分区表。[0084]s103:在电子设备的bios的启动过程中,基于所述第一gpt分区表,对所述隐藏分区内的操作系统进行启动引导。[0085]步骤s102中创建的第一gpt分区表的分区布局与硬盘原有的第二gpt分区表中隐藏分区的分区布局相同,因此,可以跳过对硬盘真实的第二gpt分区表中隐藏分区对应的lba的访问,基于第一gpt分区表中的信息对对应的lba上的数据按照指定guid文件系统类型进行数据访问,实现隐藏分区对应数据的顺利解析,得到用于启动隐藏分区内的操作系统的启动文件的地址,根据所述地址查找对应的启动文件,进而通过加载所述启动文件引导启动隐藏分区内的操作系统。[0086]由于第一gpt分区表中,各hlba的布局与隐藏分区在硬盘中的真实布局一致,使得利用第一gpt分区表解析出的数据为隐藏分区对应的真实数据,保证解析出的数据的真实可靠性。[0087]本公开实施例提供的系统启动方法在确定出固态硬盘的隐藏分区后,基于所述隐藏分区的分区信息以及预设的gpt分区表的数据格式,创建所述隐藏分区对应的第一gpt分区表,并在电子设备的bios的启动过程中,基于所述第一gpt分区表和所述隐藏分区对应的分区表变量,对所述隐藏分区内的操作系统进行启动引导,使得电子设备的bios能够顺利启动隐藏分区内的操作系统,解决现有技术中bios无法正常启动隐藏分区内的操作系统的问题,可以利用隐藏分区实现重要数据(例如操作系统的备份)的存储,提高系统启动的可靠性和数据的安全性。[0088]本实施例中通过在硬盘设置隐藏分区,不仅能够提高数据安全性,方便后续数据或操作系统的恢复,且不同的分区使数据集中在某个一些存储空间,极大的提高了数据读取的效率;同时,通过上述系统启动方法启动隐藏分区内的操作系统,不仅可以实现隐藏分区内操作系统快速、准确的启动,还可以对隐藏分区内的操作系统定制其他功能,提高整个电子设备的性能。[0089]第一gpt分区表遵从标准uefi协议,可以在uefi固件层开发,以静态填写隐藏分区的gpt分区表信息,生成第一gpt分区表,开发方便,基于硬盘现有的gpt分区表的标准数据格式进行改进即可。[0090]在一些实施例中,步骤s1021中,将所述隐藏分区的分区信息按照预设gpt分区表的分区表格式进行填充,生成所述第一gpt分区表,包括:[0091]1)获取所述隐藏分区的第一分区信息,将所述第一分区信息按照预设gpt分区表项的数据格式分别填写到所述第一gpt分区表中hlba2–hlba33位置,并计算所述第一分区信息的第一crc32校验信息,将所述第一crc32校验信息填写到所述hlba2–hlba33位置对应的校验位;[0092]2)获取所述隐藏分区的第二分区信息,将所述第二分区信息按照预设gpt分区表头的数据格式填写到第一gpt分区表中hlba1位置,并计算所述第二分区信息的第二crc32校验信息,将所述第二crc32校验信息填写到所述hlba1位置对应的校验位。[0093]图3示出了隐藏分区的实际分区信息(包含3个分区),图4示出了生成的第一gpt分区表的分区信息。[0094]具体地,将隐藏分区的第一分区信息按照上述表2中的数据结构填写到hlba2位置对应的bit位(预设gpt分区表项的lba2位置);并计算第一分区信息的第一crc32的校验信息,然后将其填写到hlba2的0x28~0x2f比特位(如图4所示),完成第一gpt分区表项hlba2位置的静态填写。以类似的方式静态填写hlba3~hlba33位置的分区信息。[0095]将隐藏分区的起始lba数值、最后一个分区(图3中三个分区中的最后一个分区)的lab-34数值、分区类型guid值等隐藏分区的第二分区信息分别填入hlba1位置对应的bit位,并计算所述第二分区信息的第二crc32校验信息,然后将其填写到hlba1位置对应的校验位,完成第一gpt分区表头hlba1位置的静态填写。通过上述填写可以得到隐藏分区的gpt主分区表。由于预设gpt分区表中lba0位置是mbr兼容块,因此,本实施例中,仍可采用硬盘原有的第二gpt分区表中的lba0,作为第一gpt分区表中的hlba0。[0096]hlba-34~hlba-1位置填写的是隐藏分区的gpt备份分区表,不做分区使用,hlba-34~hlba-1位置内容的填充可以根据上述填充好的hlba1~hlba33位置内容进行填充,无需手动填充。在各位置填充后,完成第一gpt分区表的静态填充。[0097]本实施例中,在生成第一gpt分区表时,采用循环冗余数据校验(crc,cyclicredundancycheck)方法得到校验值。另一些实施例中,当预设gpt分区表采用奇偶校验、md5等校验方法时,第一gpt分区表中的校验值可以采用对应的校验方法获得。[0098]在一些实施例中,步骤s103中,在电子设备的bios的启动过程中,基于所述第一gpt分区表,对所述隐藏分区内的操作系统进行启动引导,包括:[0099]s1031:在bios的启动过程中,基于所述第一gpt分区表对所述隐藏分区对应的分区表变量进行解析,其中,所述隐藏分区对应的分区表变量从所述硬盘的隐藏分区预先获取;[0100]s1032:基于解析结果,获取所述操作系统对应的启动文件;[0101]s1033:基于所述启动文件引导所述操作系统启动。[0102]bios固件启动打开硬盘的隐藏功能后,bios根据第一gpt分区表对对应的lba上的数据按照指定guid文件系统类型进行数据访问,对隐藏分区内的分区表变量(例如gpt_pation_table)按照efi协议中规定的gpt分区表格式进行数据解析,得到解析结果;然后,基于该解析结果按照第一gpt分区表中的指引分区信息遍历标准的操作系统启动文件,查找到对应的启动文件(例如grub64.efi文件),并利用该启动文件对操作系统进行启动引导,实现隐藏区内操作系统的顺利启动。隐藏分区内的分区表变量可以基于硬盘原有的第二gpt分区表中的分区信息,从隐藏分区中查找获取。[0103]操作系统(例如linux系统)具体启动过程中,可以使用grub引导系统启动,通过步骤s103查找到grubx64.efi文件后,通过grub加载器加载/boot/grub下的模块及配置文件,之后加载操作系统启动内核。[0104]在一些实施例中,步骤s1031中,基于所述第一gpt分区表对所述隐藏分区对应的分区表变量进行解析,包括:[0105]s201:读取所述第一gpt分区表;[0106]s202:基于所述硬盘的第二gpt分区表获取所述隐藏分区对应的分区表变量,其中,所述第二gpt分区表为所述硬盘预设的gpt分区表;[0107]s203:将所述分区表变量动态填充至所述第一gpt分区表,对所述分区表变量进行解析。[0108]具体地,bios启动过程中,读取所述第一gpt分区表的信息,并将从所述硬盘的原有的第二gpt分区表获取的隐藏分区对应的分区表变量(例如上述gpt_pation_table),动态填充到第一gpt分区表中,对隐藏分区内的分区表变量进行数据解析,得到解析结果,然后查找操作系统对应的启动文件。[0109]在另一些实施例中,步骤s1031中,基于所述第一gpt分区表对所述隐藏分区对应的分区表变量进行解析,包括:[0110]s301:获取所述第一gpt分区表对应的第一gpt分区表文件;[0111]s302:基于所述硬盘的第二gpt分区表获取所述隐藏分区对应的分区表变量,其中,所述第二gpt分区表为所述硬盘预设的gpt分区表;[0112]s303:将所述第一gpt分区表文件的内容赋值给所述分区表变量,对所述分区表变量进行解析。[0113]在得到第一gpt分区表后,为方便读取,可以将第一gpt分区表存储为第一gpt分区表文件(例如gpt.info),bios启动操作系统时,快速读取该第一gpt分区表文件,并将所述第一gpt分区表文件的内容赋值给所述分区表变量,以利用第一gpt分区表文件中第一gpt分区表的格式对分区表变量进行数据解析,从而根据解析结果查找操作系统对应的启动文件。步骤s302中分区表变量的获取方式与步骤s202相同,此处不再赘述。[0114]在执行步骤s301之前,所述方法还包括:[0115]s401:将所述第一gpt分区表存储于文件中,得到所述第一gpt分区表文件;[0116]s402:将所述第一gpt分区表文件存储于bios的非易失性存储器中。[0117]本实施例中,在得到第一gpt分区表后将其存储于文件中,并将该文件存储有bios的非易失性存储器(例如flash),可以保证第一gpt分区表的数据安全性,且以文件的形式存储方便数据的快速读取。[0118]在一些实施例中,步骤s101中,所述方法还包括:[0119]确定所述隐藏分区处于开启状态;[0120]对所述隐藏分区进行分区设置和/或操作系统安装,得到所述隐藏分区的分区信息。[0121]本实施例中,硬盘安装后,可以先对非隐藏分区进行分区设置和操作系统安装。在硬盘的开始处lba0~lba34储存protectivembr和非隐藏分区的gpt主分区表、在磁盘的最后lba-33~lba-1就会储存非隐藏分区的gpt备份分区表。[0122]之后开启隐藏分区,对隐藏分区进行设置,将隐藏分区的lba扩展至操作系统,同时,在隐藏分区进行分区设置和操作系统安装等,从而得到隐藏分区的分区信息。[0123]图5示出了本公开实施例的系统启动装置的结构示意图。如图5所示,本公开实施例还提供了一种系统启动装置,包括:[0124]获得模块100,配置为确定硬盘的隐藏分区;[0125]创建模块200,配置为基于所述隐藏分区的分区信息,创建所述隐藏分区对应的第一gpt分区表;[0126]启动引导模块300,配置为在电子设备的bios的启动过程中,基于所述第一gpt分区表,对所述隐藏分区内的操作系统进行启动引导。[0127]在一些实施例中,创建模块200进一步配置为:[0128]将所述隐藏分区的分区信息按照预设gpt分区表的分区表格式进行填充,生成所述第一gpt分区表。[0129]在一些实施例中,创建模块200进一步配置为:[0130]获取所述隐藏分区的第一分区信息,将所述第一分区信息按照预设gpt分区表项的数据格式分别填写到所述第一gpt分区表中hlba2–hlba33位置,并计算所述第一分区信息的第一crc32校验信息,将所述第一crc32校验信息填写到所述hlba2–hlba33位置对应的校验位;[0131]获取所述隐藏分区的第二分区信息,将所述第二分区信息按照预设gpt分区表头的数据格式填写到第一gpt分区表中hlba1位置,并计算所述第二分区信息的第二crc32校验信息,将所述第二crc32校验信息填写到所述hlba1位置对应的校验位。[0132]在一些实施例中,启动引导模块300进一步配置为:[0133]在bios的启动过程中,基于所述第一gpt分区表对所述隐藏分区对应的分区表变量进行解析,其中,所述隐藏分区对应的分区表变量从所述硬盘的隐藏分区预先获取;[0134]基于解析结果,获取所述操作系统对应的启动文件;[0135]基于所述启动文件引导所述操作系统启动。[0136]在一些实施例中,启动引导模块300进一步配置为:[0137]读取所述第一gpt分区表;[0138]基于所述硬盘的第二gpt分区表获取所述隐藏分区对应的分区表变量,其中,所述第二gpt分区表为所述硬盘预设的gpt分区表;[0139]将所述分区表变量动态填充至所述第一gpt分区表,对所述分区表变量进行解析。[0140]在一些实施例中,启动引导模块300进一步配置为:[0141]获取所述第一gpt分区表对应的第一gpt分区表文件;[0142]基于所述硬盘的第二gpt分区表获取所述隐藏分区对应的分区表变量,其中,所述第二gpt分区表为所述硬盘预设的gpt分区表;[0143]将所述第一gpt分区表文件的内容赋值给所述分区表变量,对所述分区表变量进行解析。[0144]在一些实施例中,还包括存储模块,配置为:[0145]将所述第一gpt分区表存储于文件中,得到所述第一gpt分区表文件;[0146]将所述第一gpt分区表文件存储于bios的非易失性存储器中。[0147]在一些实施例中,还包括分区模块,配置为:[0148]确定所述隐藏分区处于开启状态;[0149]对所述隐藏分区进行分区和/或操作系统安装,得到所述隐藏分区的分区信息。[0150]在一些实施例中,分区模块进一步配置为:[0151]确定所述隐藏分区的分区属性;和/或[0152]格式化所述隐藏分区内的文件系统;和/或[0153]在所述隐藏分区中安装操作系统。[0154]本公开实施例提供的系统启动装置与上述实施例中的系统启动方法相对应,基于上述的系统启动方法,本领域的技术人员能够了解本公开实施例中系统启动装置具体实施方式以及其各种变化形式,系统启动方法实施例中的任何可选项也适用于系统启动装置,在此不再赘述。[0155]本公开实施例还提供了一种电子设备,包括存储器和至少一个处理器,存储器用于存储至少一条计算机程序指令,至少一个处理器用于通过加载并执行所述至少一条计算机程序指令以实现如上实施例所述的系统启动方法。[0156]其中,存储器可用于存储软件程序以及模块,如本公开实施例中的系统启动方法对应的程序指令/模块。至少一个处理器可以为上述的多gpu的架构,或cpu、fpga、和gpu中至少两种组合的架构。处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的系统启动方法。[0157]进一步地,存储器可以包括bios存储器,以存储上述第一gpt分区表、第一gpt分区表文件等,保证数据的安全性以及数据读取的方便快捷性。[0158]本公开实施例还提供一种计算机存储介质,所述计算机存储介质上存储有计算机程序指令;所述计算机程序指令被处理器执行时实现如上实施例所述的系统启动方法。[0159]需要说明的是,本公开实施例实现上述方法实施例的全部或部分步骤可以通过计算机可执行指令(程序)相关的硬件来完成,上述的计算机可执行指令可以存储于计算机可读取存储介质中,该计算机可执行指令在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:只读存储器(readonlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、移动存储设备、磁碟或者光盘等各种可以存储计算机可执行指令的介质。特别地,本实施例中,计算机存储介质可以为上述待分区或分区后的硬盘。[0160]以上实施例仅为本公开的示例性实施例,不用于限制本公开,本公开的保护范围由权利要求书限定。本领域技术人员可以在本公开的实质和保护范围内,对本公开做出各种修改或等同替换,这种修改或等同替换也应视为落在本公开的保护范围内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1