CN117215657A - 系统启动方法、装置、计算机设备和可读存储介质 - Google Patents
系统启动方法、装置、计算机设备和可读存储介质 Download PDFInfo
- Publication number
- CN117215657A CN117215657A CN202311132343.9A CN202311132343A CN117215657A CN 117215657 A CN117215657 A CN 117215657A CN 202311132343 A CN202311132343 A CN 202311132343A CN 117215657 A CN117215657 A CN 117215657A
- Authority
- CN
- China
- Prior art keywords
- data
- partition
- data storage
- storage partition
- user data
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 103
- 238000005192 partition Methods 0.000 claims abstract description 255
- 238000013500 data storage Methods 0.000 claims abstract description 156
- 230000002159 abnormal effect Effects 0.000 claims abstract description 77
- 230000008569 process Effects 0.000 claims description 60
- 238000004590 computer program Methods 0.000 claims description 7
- 230000004913 activation Effects 0.000 claims 1
- 230000005856 abnormality Effects 0.000 description 20
- 238000011084 recovery Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 7
- 230000008439 repair process Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000007858 starting material Substances 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种系统启动方法、装置、计算机设备和可读存储介质,所述方法包括:判断确定挂载在第一目录下的数据存储分区中的用户数据在系统启动时是否异常,所述数据存储分区中存储有使系统正常启动的用户数据;若正常,则根据数据存储分区中的用户数据启动系统;若异常,则卸载所述数据存储分区,并将数据备份分区挂载在所述第一目录下,所述数据备份分区是所述数据存储分区的镜像分区;通过所述第一目录读取所述数据备份分区中的用户数据,并根据所述数据备份分区中的用户数据启动系统。采用本系统启动方法,当用户数据出现异常时,能够使Android系统正常启动。
Description
技术领域
本申请涉及Android系统技术领域,特别涉及一种系统启动方法、装置、计算机设备和计算机可读存储介质。
背景技术
随着Android系统技术的发展,Android系统被越来越广泛地应用于设备,系统启动所涉及的用户数据亦越来越庞杂。受Android系统稳定性、用户操作不当及终端设备异常断电等因素的影响,用户数据可能会被损坏或被丢失。在传统技术中,当用户数据出现异常时,存在Android系统较难正常启动的不足。
发明内容
基于此,有必要针对上述技术问题,提供一种当用户数据出现异常时,使Android系统能够正常启动的系统启动方法、装置、计算机设备和计算机可读存储介质。
第一方面,本申请提供了一种系统启动方法,所述方法包括:
判断挂载在第一目录下的数据存储分区中的用户数据在系统启动时是否异常,所述数据存储分区中存储有使系统正常启动的用户数据;
若正常,则根据所述数据存储分区中的用户数据启动系统;
若异常,则卸载所述数据存储分区,并将数据备份分区挂载在所述第一目录下,所述数据备份分区是所述数据存储分区的镜像分区;
通过所述第一目录读取所述数据备份分区中的用户数据,并根据所述数据备份分区中的用户数据启动系统。
在其中一个实施例中,所述根据所述数据备份分区中的用户数据启动系统之后,还包括:
根据数据修复指令,修复所述数据存储分区中的用户数据;
若对所述数据存储分区中的用户数据修复失败,则输出格式化提示信息,以提醒用户根据所述格式化提示信息将所述数据存储分区格式化。
在其中一个实施例中,所述根据所述数据备份分区中的用户数据启动系统之后,或根据所述数据存储分区中的用户数据启动系统之后,包括:
检查所述数据存储分区的挂载标记类型;
若检查到所述数据存储分区的挂载标记类型为挂载失败,则输出所述数据修复指令。
在其中一个实施例中,所述判断挂载在第一目录下的数据存储分区中的用户数据在系统启动时是否异常,包括:
读取挂载在所述第一目录下的所述数据存储分区的访问权限类型;
若所述访问权限类型为只读权限,则确定所述数据存储分区中的用户数据在系统启动时异常。
在其中一个实施例中,所述启动系统,包括:
检测系统服务是否出现异常;
若所述系统服务出现异常,则进行重启,直至所述系统服务未出现异常或重启次数大于预设次数阈值;
若所述重启次数大于所述预设次数阈值,则擦除所述数据存储分区或所述数据备份分区中的用户数据,并重启系统。
在其中一个实施例中,所述若所述系统服务出现异常,则进行重启,还包括:
若所述系统服务出现异常,则触发救援模式;
若触发所述救援模式的次数达到第一等级对应的次数,则累计所述重启次数,并进行重启,其中,所述重启次数的初始值为0。
在其中一个实施例中,所述启动系统,还包括:
若所述系统服务未出现异常,则进入系统就绪进程;
若在进入所述系统就绪进程后,检查到救援模式触发标记,则输出擦除提示信息,以提示用户所述数据存储分区或所述数据备份分区中的用户数据将被擦除;
擦除所述数据存储分区或所述数据备份分区中的用户数据,并重启系统;
若未检查到所述救援模式触发标记,则进入系统桌面,以完成系统启动。
第二方面,本申请还提供了一种系统启动装置,所述装置包括:
判断模块,用于判断挂载在第一目录下的数据存储分区中的用户数据在系统启动时是否异常,所述数据存储分区中存储有使系统正常启动的用户数据;
启动模块,用于若正常,则根据所述数据存储分区中的用户数据启动系统;
挂载模块,用于若异常,则卸载所述数据存储分区,并将数据备份分区挂载在所述第一目录下,所述数据备份分区是所述数据存储分区的镜像分区;
上述启动模块,还用于通过所述第一目录读取所述数据备份分区中的用户数据,并根据所述数据备份分区中的用户数据启动系统。
第三方面,本申请还提供了一种计算机设备,包括:存储器、处理器,其中,所述存储器存储有程序指令;所述程序指令被所述处理器执行时,使所述处理器执行如第一方面以及第一方面的任一实施例描述的方法。
第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序;当所述计算机程序在一个或多个处理器上运行时,执行如第一方面以及第一方面的任一实施例描述的方法。
上述第一方面提供的系统启动方法,数据存储分区中存储有使Android系统正常启动的用户数据,首先判断挂载在第一目录下的数据存储分区中的用户数据在系统启动时是否异常。若正常,则根据此数据存储分区中的用户数据启动系统。若异常,则可卸载此数据存储分区,并将为数据存储分区的镜像分区的数据备份分区,挂载在第一目录下,以使Android系统在启动过程中访问挂载在第一目录下的数据备份分区,并读取数据备份分区中未出现异常的用户数据。进而,根据数据备份分区中的用户数据正常启动系统。采用本系统启动方法,Android系统中预先配置有数据存储分区和数据备份分区,其中,数据存储分区为用户数据默认的存储分区,数据备份分区则为默认的数据存储分区的镜像分区。当数据存储分区中的用户数据出现异常时,能够根据数据备份分区中未出现异常的用户数据正常启动Android系统。
可以理解地,上述第二方面提供的系统启动装置、第三方面提供的计算机设备和第四方面提供的计算机可读存储介质均用于执行本申请第一方面或第一方面的任一实施例所示的方法。因此,其所能达到的有益效果可参考对应方法中的有益效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的系统启动方法的流程示意图之一;
图2为本申请实施例提供的判断挂载在第一目录下的数据存储分区中的用户数据在系统启动时是否异常的流程示意图;
图3为本申请实施例提供的启动系统的流程示意图之一;
图4为本申请实施例提供的若系统服务出现异常,则进行重启的流程示意图;
图5为本申请实施例提供的启动系统的流程示意图之二;
图6为本申请实施例提供的启动系统的流程示意图之三;
图7为本申请实施例提供的系统启动方法的流程示意图之二;
图8为本申请实施例提供的系统启动方法的流程示意图之三;
图9为本申请实施例提供的系统启动装置的结构示意图;
图10为本申请实施例提供的计算机设备的结构示意图。
具体实施方式
为了便于理解本申请实施例,下面将参照相关附图对本申请实施例进行更全面的描述。附图中给出了本申请实施例的首选实施例。但是,本申请实施例可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本申请实施例的公开内容更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请实施例的技术领域的技术人员通常理解的含义相同。本文中在本申请实施例的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请实施例。
在使用时,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解的是,术语“包括/包含”指定所陈述的特征、整体、步骤、操作、部分或它们的组合的存在,但是不排除存在或添加一个或更多个其他特征、整体、步骤、操作、部分或它们的组合的可能性。
如图1所示,本申请实施例提供的系统启动方法包括以下步骤S101至S104。
S101,判断挂载在第一目录下的数据存储分区中的用户数据在系统启动时是否异常,数据存储分区中存储有使系统正常启动的用户数据。其中,第一目录是指预先配置好的用于访问存储用户数据的分区的文件目录。
具体地,将传统的用于存储用户数据的分区划分为数据存储分区和数据备份分区两部分。其中,当使用Android系统的设备开机时,依次加载引导程序和启动内核进程,当内核完成相应设置后,启动init初始化进程进行初始化,初始化时仍默认将数据存储分区挂载至第一目录下,用于存储使系统正常启动的用户数据及接受系统访问。数据备份分区则作为数据存储分区的镜像分区,用于备份数据存储分区中的用户数据,可配置如100M的存储容量。当数据存储分区中的用户数据在系统启动时出现异常时,数据备份分区及其中未出现异常的用户数据则可用于保障系统的正常启动。
如图2所示,在其中一个实施例中,上述步骤S101包括以下步骤S201至S202。
S201,读取挂载在第一目录下的数据存储分区的访问权限类型。其中,访问权限类型包括读权限、写权限、执行权限和无权限四大类,此四类权限可以进行组合,如读写权限。
S202,若访问权限类型为只读权限,则确定数据存储分区中的用户数据在系统启动时异常。其中,只读权限是指只具有对此数据存储分区的读权限,不能写入亦无法执行。
在本实施例中,可以根据数据存储分区的访问权限类型判断数据存储分区中的用户数据是否异常。当访问权限类型为只读权限时,系统启动过程中则无法正常访问数据存储分区,此时可判定数据存储分区已经损坏,进而可确定数据存储分区中的用户数据在系统启动时出现异常。
S102,若正常,则根据数据存储分区中的用户数据启动系统。
具体地,数据存储分区中的用户数据未出现异常,则可以维持挂载默认的数据存储分区,使Android系统读取其中正常的用户数据以正常启动。
S103,若异常,则卸载数据存储分区,并将数据备份分区挂载在第一目录下,数据备份分区是数据存储分区的镜像分区。
具体地,若异常,在init进程中,则将已经损坏的数据存储分区从第一目录下卸载,并自动将数据备份分区挂载至第一目录下,以使在此次系统启动过程中通过第一目录正常访问数据备份分区,并读取其中未出现异常的用户数据,进而保障系统的后续正常启动。
S104,通过第一目录读取数据备份分区中的用户数据,并根据数据备份分区中的用户数据启动系统。
在本实施例中,在使用Android系统的设备上实现多分区功能,当数据存储分区中的用户数据出现异常时,能够根据数据备份分区中未出现异常的用户数据正常启动Android系统,以保障设备正常进入系统。本实施例中的系统启动方法打破了系统能力的限制,增强了系统的自恢复功能,提升了用户体验感。
如图3所示,在其中一个实施例中,上述步骤S102或S104中启动系统包括以下步骤S301至S303。
S301,检测系统服务是否出现异常。
具体地,在init进程完成初始化后,则基于用户数据,通过init进程依次直接或间接创建后续系统启动过程中的进程。首先,通过init进程启动系统,即启动Zygote孵化器进程,并检测系统服务是否出现异常,如引导程序异常、常驻进程崩溃、服务崩溃等。
S302,若系统服务出现异常,则进行重启,直至系统服务未出现异常或重启次数大于预设次数阈值。其中,预设次数阈值可以根据一般需求提前予以配置,也可以在系统服务出现异常后根据实际情况进行设置。
如图4所示,在其中一个实施例中,上述步骤S302中若系统服务出现异常,则进行重启包括以下步骤S401至S402。
S401,若系统服务出现异常,则触发救援模式。
具体地,若检测出出现了如引导程序异常、常驻进程崩溃、服务崩溃等系统服务异常,则会触发救援模式,以表示需要系统救援及解除异常。
S402,若触发救援模式的次数达到第一等级对应的次数,则累计重启次数,并进行重启,其中,重启次数的初始值为0。
其中,触发救援模式的次数越多,表明系统异常程度越高,对应的救援模式等级则越高,第一等级用于表征较高的救援模式等级,如救援模式分为等级1、等级2、等级3和等级4,且自等级1至等级4依次对应越来越高的系统异常程度时,则可配置第一等级为等级4。
S303,若重启次数大于预设次数阈值,则擦除数据存储分区或数据备份分区中的用户数据,并重启系统。其中,若是根据数据存储分区中的用户数据启动系统,则为擦除数据存储分区中的用户数据;若是根据数据备份分区中的用户数据启动系统,则为擦除数据备份分区中的用户数据。
具体地,若救援模式达到第一等级,则首先通过重新启动Zygote进程以进行系统的自恢复救援。若通过多次重启Zygote进程仍无法自行解除系统服务异常,则直接擦除数据存储分区或数据备份分区中的出现异常的用户数据,进而重新启动Zygote进程,以解除系统服务异常并使系统正常启动。更详细地,若救援模式达到第一等级,则初始化重新启动Zygote进程的次数,并自初始值0开始累计,以判断重新启动Zygote进程的次数是否大于预设次数阈值,比如3次。可以理解地,救援模式达到第一等级之初,累计的重新启动Zygote进程的次数则为0,之后每重启一次Zygote进程,累计的次数则递增1。若重新启动Zygote进程的次数不大于预设次数阈值,则继续重启Zygote进程以进行系统的自恢复救援,若此过程中检测到系统服务未出现异常,则表明系统得以自恢复,可以继续后续进程的启动。若重新启动Zygote进程的次数大于预设次数阈值,则可认为系统无法自行解除系统服务异常,此时可直接擦除数据存储分区或数据备份分区中出现异常的用户数据,并再重新启动Zygote进程以救援系统。
示例性地,在直接擦除用户数据之前,可以可查看的形式提示用户数据存储分区或数据备份分区中的用户数据将被擦除,或请求用户确认是否擦除数据存储分区或数据备份分区中的用户数据。
在本实施例中,一方面,添加救援模式重启机制,即当出现系统服务异常,系统触发了救援模式时,可以通过多次重新启动Zygote进程进行系统的自恢复救援,打破了系统能力的限制,增强了系统的自恢复功能,提升了用户体验感。另一方面,当通过预设次数阈值对应的次数重启Zygote进程仍无法自行解除系统服务异常,则直接擦除数据存储分区或数据备份分区中的出现异常的用户数据,进而重新启动Zygote进程,以解除系统服务异常并使系统正常启动,有利于保障系统救援的效率。同时,直接擦除出现异常的用户数据并重启Zygote进程,无需使系统进入Recovery模式,避免了没有Recovery模式对应的实体键的情形下,较难进行系统救援以启动系统的问题。
如图5所示,在其中一个实施例中,上述步骤S102或S104中启动系统包括以下步骤S501至S507。其中,本实施例中的步骤S501至S503与前述实施例中的步骤S301至S303一一对应,本实施例中的步骤S501至S503可参照前述实施例的论述,此处不再赘述。
S501,检测系统服务是否出现异常。
S502,若系统服务出现异常,则进行重启,直至系统服务未出现异常或重启次数大于预设次数阈值。
S503,若重启次数大于预设次数阈值,则擦除数据存储分区或数据备份分区中的用户数据,并重启系统。
S504,若系统服务未出现异常,则进入系统就绪进程。其中,通过Zygote进程启动System Ready系统就绪进程,System Ready进程崩溃会导致系统触发救援模式及写入救援模式触发标记。具体地,System Ready进程崩溃,则意味着Android系统启动出错,此时系统会触发救援模式并写入救援模式触发标记,以表示需要进行系统救援及解除异常。
S505,若在进入系统就绪进程后,检查到救援模式触发标记,则输出擦除提示信息,以提示用户数据存储分区或数据备份分区中的用户数据将被擦除。
具体地,进入System Ready进程后,检查系统是否写入了救援模式触发标记,若检查到了救援模式触发标记,则表示系统启动异常,需要进行系统救援及解除异常。此时输出擦除提示信息,以可查看的形式提示用户数据存储分区或数据备份分区中的用户数据将被擦除。
示例性地,检查到救援模式触发标记,亦可输出数据擦除请求,以可查看的形式请求用户确认是否擦除数据备份分区中的用户数据,进而根据用户的确认擦除指令执行步骤S506,以增强用户的主导性。
S506,擦除数据存储分区或数据备份分区中的用户数据,并重启系统。
具体地,直接擦除掉出现异常的用户数据并自动重启Zygote进程进行系统自恢复,即再次启动系统。
S507,若未检查到救援模式触发标记,则进入系统桌面,以完成系统启动。
具体地,若未检查到救援模式触发标记,则表示系统启动过程正常,进而通过System Ready进程启动Launcher桌面启动器进程,即进入系统桌面。Launcher进程可用于启动应用程序、显示和管理应用程序的快捷图标或者其它桌面组件。当Launcher进程启动完成时,表明Android系统得以正常启动,设备则正常进入了Android系统。
在本实施例中,当系统未触发救援模式时,可直接完成Android系统的正常启动,保障设备正常进入Android系统。当系统触发了救援模式,需要进行系统救援时,无需用户操作Recovery恢复模式对应的实体键,以使系统进入Recovery模式,进而擦除出现异常的用户数据,而是直接以可查看的形式提示用户后,直接自行擦除出现异常的用户数据,并重启Zygote进程进行系统自恢复。本实施例中的系统启动方法提高了系统的自恢复能力,无需使系统进入Recovery模式,且避免了没有Recovery模式对应的实体键的情形下,较难进行系统救援以启动系统的问题。同时,以可查看的形式提醒用户,提升了用户的体验感。
如图6所示,在其中一个实施例中,上述步骤S102或S104中启动系统包括以下步骤S601至S608。
自开始启动系统,执行S601,检测系统服务是否出现异常。
若系统服务出现异常,则执行S602,触发救援模式。
S603,若触发救援模式的次数达到第一等级对应的次数,则累计重启次数,其中,重启次数的初始值为0。
S604,判断重启次数是否大于预设次数阈值。
若重启次数不大于预设次数阈值,则重启系统。
若重启次数大于预设次数阈值,则执行S605,擦除数据存储分区或数据备份分区中的用户数据,并重启系统。
若系统服务未出现异常,则执行S606,进入系统就绪进程。
S607,若检查到救援模式触发标记,则输出擦除提示信息,以提示用户数据存储分区或数据备份分区中的用户数据将被擦除。进而,执行S605。
S608,若未检查到救援模式触发标记,则进入系统桌面,以完成系统启动。
需要说明的是,本实施例的有益效果可以参见图3-图5所示的实施例的有益效果,在此不进行赘述。
如图7所示,在其中一个实施例中,系统启动方法包括以下步骤S701至S706。其中,本实施例中的步骤S701至S704与前述实施例中的步骤S101至S104一一对应,本实施例中的步骤S701至S704可参照前述实施例的论述,此处不再赘述。
S701,判断挂载在第一目录下的数据存储分区中的用户数据在系统启动时是否异常,数据存储分区中存储有使系统正常启动的用户数据。
S702,若正常,则根据数据存储分区中的用户数据启动系统。
S703,若异常,则卸载数据存储分区,并将数据备份分区挂载在第一目录下,数据备份分区是数据存储分区的镜像分区。
S704,通过第一目录读取数据备份分区中的用户数据,并根据数据备份分区中的用户数据启动系统。
S705,根据数据修复指令,修复数据存储分区中的用户数据。
具体地,根据预先配置的数据修复指令,对已经损坏的数据存储分区及存在异常的用户数据进行修复,以使重新启动系统时,能够正常访问数据存储分区。其中,数据修复指令可以为fsck文件系统检测指令等。
S706,若对数据存储分区中的用户数据修复失败,则输出格式化提示信息,以提醒用户根据格式化提示信息将数据存储分区格式化。
具体地,如果根据数据修复指令仍无法对数据存储分区及其中的用户数据进行修复,则输出格式化提示信息,以提醒用户将数据存储分区格式化,以实现待重新启动系统时能够正常访问默认挂载的数据存储分区的目的。
在本实施例中,设备进入Android系统后,先根据数据修复指令对数据存储分区及其中的用户数据进行修复,待无法实现自行恢复时,再指示用户将数据存储分区格式化,既能使用户数据恢复正常,实现待重新启动系统时能够正常访问默认挂载的数据存储分区的目的,也能提升用户的体验感。
如图8所示,在其中一个实施例中,系统启动方法包括以下步骤S801至S808。其中,本实施例中的步骤S801至S804、S807至S808与前述实施例中的步骤S701至S706一一对应,本实施例中的步骤S801至S804、S807至S808可参照前述实施例的论述,此处不再赘述。
S801,判断挂载在第一目录下的数据存储分区中的用户数据在系统启动时是否异常,数据存储分区中存储有使系统正常启动的用户数据。
S802,若正常,则根据数据存储分区中的用户数据启动系统。
S803,若异常,则卸载数据存储分区,并将数据备份分区挂载在第一目录下,数据备份分区是数据存储分区的镜像分区。
S804,通过第一目录读取数据备份分区中的用户数据,并根据数据备份分区中的用户数据启动系统。
S805,检查数据存储分区的挂载标记类型。
具体地,若init进程中挂载的是数据存储分区,系统标记的挂载标记为true,即挂载成功;若挂载的是数据备份分区,系统标记的挂载标记则为false,即挂载失败,表明此时挂载的不是默认的数据存储分区,亦表明数据存储分区存在损坏,需要对数据存储分区的用户数据进行修复。基于此,根据挂载标记的类型为挂载成功或挂载失败,则可知晓当前第一目录下挂载的是否为数据存储分区,可知晓是否需对数据存储分区中的用户数据进行修复。
S806,若检查到数据存储分区的挂载标记类型为挂载失败,则输出数据修复指令。
示例性地,若检查到数据存储分区的挂载标记类型为挂载成功,则不输出数据修复指令,亦无需执行步骤S807至S808。
S807,根据数据修复指令,修复数据存储分区中的用户数据。
S808,若对数据存储分区中的用户数据修复失败,则输出格式化提示信息,以提醒用户根据格式化提示信息将数据存储分区格式化。
在本实施例中,根据挂载标记的类型为挂载成功或挂载失败,则可知晓当前第一目录下挂载的是否为数据存储分区,可知晓是否需对数据存储分区中的用户数据进行修复,有利于对数据存储分区及其中的用户数据进行及时地修复。
如图9所示,本申请实施例还提供了一种系统启动装置900。系统启动装置900包括判断模块901、启动模块902和挂载模块903。判断模块901,用于判断挂载在第一目录下的数据存储分区中的用户数据在系统启动时是否异常,数据存储分区中存储有使系统正常启动的用户数据。启动模块902,用于若正常,则根据数据存储分区中的用户数据启动系统。挂载模块903,用于若异常,则卸载数据存储分区,并将数据备份分区挂载在第一目录下,数据备份分区是数据存储分区的镜像分区。上述启动模块902,还用于通过第一目录读取数据备份分区中的用户数据,并根据数据备份分区中的用户数据启动系统。
在其中一个实施例中,上述系统启动装置900还包括修复模块和第一输出模块。修复模块用于根据数据修复指令,修复数据存储分区中的用户数据。第一输出模块用于若对数据存储分区中的用户数据修复失败,则输出格式化提示信息,以提醒用户根据格式化提示信息将数据存储分区格式化。
在其中一个实施例中,上述系统启动装置900还包括检查模块和第二输出模块。检查模块用于检查数据存储分区的挂载标记类型。第二输出模块用于若检查到数据存储分区的挂载标记类型为挂载失败,则输出数据修复指令。
在其中一个实施例中,上述判断模块901包括读取单元和确定单元。读取单元用于读取挂载在第一目录下的数据存储分区的访问权限类型。确定单元用于若访问权限类型为只读权限,则确定数据存储分区中的用户数据在系统启动时异常。
在其中一个实施例中,上述启动模块902包括检测单元、重启单元和数据擦除单元。检测单元用于检测系统服务是否出现异常。重启单元用于若系统服务出现异常,则进行重启,直至系统服务未出现异常或重启次数大于预设次数阈值。数据擦除单元用于若重启次数大于预设次数阈值,则擦除数据存储分区或数据备份分区中的用户数据,并重启系统。
在其中一个实施例中,上述重启单元还用于若系统服务出现异常,则触发救援模式;若触发救援模式的次数达到第一等级对应的次数,则累计重启次数,并进行重启,其中,重启次数的初始值为0。
在其中一个实施例中,上述启动模块902还包括第一进程单元、信息输出单元和第二进程单元。第一进程单元用于若系统服务未出现异常,则进入系统就绪进程。信息输出单元用于若在进入系统就绪进程后,检查到救援模式触发标记,则输出擦除提示信息,以提示用户数据存储分区或数据备份分区中的用户数据将被擦除,上述数据擦除单元则擦除数据存储分区或数据备份分区中的用户数据,并重启系统。第二进程单元用于若未检查到救援模式触发标记,则进入系统桌面,以完成系统启动。
关于第一目录、第一等级等名词的解释可以参照上文方法实施例中的相关描述,在此不再详述。
需要说明的是,上述系统启动装置900的具体执行过程可以参见图1-图8所示的实施例的具体说明,在此不进行赘述。
上述系统启动装置900中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
如图10所示,本申请实施例还提供了一种计算机设备100。示例性的,计算机设备100可以包括处理器101、通信总线102、通信接口103以及存储器104。具体的,计算机设备100可以包括:
至少一个处理器101,例如CPU,至少一个通信接口103,存储器104,至少一个通信总线102。其中,通信总线102用于实现这些组件之间的连接通信。通信接口103可选的可以包括标准的有线接口、无线接口(如WI-FI接口或蓝牙接口等)。存储器104可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器104可选的还可以是至少一个位于远离前述处理器101的存储装置。如图10所示,作为一种计算机存储介质的存储器104中可以包括操作系统和程序指令。
示例性的,处理器101可以用于实现上述图9中的判断模块901、启动模块902和挂载模块903所执行的步骤或方法。
可理解的,以上的方式仅为示例,也可以由处理器101以及上述计算机设备100中的其他模块配合执行上述图9中的判断模块901、启动模块902和挂载模块903所执行的步骤或方法,本文对此不做限定。
在图10所示的计算机设备中,处理器101可以用于加载存储器104中存储的程序指令,并具体执行以下操作:
判断挂载在第一目录下的数据存储分区中的用户数据在系统启动时是否异常,数据存储分区中存储有使系统正常启动的用户数据;
若正常,则根据数据存储分区中的用户数据启动系统;
若异常,则卸载数据存储分区,并将数据备份分区挂载在第一目录下,数据备份分区是数据存储分区的镜像分区;
通过第一目录读取数据备份分区中的用户数据,并根据数据备份分区中的用户数据启动系统。
关于第一目录、第一等级等名词的解释可以参照上文方法实施例中的相关描述,在此不再详述。
需要说明的是,具体执行过程可以参见图1至图8所示的实施例的具体说明,在此不进行赘述。
本申请实施例还提供了一种计算机可读存储介质,上述计算机可读存储介质可以存储有多条指令,上述指令适于由处理器加载并执行如上述图1至图8所示的实施例的方法步骤,具体执行过程可以参见图1至图8所示实施例的具体说明,在此不进行赘述。
上述实施例中所用,根据上下文,术语“当…时”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“若检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘)等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种系统启动方法,其特征在于,所述方法包括:
判断挂载在第一目录下的数据存储分区中的用户数据在系统启动时是否异常,所述数据存储分区中存储有使系统正常启动的用户数据;
若正常,则根据所述数据存储分区中的用户数据启动系统;
若异常,则卸载所述数据存储分区,并将数据备份分区挂载在所述第一目录下,所述数据备份分区是所述数据存储分区的镜像分区;
通过所述第一目录读取所述数据备份分区中的用户数据,并根据所述数据备份分区中的用户数据启动系统。
2.根据权利要求1所述的方法,其特征在于,所述根据所述数据备份分区中的用户数据启动系统之后,还包括:
根据数据修复指令,修复所述数据存储分区中的用户数据;
若对所述数据存储分区中的用户数据修复失败,则输出格式化提示信息,以提醒用户根据所述格式化提示信息将所述数据存储分区格式化。
3.根据权利要求2所述的方法,其特征在于,所述根据所述数据备份分区中的用户数据启动系统之后,或根据所述数据存储分区中的用户数据启动系统之后,包括:
检查所述数据存储分区的挂载标记类型;
若检查到所述数据存储分区的挂载标记类型为挂载失败,则输出所述数据修复指令。
4.根据权利要求1所述的方法,其特征在于,所述判断挂载在第一目录下的数据存储分区中的用户数据在系统启动时是否异常,包括:
读取挂载在所述第一目录下的所述数据存储分区的访问权限类型;
若所述访问权限类型为只读权限,则确定所述数据存储分区中的用户数据在系统启动时异常。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述启动系统,包括:
检测系统服务是否出现异常;
若所述系统服务出现异常,则进行重启,直至所述系统服务未出现异常或重启次数大于预设次数阈值;
若所述重启次数大于所述预设次数阈值,则擦除所述数据存储分区或所述数据备份分区中的用户数据,并重启系统。
6.根据权利要求5所述的方法,其特征在于,所述若所述系统服务出现异常,则进行重启,还包括:
若所述系统服务出现异常,则触发救援模式;
若触发所述救援模式的次数达到第一等级对应的次数,则累计所述重启次数,并进行重启,其中,所述重启次数的初始值为0。
7.根据权利要求5所述的方法,其特征在于,所述启动系统,还包括:
若所述系统服务未出现异常,则进入系统就绪进程;
若在进入所述系统就绪进程后,检查到救援模式触发标记,则输出擦除提示信息,以提示用户所述数据存储分区或所述数据备份分区中的用户数据将被擦除;
擦除所述数据存储分区或所述数据备份分区中的用户数据,并重启系统;
若未检查到所述救援模式触发标记,则进入系统桌面,以完成系统启动。
8.一种系统启动装置,其特征在于,所述装置包括:
判断模块,用于判断挂载在第一目录下的数据存储分区中的用户数据在系统启动时是否异常,所述数据存储分区中存储有使系统正常启动的用户数据;
启动模块,用于若正常,则根据所述数据存储分区中的用户数据启动系统;
挂载模块,用于若异常,则卸载所述数据存储分区,并将数据备份分区挂载在所述第一目录下,所述数据备份分区是所述数据存储分区的镜像分区;
上述启动模块,还用于通过所述第一目录读取所述数据备份分区中的用户数据,并根据所述数据备份分区中的用户数据启动系统。
9.一种计算机设备,其特征在于,包括:存储器、处理器,其中,所述存储器存储有程序指令;所述程序指令被所述处理器执行时,使所述处理器执行如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序;当所述计算机程序在一个或多个处理器上运行时,执行如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311132343.9A CN117215657A (zh) | 2023-09-04 | 2023-09-04 | 系统启动方法、装置、计算机设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311132343.9A CN117215657A (zh) | 2023-09-04 | 2023-09-04 | 系统启动方法、装置、计算机设备和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117215657A true CN117215657A (zh) | 2023-12-12 |
Family
ID=89041716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311132343.9A Pending CN117215657A (zh) | 2023-09-04 | 2023-09-04 | 系统启动方法、装置、计算机设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117215657A (zh) |
-
2023
- 2023-09-04 CN CN202311132343.9A patent/CN117215657A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9239725B2 (en) | System and method for installing an OS via a network card supporting PXE | |
US20070101191A1 (en) | Memory dump method, computer system, and memory dump program | |
CN113254048B (zh) | 引导程序更新方法、装置、设备及计算机可读介质 | |
CN109271206B (zh) | 一种异常现场的内存压缩和保存方法 | |
CN113377392B (zh) | 可后台升级固件的系统及后台升级固件方法 | |
CN104809013A (zh) | 一种嵌入式系统启动方法和装置 | |
CN113190256B (zh) | 一种升级方法、装置及设备 | |
CN112667442B (zh) | 基于非易失内存器件启动系统的控制方法、装置及设备 | |
CN105786545B (zh) | 基于异构混合内存的断点恢复方法和系统 | |
CN113032183A (zh) | 系统管理方法、装置、计算机设备和存储介质 | |
CN109634782B (zh) | 一种系统健壮性的检测方法、装置、存储介质及终端 | |
CN111124760A (zh) | 一种基于uboot的嵌入式设备启动方法及装置 | |
CN117215657A (zh) | 系统启动方法、装置、计算机设备和可读存储介质 | |
CN108009039B (zh) | 终端信息的记录方法、装置、存储介质及电子设备 | |
WO2022199622A1 (zh) | 一种电子设备的启动程序的运行方法和电子设备 | |
CN113434338A (zh) | 数据存储的容错方法、装置、设备及存储介质 | |
JP6554881B2 (ja) | 半導体装置および記憶媒体の制御方法 | |
CN114968297A (zh) | Ota升级方法、电子设备及芯片系统 | |
CN111190627A (zh) | 系统升级方法及装置 | |
CN110297674B (zh) | 一种信息处理方法及电子设备 | |
CN113986261A (zh) | 一种数据刷写的方法、相关装置、设备以及可读存储介质 | |
CN110018968B (zh) | 一种数据读取方法、电子设备及计算机存储介质 | |
CN118069057A (zh) | 一种数据写入方法、装置、设备及介质 | |
CN107273128B (zh) | 电子设备启动方法及装置 | |
CN117215835A (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 |