CN110795155A - 系统启动方法及装置、电子设备、存储介质 - Google Patents

系统启动方法及装置、电子设备、存储介质 Download PDF

Info

Publication number
CN110795155A
CN110795155A CN201911012266.7A CN201911012266A CN110795155A CN 110795155 A CN110795155 A CN 110795155A CN 201911012266 A CN201911012266 A CN 201911012266A CN 110795155 A CN110795155 A CN 110795155A
Authority
CN
China
Prior art keywords
disk
partition table
disk partition
partition
check value
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
CN201911012266.7A
Other languages
English (en)
Other versions
CN110795155B (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.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies 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 Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN201911012266.7A priority Critical patent/CN110795155B/zh
Publication of CN110795155A publication Critical patent/CN110795155A/zh
Application granted granted Critical
Publication of CN110795155B publication Critical patent/CN110795155B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0796Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种系统启动方法及装置、电子设备、存储介质;该方法应用于存储设备,所述存储设备的磁盘划分有多个磁盘分区,所述多个磁盘分区中至少一个磁盘分区被作为系统分区;该方法可以包括:当所述存储设备的系统分区无法正常挂载时,读取预设存储空间中存储的磁盘分区表;根据读取到的磁盘分区表恢复磁盘分区,并在被作为系统分区的磁盘分区上重新挂载系统分区;基于挂载完成的系统分区启动所述存储设备的操作系统。本申请的技术方案通过给存储设备磁盘中的磁盘分区表备份的方式,使得存储设备在因磁盘分区表受损而无法挂载系统分区时,能够自动恢复磁盘分区表,进而达到系统正常启动的目的。

Description

系统启动方法及装置、电子设备、存储介质
技术领域
本申请涉及计算机领域,尤其涉及一种系统启动方法及装置。
背景技术
在计算机领域中,为了便于操作系统对磁盘进行管理,加入了磁盘分区的概念,即将一块磁盘划分为多个独立而连续的分区。在磁盘首个扇区的主程序记录区中保存了用于记录磁盘分区情况的磁盘分区表。磁盘分区表决定了磁盘分区的数量,以及每个分区的起始和终止扇区,对磁盘的正常运行起着至关重要的作用。
计算机在运行的过程中,常常会因断电、死机等原因造成系统崩坏,使得系统无法正常运行,这种情况大多是由于磁盘中的磁盘分区表受损造成的。
在相关技术中,针对这一状况,大多采取人工的方式进行修复。例如,将磁盘拆下,接入专业的系统恢复软件进行修复,或者使用Fdisk等格式卡工具进行重新分区。可见,这两种方法均需要人员参与并借助工具,成本较高。
发明内容
有鉴于此,本申请提供一种系统启动方法及装置、电子设备、存储介质,能够在存储设备磁盘中的磁盘分区表受损的情况下,自动恢复受损的磁盘分区表,以使存储设备的系统能够正常启动。
为实现上述目的,本申请提供技术方案如下:
根据本申请的第一方面,提出了一种系统启动方法,应用于存储设备,所述存储设备的磁盘划分有多个磁盘分区,所述多个磁盘分区中至少一个磁盘分区被作为系统分区;所述方法包括:
当所述存储设备的系统分区无法正常挂载时,读取预设存储空间中存储的磁盘分区表;
根据读取到的磁盘分区表恢复磁盘分区,并在被作为系统分区的磁盘分区上重新挂载系统分区;
基于挂载完成的系统分区启动所述存储设备的操作系统。
可选的,所述预设存储空间由区别于所述存储设备中磁盘的非易失性存储介质提供。
可选的,所述读取预设存储空间中存储的磁盘分区表,包括:
确定所述存储设备的磁盘的读写功能是否正常;
当确定出所述读写功能正常时,读取预设存储空间中存储的磁盘分区表。
可选的,还包括:
确定当前磁盘分区是否符合系统运行的分区要求;
若不符合,则对磁盘重新进行分区,并将分区后的磁盘的磁盘分区表存储至所述预设存储空间中。
可选的,还包括:
读取预设存储空间中存储的第一校验值;其中,所述第一校验值为通过预设校验算法对所述预设存储空间中的磁盘分区表进行计算得到的数值;
通过所述预设校验算法对读取的磁盘分区表进行计算以得到第二校验值;
当所述第二校验值与所述第一校验值一致时,根据读取到的磁盘分区表恢复磁盘分区。
可选的,还包括:
读取所述预设存储空间中存储的第一校验值;其中,所述第一校验值为通过预设校验算法对所述预设存储空间中的磁盘分区表进行计算得到的数值;
读取所述存储设备的磁盘中的磁盘分区表;
通过所述预设校验算法对从所述磁盘中读取的磁盘分区表进行计算,得到第三校验值;
当所述第三校验值与所述第一校验值不一致时,根据读取到的磁盘分区表更新所述预设存储空间中存储的磁盘分区表。
根据本申请的第二方面,提出了一种系统启动装置,应用于存储设备,所述存储设备的磁盘划分有多个磁盘分区,所述多个磁盘分区中至少一个磁盘分区被作为系统分区;所述装置包括:
分区表读取单元,当所述存储设备的系统分区无法正常挂载时,读取预设存储空间中存储的磁盘分区表;
恢复挂载单元,根据读取到的磁盘分区表恢复磁盘分区,并在被作为系统分区的磁盘分区上重新挂载系统分区;
启动单元,基于挂载完成的系统分区启动所述存储设备的操作系统。
可选的,还包括:
校验值读取单元,读取预设存储空间中存储的第一校验值;其中,所述第一校验值为通过预设校验算法对所述预设存储空间中的磁盘分区表进行计算得到的数值;
计算单元,通过所述预设校验算法对读取的磁盘分区表进行计算以得到第二校验值;
恢复挂载单元,进一步用于当所述第二校验值与所述第一校验值一致时,根据读取到的磁盘分区表恢复磁盘分区。
根据本申请的第三方面,提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如上述实施例中任一所述的方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述实施例中任一所述方法的步骤。
由以上技术方案可见,本申请通过给存储设备磁盘中的磁盘分区表预先进行备份,使得存储设备在因磁盘分区表受损而无法挂载系统分区时,能够根据备份的磁盘分区表自动恢复磁盘分区,进而达到系统正常启动的目的。
附图说明
图1是本申请一示例性实施例示出的一种系统启动方法流程图。
图2是本申请一示例性实施例示出的一种具体的系统启动方法流程图。
图3是本申请一示例性实施例示出的一种磁盘分区表备份方法流程图。
图4是本申请一示例性实施例示出的一种磁盘分区表更新方法流程图。
图5是本申请一示例性实施例示出的一种电子设备的结构示意图。
图6是本申请一示例性实施例示出的一种系统启动装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在相关技术中,存储设备的磁盘在分区之后,会在磁盘的首个扇区建立主引导记录区,并将主引导程序记录在主引导记录区中。通常情况下,主引导程序的最后64个字节用于存储磁盘的分区信息,即磁盘分区表。磁盘分区表记录了磁盘分区的数量、每个分区的起始及终止扇区、每个分区的空间大小、分区是否为活动分区等分区信息,一旦磁盘分区表损坏,会造成数据丢失、系统无法正常启动等问题。
为了应对磁盘分区表损坏的问题,现如今,通常需要将磁盘从存储设备中拆下,将拆下的磁盘接入PC(个人电脑),使用专业的系统恢复进行修复;或者使用各种格式卡工具对磁盘进行重新分区。但通过这样的方法,一方面需要人工进行干预,维护成本较高;另一方面,难以解决数据丢失的问题。
为此,本申请对启动操作系统的方式予以改进,提出了一种新的系统启动方法。
图1为本申请一示例性实施例示出的一种系统启动方法流程图,该方法应用于存储设备,所述存储设备的磁盘划分有多个磁盘分区,所述多个磁盘分区中至少一个磁盘分区被作为系统分区;如图1所示,该方法可以包括以下步骤:
步骤S101,当所述存储设备的系统分区无法正常挂载时,读取预设存储空间中存储的磁盘分区表。
在本实施例中,系统分区无法正常挂载是由于磁盘分区表受损造成。在磁盘分区表受损后,设备无法获取磁盘的分区信息,更无法根据磁盘分区信息获知系统分区,进而使得系统分区无法正常挂载。
其中,本实施例中的存储设备可以为:手机、PC个人电脑、嵌入式设备等。本步骤所述的预设存储空间可以是该存储设备磁盘中的一块存储空间,也可以是区别于该存储设备中磁盘的其他存储介质,例如,该预设存储空间可以是区别于该存储设备中磁盘的非易失性存储介质。其中该非易失性存储介质可以为EEPROM(Electrically ErasableProgrammable read only memory,电可擦可编程只读存储器)、Flash(闪存)等,本申请并不对此进行限制。
将独立于存储设备中磁盘的非易失性存储介质作为预设存储空间的好处在于,非易失性存储介质保留的数据不会因存储设备断电、死机等原因而丢失,即保存在非易失性存储介质中的磁盘分区表安全性更高。
在本实施例中,在读取预设存储空间中存储的磁盘分区表的步骤还可以包括:判断存储设备中磁盘的读写功能是否正常;当确定出该磁盘读写功能正常时,读取预设存储空间中存储的磁盘分区表。
判断存储设备中磁盘读写功能是否正常的目的在于,优先判断磁盘本身是否损坏,再确定是否执行后续步骤。若确定磁盘无法正常读写,则可判断磁盘本身损坏,停止后续启动步骤,防止磁盘损坏情况下,存储设备重复尝试读取磁盘分区表,造成不必要的硬件损耗。
在本步骤中,还可以包括判断是否需要对磁盘进行重新分区的步骤:确定当前磁盘分区是否符合系统运行的分区要求,若不符合,则对磁盘重新进行分区,并将分区后的磁盘的磁盘分区表存储至预设存储空间中。其中,当检测到当前磁盘分区不符合系统运行的分区要求时,对磁盘进行重新分区的步骤可以是向用户发出提醒,以由用户手动完成重新分区的过程,也可以是由存储设备根据另外存储的区别于所述预设存储空间中的磁盘分区表的磁盘分区表对该磁盘进行重新分区。两者的差别在于,由用户完成分区的操作,用户能够根据自身的需求进行分区,进而获得更好的用户体验;而由设备读取另外存储的磁盘分区表重新分区可以实现分区自动化,简化用户操作。
在本步骤中,还可以包括对从预设存储空间中读取的磁盘分区表进行校验的过程。该过程可以包括:读取预设存储空间中存储的第一校验值,该第一校验值为通过预设校验算法对所述预设存储空间中的磁盘分区表进行计算得到的数值;通过该预设校验算法对读取到的磁盘分区表进行计算以得到第二校验值;当第二校验值与第一校验值一致时,根据读取到的磁盘分区表恢复磁盘分区。
在对读取到的磁盘分区表进行校验的过程中,用于计算第一校验值和第二校验值的预设校验算法可以是CRC算法(循环冗余校验算法)、MD5算法(消息摘要算法)等,具体的可以更具实际情况确定,在此不作具体限定。
其中,获得第一校验值的具体过程可以包括如下步骤:当系统能够正常挂载时,读取存储设备磁盘中的磁盘分区表,通过预设校验算法对读取到的磁盘分区表进行计算,得到第一校验值,并将得到的第一校验值和读取到的磁盘分区表保存到预设存储空间中。
在读取预设存储空间中保存的磁盘分区表时,对读取的磁盘分区表进行校验,能够准确判断预设存储空间中保存的磁盘分区表是否已经损坏,以避免后续步骤中根据损坏的磁盘分区表恢复磁盘分区,致使系统依旧不能正常启动。
在校验失败时,即预设存储空间中的磁盘分区表受损的情况下,可以进一步向用户发出警报,以由用户人工修复磁盘中的磁盘分区表,以及重新备份预设存储空间中的磁盘分区表。其中,发出警报的形式可根据具体情况确定,例如,可以将该校验失败的过程记录在日志文件中,使得用户在读取该日志文件时可发现异常状况;或者,可以直接在设备的显示屏上输出异常通知,以使用户及时发现该异常状况;或者,可以通过向与设备绑定关联的用户手机、PC等电子设备发送异常通知,以使用户在任意场景下,均能够及时发现该异常状况;当然,本申请并不限制该警报的具体形式。
在本步骤中,还可以包括检测备份的磁盘分区表是否发生更新的过程。该过程可以包括以下步骤:读取预设存储空间中存储的第一校验值;其中,第一校验值为通过预设校验算法对预设存储空间中的磁盘分区表进行计算得到的数值;读取存储设备的磁盘中的磁盘分区表;通过该预设校验算法对从所述磁盘中读取的磁盘分区表进行计算,得到第三校验值;当第三校验值与第一校验值不一致时,根据读取到的磁盘分区表更新预设存储空间中存储的磁盘分区表。
在检测备份的磁盘分区表是否发生更新的过程中,获得第一校验值的过程同恢复磁盘分区表的过程一致。当确定第三校验值与第一校验值不一致时,更新预设存储空间中存储的磁盘分区表的具体过程可以包括:删除预设存储空间中保存的磁盘分区表,以及根据该保存的磁盘分区表计算得到的第一校验值;将从磁盘中读取得到的磁盘分区表保存至预设存储空间,并将第三校验值作为新的第一校验值保存至预设存储空间中,至此完成预设存储空间中磁盘分区表的更新。应当理解的是,该操作步骤仅为示例性的,具体如何更新预设存储空间中保存的磁盘分区表可以根据具体情况进行调整,在此不作限定。
可见,通过校验值判断预设存储空间中保存的磁盘分区表是否与磁盘中磁盘分区表一致的方式,能够及时检测到备份的磁盘分区表是否需要更新,进而及时更新备份的磁盘分区表。及时更新的好处在于,在磁盘分区表受损时,可以根据用户的当前使用习惯还原磁盘分区,以使用户获得更好的体验。
步骤S102,根据读取到的磁盘分区表恢复磁盘分区,并在被作为系统分区的磁盘分区上重新挂载系统分区。
在本实施例中,恢复磁盘分区以及重新挂载系统分区的过程可以包括以下步骤:将磁盘中损坏的磁盘分区表删除,并将从预设存储空间中读取的磁盘分区表写入到磁盘中,并根据写入到磁盘中的磁盘分区表确定系统分区,并基于确定的系统分区进行重新挂载的动作。应当理解的是,该具体操作步骤仅为示例性的,具体恢复磁盘的步骤可以根据具体情况进行调整,在此不作限定。
步骤S103,基于挂载完成的系统分区启动所述存储设备的操作系统。
在本实施例中,步骤S101-步骤S103可以在系统运行之前的Bootloader阶段进行。其中,Bootloader是设备加电后执行的第一段代码,其目的在于为操作系统的运行提供一个合适的环境。换言之,Bootloader是为了在系统内核运行之前,先进行一定的准备工作。而做这些准备工作的过程即为Bootloader阶段。在该阶段中,通常包括对CPU等硬件进行初始化,建立内存空间映射图和自检硬件等步骤。
由上述技术方案可见,本申请通过备份磁盘分区表的方式,使得存储设备在因磁盘分区表受损而无法挂载系统分区时,能够根据备份的磁盘分区表恢复受损的磁盘分区表,进而使得存储设备的系统能够正常启动。通过这样的方式,本申请能够自动恢复受损的磁盘分区表,避免人工操作增加成本,同时,有效避免了因磁盘分区表受损而造成的数据丢失,提高了数据安全性。
为方便理解,下面结合具体举例和附图对本申请的技术方案进行详细说明。
参见图2,图2为本申请一示例性实施例示出的一种具体的系统启动方法的流程图。如图2所示,该方法包括以下步骤:
步骤S201,接收用户发送的系统启动指令。
步骤S202,判断存储设备的系统分区是否能够正常挂载;若能正常挂载,则跳转至步骤S210;否则,跳转至步骤S203。
在本实施例中,可基于盘符来判断是否能够正常挂载存储设备的系统分区。例如,当系统无法给磁盘分配盘符时,可判定系统分区无法正常挂载。当然,还可通过其他任意可判断是否能够正常挂载存储设备的系统分区的方式,本申请并不对此进行限制。
在本步骤中,当存储设备的系统分区能够正常挂载时,则正常启动存储设备的系统。
步骤S203,判断存储设备的磁盘的读写功能是否正常;若是,则跳转至步骤S204;否则,则跳转至步骤S209。
在本实施例中,判断磁盘读写功能是否正常,是为了在硬件上确定磁盘是否故障。只有在硬件层面上,磁盘没有损坏,才能够实现磁盘分区表的读取和写入。换言之,磁盘没有损坏是本实施例所示方案实行的基础。
在本实施例中,当确定磁盘已经无法正常读写,则不再执行后续验证以及恢复磁盘的步骤,通过这样的方式可以避免不必要的硬件损耗。除此之外,在这种情况下,还可以给用户发送警报,提醒用户磁盘损坏,以便用户通过人工的方式处理磁盘损坏的问题。
步骤S204,读取预设存储空间中存储的磁盘分区表和第一校验值。
在本实施例中,从预设存储空间中读取的磁盘分区表和第一校验值由预先备份得到,备份的过程会在下一实施例中作具体介绍,在此不作赘述。
需要注意的是,读取到的磁盘分区表可能在存储过程中损坏,而第一校验值正是为了在恢复磁盘中的磁盘分区表之前,进一步确定备份的磁盘分区表没有在存储过程中损坏,以此保证根据该备份的磁盘分区表恢复的磁盘分区能够挂载系统分区。
步骤S205,通过预设校验算法对读取的磁盘分区表进行计算以得到第二校验值。
在本实施例中,通过预算校验算法计算第二校验值是为了与第一校验值进行比对,以判断备份的磁盘分区表是否损坏。从时间节点上看,第一校验值为备份的磁盘分区表存入预设存储空间时计算得到的校验值;第二校验值为备份的磁盘分区表从该存储空间中读取时计算得到的校验值。换言之,校验的过程是通过判断同一磁盘分区表在两个不同的时间节点计算得到的校验值是否一致的方式,确定备份的磁盘分区表是否损坏。
步骤S206,判断第二校验值是否与第一校验值一致;若一致,则跳转至步骤S207;否则,则跳转至步骤S208。
在本实施例中,当确定第一校验值与第二校验值不一致时,即确定备份的磁盘分区表已经损坏,此时,不再进行恢复磁盘中磁盘分区表的步骤,停止系统启动的过程。在这种情况下,还可以发出警报,以提醒用户备份的磁盘分区表已经损坏,以由用户通过人工的方式恢复磁盘分区表。
步骤S207,根据读取到的磁盘分区表恢复磁盘分区,并在被作为系统分区的磁盘分区上重新挂载系统分区。
步骤S208,预设存储空间中保存的磁盘分区表损坏,退出本次系统启动。
步骤S209,磁盘损坏,退出本次系统启动。
步骤S210,系统正常启动。
由上述方案可见,本申请在系统分区无法正常挂载时,对读取到的磁盘分区表进行校验,以判断备份的磁盘分区表是否损坏。一方面,当确定备份的磁盘分区表损坏时,不再进行后续的步骤,减少了各硬件的损耗;另一方面,只有在备份的磁盘分区表没有损坏时,才根据读取到的磁盘分区表恢复磁盘分区,进一步确保了恢复后的磁盘分区能够正常挂载系统分区。换言之,避免了恢复后的磁盘分区无法正常挂载系统分区的情况。
为了实现上述恢复磁盘中的磁盘分区表的方法,本申请还提出了一种磁盘分区表备份的方法。参见图3,图3为本申请一示例性实施例示出的一种磁盘分区表备份方法流程图。如图3所示,该方法包括以下步骤:
步骤S301,接收用户发送的系统启动指令。
步骤S302,判断当前磁盘分区是否符合系统运行的分区要求;若不符合,则跳转至步骤S303;否则,跳转至步骤S306。
系统正常运行通常对磁盘的分区有一定的要求,例如,对磁盘分区的数量、各分区的空间大小等。在本实施例中,可以通过磁盘分区的数量判断当前磁盘分区是否符合系统运行的分区要求,也可以通过其他系统正常运行的标准判断,具体的,技术人员可以根据实际情况采用不同的判断方式,在此不作限定。
步骤S303,对磁盘重新进行分区。
当确定当前磁盘分区不符合系统运行的分区要时,为了系统能够正常运行,需要对磁盘重新进行分区。在这里,重新分区的方式可以为:由用户进行磁盘分区的操作;也可以通过读取区别于预设存储空间的其他存储空间中的磁盘分区表对磁盘进行重新分区。具体如何进行重新分区,技术人员可以根据实际情况采用不同的方式,在此不作限定。
步骤S304,读取重新分区后的磁盘中的磁盘分区表,并通过预设校验算法对读取到的磁盘分区表进行计算以得到第一校验值。
在本实施例中,需要注意的是,该步骤中并不局限于在磁盘分区不符合系统运行要求而对磁盘重新进行分区的情况下执行。也可以在以下对磁盘进行分区的情况下进行,例如,用户需求改变,自行按照需求对磁盘进行重新分区;存储设备尚未安装操作系统,借用其他存储设备中的系统对磁盘进行分区。换言之,本步骤的执行条件并不局限于在步骤S301和步骤S302所描述的状况,所有对磁盘进行分区的操作都应包含在本申请的技术方案之内。
进一步的,在备份磁盘分区表的过程中,本申请对备份的磁盘分区表进行计算以得到第一校验值。实质上,这一过程是在通过第一校验值记录备份的磁盘分区表的初始状态,以用于在使用该磁盘分区表恢复磁盘之前判断该磁盘分区表是否损坏。
步骤S305,将读取到的磁盘分区表和第一校验值存储至预设存储空间中。
步骤S306,系统正常启动。
由上述技术方案可知,本申请在磁盘分区完成后,读取磁盘中的磁盘分区表,并将读取的磁盘分区表保存至预设存储空间中,即预先备份磁盘分区表,以用于当磁盘中磁盘分区表损坏时,根据该磁盘分区表恢复磁盘分区。
基于上述磁盘分区表备份的方法,本申请还提供了磁盘分区表的更新方法。参见图4,图4为本申请一示例性实施例示出的一种磁盘分区表更新方法的流程图。如图4所示,该方法包括以下步骤:
步骤S401,接收用户发送的系统启动指令。
步骤S402,判断当前磁盘分区是否符合系统运行要求;若是,则跳转至步骤S402;否则,跳转至步骤S408。
在本实施例中,当确定磁盘分区符合系统运行要求时,则确定磁盘中的磁盘分区表没有损坏并且根据该磁盘分区表完成的磁盘分区能够使系统正常运行,可以将其作为备份的磁盘分区表。
步骤S403,读取预设存储空间中存储的第一校验值。
在本步骤中,获取第一校验值的方法以及第一校验值的作用均与上一实施例中一致,在此不作赘述。
步骤S404,读取磁盘中的磁盘分区表,并根据预设校验算法对读取到的磁盘分区表进行计算以得到第三校验值。
步骤S405,判断第三校验值与第一校验值是否一致;若不一致,则跳转至步骤S406;否则,跳转至步骤S407。
在本实施例中,判断第三校验值与第一校验值是否一致的目的在于,判断当前磁盘中的磁盘分区表是否与备份的磁盘分区表一致,进而判断备份的磁盘分区表是否为未损坏的最新版本的磁盘分区表。当确定第三校验值与第一校验值一致时,则证明备份的磁盘分区表为未损坏的最新版本的磁盘分区表,无需对备份的磁盘分区表进行更新,在这种情况下,正常启动系统。
举例而言,假设计算得到的第三校验值是3,预设存储空间中存储的第一校验值为1。显然,第三校验值与第一校验值不一致,则判定预设存储空间中的磁盘分区表与当前磁盘中的磁盘分区表不一致,即备份的磁盘分区表不是未损坏的最新版本的磁盘分区表,需要更新。反之,假设计算得到的第三校验值也为1,同理,可确定备份的磁盘分区表为未损坏的最新版本,无需更新。
步骤S406,根据读取到的磁盘分区表更新预设存储空间中的磁盘分区表。
在本步骤中,更新备份的磁盘分区表的具体步骤可以包括:删除预设存储空间中保存的磁盘分区表,并将从磁盘中读取到的磁盘分区表写入预设存储空间中作为新的备份的磁盘分区表。当然,更新的步骤也可以通过直接覆盖的方式进行,具体采用何种更新方式可以由技术人员根据实际情况确定,在此不作具体限定。
值得注意的是,在更新备份的磁盘分区表的过程中,可以将得到的第三校验值作为新的第一校验值保存至预设存储空间中,以用于判断备份的磁盘分区表是否需要更新以及备份的磁盘分区表是否已经损坏。
步骤S407,系统正常启动。
步骤S408,对磁盘进行重新分区。
由上述技术方案可知,本申请通过将当前磁盘中的磁盘分区表与备份的磁盘分区表进行比对的方式,判断是否需要更新备份的磁盘分区表。通过这样的方式,本申请备份的磁盘分区表能够保持在最新版本,使得根据该磁盘分区表恢复的磁盘分区更贴合用户的当前使用习惯,以便用户获得更好的使用体验。
图5示出了根据本申请的一示例性实施例的电子设备的示意结构图。请参考图5,在硬件层面,该电子设备包括处理器502、内部总线504、网络接口506、内存508以及非易失性存储器510,当然还可能包括其他业务所需要的硬件。处理器502从非易失性存储器510中读取对应的计算机程序到内存508中然后运行,在逻辑层面上形成解决磁盘分区表恢复问题的装置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
与前述一种系统启动方法的实施例相对应,本申请还提供了一种系统启动装置的实施例。
请参考图6,在软件实施方式中,该解决磁盘分区表恢复问题的装置可以包括分区表读取单元601、恢复挂载单元602、启动单元603。其中:
分区表读取单元601,当所述存储设备的系统分区无法正常挂载时,读取预设存储空间中存储的磁盘分区表;
恢复挂载单元602,根据读取到的磁盘分区表恢复磁盘分区,并在被作为系统分区的磁盘分区上重新挂载系统分区;
启动单元603,基于挂载完成的系统分区启动所述存储设备的操作系统。
可选的,所述预设存储空间由区别于所述存储设备中磁盘的非易失性存储介质提供。
可选的,还包括:
确定单元604,确定所述存储设备的磁盘的读写功能是否正常;
所述分区表读取单元601,进一步用于当确定出所述读写功能正常时,读取预设存储空间中存储的磁盘分区表。
可选的,还包括:
所述确定单元604,进一步用于确定当前磁盘分区是否符合系统运行的分区要求;
分区单元605,若不符合,则对磁盘重新进行分区,并将分区后的磁盘的磁盘分区表存储至所述预设存储空间中。
可选的,还包括:
校验值读取单元606,进一步用于读取预设存储空间中存储的第一校验值;其中,所述第一校验值为通过预设校验算法对所述预设存储空间中的磁盘分区表进行计算得到的数值;
计算单元607,通过所述预设校验算法对读取的磁盘分区表进行计算以得到第二校验值;
所述恢复挂载单元602,进一步用于当所述第二校验值与所述第一校验值一致时,根据读取到的磁盘分区表恢复磁盘分区。
可选的,还包括:
所述校验值读取单元606,进一步用于读取所述预设存储空间中存储的第一校验值;其中,所述第一校验值为通过预设校验算法对所述预设存储空间中的磁盘分区表进行计算得到的数值;
所述分区表读取单元601,读取所述存储设备的磁盘中的磁盘分区表;
所述计算单元607,进一步用于通过所述预设校验算法对从所述磁盘中读取的磁盘分区表进行计算,得到第三校验值;
所述恢复挂载单元,进一步用于当所述第三校验值与所述第一校验值不一致时,根据读取到的磁盘分区表更新所述预设存储空间中存储的磁盘分区表。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由系统启动装置的处理器执行以实现如上述实施例中任一所述的方法,比如该方法可以包括:当所述存储设备的系统分区无法正常挂载时,读取预设存储空间中存储的磁盘分区表;根据读取到的磁盘分区表恢复磁盘分区,并在被作为系统分区的磁盘分区上重新挂载系统分区;基于挂载完成的系统分区启动所述存储设备的操作系统。
其中,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等,本申请并不对此进行限制。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种系统启动方法,其特征在于,应用于存储设备,所述存储设备的磁盘划分有多个磁盘分区,所述多个磁盘分区中至少一个磁盘分区被作为系统分区;所述方法包括:
当所述存储设备的系统分区无法正常挂载时,读取预设存储空间中存储的磁盘分区表;
根据读取到的磁盘分区表恢复磁盘分区,并在被作为系统分区的磁盘分区上重新挂载系统分区;
基于挂载完成的系统分区启动所述存储设备的操作系统。
2.根据权利要求1所述的方法,其特征在于,所述预设存储空间由区别于所述存储设备中磁盘的非易失性存储介质提供。
3.根据权利要求1所述的方法,其特征在于,所述读取预设存储空间中存储的磁盘分区表,包括:
确定所述存储设备的磁盘的读写功能是否正常;
当确定出所述读写功能正常时,读取预设存储空间中存储的磁盘分区表。
4.根据权利要求1所述的方法,其特征在于,还包括:
确定当前磁盘分区是否符合系统运行的分区要求;
若不符合,则对磁盘重新进行分区,并将分区后的磁盘的磁盘分区表存储至所述预设存储空间中。
5.根据权利要求1所述的方法,其特征在于,还包括:
读取预设存储空间中存储的第一校验值;其中,所述第一校验值为通过预设校验算法对所述预设存储空间中的磁盘分区表进行计算得到的数值;
通过所述预设校验算法对读取的磁盘分区表进行计算以得到第二校验值;
其中,当所述第二校验值与所述第一校验值一致时,执行根据读取到的磁盘分区表恢复磁盘分区的操作。
6.根据权利要求1所述的方法,其特征在于,还包括:
读取所述预设存储空间中存储的第一校验值;其中,所述第一校验值为通过预设校验算法对所述预设存储空间中的磁盘分区表进行计算得到的数值;
读取所述存储设备的磁盘中的磁盘分区表;
通过所述预设校验算法对从所述磁盘中读取的磁盘分区表进行计算,得到第三校验值;
当所述第三校验值与所述第一校验值不一致时,根据读取到的磁盘分区表更新所述预设存储空间中存储的磁盘分区表。
7.一种系统启动装置,其特征在于,应用于存储设备,所述存储设备的磁盘划分有多个磁盘分区,所述多个磁盘分区中至少一个磁盘分区被作为系统分区;所述装置包括:
分区表读取单元,当所述存储设备的系统分区无法正常挂载时,读取预设存储空间中存储的磁盘分区表;
恢复挂载单元,根据读取到的磁盘分区表恢复磁盘分区,并在被作为系统分区的磁盘分区上重新挂载系统分区;
启动单元,基于挂载完成的系统分区启动所述存储设备的操作系统。
8.根据权利要求7所述的装置,其特征在于,还包括:
校验值读取单元,读取预设存储空间中存储的第一校验值;其中,所述第一校验值为通过预设校验算法对所述预设存储空间中的磁盘分区表进行计算得到的数值;
计算单元,通过所述预设校验算法对读取的磁盘分区表进行计算以得到第二校验值;
其中,当所述第二校验值与所述第一校验值一致时,执行根据读取到的磁盘分区表恢复磁盘分区的操作。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-6中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如权利要求1-6中任一项所述方法的步骤。
CN201911012266.7A 2019-10-23 2019-10-23 系统启动方法及装置、电子设备、存储介质 Active CN110795155B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911012266.7A CN110795155B (zh) 2019-10-23 2019-10-23 系统启动方法及装置、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911012266.7A CN110795155B (zh) 2019-10-23 2019-10-23 系统启动方法及装置、电子设备、存储介质

Publications (2)

Publication Number Publication Date
CN110795155A true CN110795155A (zh) 2020-02-14
CN110795155B CN110795155B (zh) 2023-08-25

Family

ID=69441117

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911012266.7A Active CN110795155B (zh) 2019-10-23 2019-10-23 系统启动方法及装置、电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN110795155B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115878204A (zh) * 2023-01-20 2023-03-31 北京国科环宇科技股份有限公司 一种操作系统的处理方法、装置、计算机设备和介质

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010011353A (ko) * 1999-07-27 2001-02-15 윤종용 컴퓨터 시스템의 디스크 복구 방법
US20050138282A1 (en) * 2003-12-18 2005-06-23 Garney John I. Maintaining disk cache coherency in multiple operating system environment
US20080209553A1 (en) * 2007-02-22 2008-08-28 Inventec Corporation Method for protecting data in a hard disk
CN101593083A (zh) * 2008-05-26 2009-12-02 联想(北京)有限公司 对计算机配置信息进行保护和恢复的装置、计算机和方法
US8006125B1 (en) * 2005-04-29 2011-08-23 Microsoft Corporation Automatic detection and recovery of corrupt disk metadata
CN105095017A (zh) * 2014-05-23 2015-11-25 中兴通讯股份有限公司 一种基于分区表的硬盘修复方法及装置
US9336131B1 (en) * 2013-04-16 2016-05-10 Veritas Technologies, LLC Systems and methods for enabling virtual environments to mount non-native storage disks
CN107066343A (zh) * 2017-01-24 2017-08-18 广东欧珀移动通信有限公司 移动终端中分区表的修复方法、装置及移动终端
CN107545022A (zh) * 2017-05-11 2018-01-05 新华三云计算技术有限公司 磁盘管理方法及装置
CN107632774A (zh) * 2016-07-13 2018-01-26 深圳市大迈科技有限公司 修复磁盘挂载的方法及装置
CN108062262A (zh) * 2017-12-25 2018-05-22 厦门市美亚柏科信息股份有限公司 基于存储扇区数据的操作系统备份和还原方法及其系统
CN108776577A (zh) * 2018-05-04 2018-11-09 新华三技术有限公司成都分公司 磁盘管理方法、装置、电子设备及存储介质
WO2019135471A1 (ko) * 2018-01-05 2019-07-11 주식회사 웨인 파일저장 기능을 지원하는 부팅 디스크

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010011353A (ko) * 1999-07-27 2001-02-15 윤종용 컴퓨터 시스템의 디스크 복구 방법
US20050138282A1 (en) * 2003-12-18 2005-06-23 Garney John I. Maintaining disk cache coherency in multiple operating system environment
US8006125B1 (en) * 2005-04-29 2011-08-23 Microsoft Corporation Automatic detection and recovery of corrupt disk metadata
US20080209553A1 (en) * 2007-02-22 2008-08-28 Inventec Corporation Method for protecting data in a hard disk
CN101593083A (zh) * 2008-05-26 2009-12-02 联想(北京)有限公司 对计算机配置信息进行保护和恢复的装置、计算机和方法
US9336131B1 (en) * 2013-04-16 2016-05-10 Veritas Technologies, LLC Systems and methods for enabling virtual environments to mount non-native storage disks
CN105095017A (zh) * 2014-05-23 2015-11-25 中兴通讯股份有限公司 一种基于分区表的硬盘修复方法及装置
CN107632774A (zh) * 2016-07-13 2018-01-26 深圳市大迈科技有限公司 修复磁盘挂载的方法及装置
CN107066343A (zh) * 2017-01-24 2017-08-18 广东欧珀移动通信有限公司 移动终端中分区表的修复方法、装置及移动终端
CN107545022A (zh) * 2017-05-11 2018-01-05 新华三云计算技术有限公司 磁盘管理方法及装置
CN108062262A (zh) * 2017-12-25 2018-05-22 厦门市美亚柏科信息股份有限公司 基于存储扇区数据的操作系统备份和还原方法及其系统
WO2019135471A1 (ko) * 2018-01-05 2019-07-11 주식회사 웨인 파일저장 기능을 지원하는 부팅 디스크
CN108776577A (zh) * 2018-05-04 2018-11-09 新华三技术有限公司成都分公司 磁盘管理方法、装置、电子设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115878204A (zh) * 2023-01-20 2023-03-31 北京国科环宇科技股份有限公司 一种操作系统的处理方法、装置、计算机设备和介质

Also Published As

Publication number Publication date
CN110795155B (zh) 2023-08-25

Similar Documents

Publication Publication Date Title
CN106020865B (zh) 一种系统升级方法和装置
EP2998861B1 (en) Implementing and deleting method and device for intelligent terminal multi-operation system
CN109032632B (zh) 一种fota升级方法、无线通信终端及存储介质
US9286164B2 (en) Electronic device to restore MBR, method thereof, and computer-readable medium
CN108646982B (zh) 一种基于ubifs的数据自动修复方法及装置
JP5113700B2 (ja) ファームウェア更新装置及び方法
US20070055969A1 (en) System and method for updating firmware
CN108170495B (zh) 一种bios升级方法、系统、设备及计算机可读存储介质
CN107315616B (zh) 一种固件的加载方法、装置及电子设备
CN113626256B (zh) 一种虚拟机磁盘数据备份方法、装置、终端及存储介质
CN103970557A (zh) 存储设备启动系统的方法及存储设备
EP3474143B1 (en) Method and apparatus for incremental recovery of data
CN109582332B (zh) 互联网摄像机的系统升级方法及装置
CN112596672B (zh) 主控芯片的存储处理方法及装置、处理器和电子设备
CN104216793A (zh) 应用程序备份、恢复的方法及设备
CN111045870B (zh) 一种保存与恢复元数据的方法、装置和介质
CN111552592A (zh) 一种双备份启动方法及系统
CN105550071A (zh) 系统文件升级及检测方法、通信设备
CN110795155B (zh) 系统启动方法及装置、电子设备、存储介质
KR20180089380A (ko) 플래시 메모리 콘텐츠의 손상을 관리하기 위한 방법 및 장치
CN110879764B (zh) 一种位图设置方法、装置、设备及可读存储介质
KR100853941B1 (ko) 멀티미디어 저장장치와 데이터 복구방법
CN115562593A (zh) 一种异常raid成员盘处理方法、装置及介质
CN115827069A (zh) 服务器主板的启动控制方法、系统及装置
CN112363739B (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