System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,具体地涉及一种操作系统升级方法、设备、存储介质及计算机程序产品。
技术介绍
1、在现有技术的应用场景中,用户终端需要安装操作系统才可以被用户使用。例如,手机上需要安装手机操作系统(例如:ios系统、安卓系统)才可以被用户使用。
2、在终端设备安装操作系统后,当操作系统出现版本升级时,需要升级终端设备上所安装的操作系统。一般的,终端设备的操作系统的分区架构是事先在终端设备的存储器上规划好的。操作系统的升级主要是在原有的操作系统分区架构下对操作系统数据进行更新。但是,在进行某些改动较大的版本升级时,需要改动操作系统的分区架构,例如,增加分区或者是删除分区。因此,需要一种支持调整分区架构的操作系统升级方法。
技术实现思路
1、有鉴于此,本申请提供一种升级操作系统的方法、设备、存储介质及计算机程序产品,以利于解决现有技术中如何调整设备存储器的分区架构的问题。
2、第一方面,本申请实施例提供了一种升级操作系统的方法,应用于电子设备,所述电子设备包括处理器以及存储器,所述存储器包括基础分区、第一静态分区、第二静态分区、动态分区以及用户数据分区,所述电子设备当前的分区表为对应第一操作系统的第一分区表,所述电子设备启动后加载所述基础分区、所述第一静态分区以及动态分区的数据以运行所述第一操作系统,所述第一操作系统运行之后,所述方法包括:
3、获取操作系统升级包,所述操作系统升级包包括对应第二操作系统的第二分区表以及操作系统升级数据,所述操作系统升
4、触发所述电子设备的第一次重启,在所述第一次重启之后,所述电子设备进入恢复模式;
5、在所述恢复模式下,将所述电子设备的分区表更新为所述第二分区表;
6、触发所述电子设备的第二次重启,在所述第二次重启之后,所述电子设备加载所述基础分区、所述第一静态分区以及动态分区的数据以运行所述第一操作系统;
7、在所述用户数据分区中创建虚拟动态分区,将所述动态分区升级数据写入到所述虚拟动态分区;
8、触发所述电子设备的第三次重启;
9、在所述第三次重启之后,所述电子设备加载所述基础分区、所述第二静态分区、所述动态分区以及所述虚拟动态分区的数据以运行所述第二操作系统;
10、在所述第二操作系统运行后,将所述虚拟动态分区的数据落盘到所述动态分区。
11、根据本申请第一方面的方案,可以针对采用虚拟a/b升级方案的操作系统进行升级并在升级过程中更新设备存储器的分区表;根据本申请第一方面的方案,不需要准备烧录工具,设备基于下载的操作系统升级包就可以自行完成分区表的更新;根据本申请第一方面的方案大大简化了设备分区表更新的操作难度,提高了用户体验。
12、在第一方面的一种实现方式中,所述操作系统升级数据还包括静态分区升级数据;
13、在所述用户数据分区中创建虚拟动态分区之前,所述方法还包括,基于所述静态分区升级数据升级所述第二静态分区的数据。
14、在第一方面的一种实现方式中,所述触发所述电子设备的第三次重启之前,所述方法还包括,将所述电子设备的启动顺序由从所述第一静态分区启动,修改为从所述第二静态分区启动。
15、在第一方面的一种实现方式中,所述方法还包括生成所述第二分区表。
16、在第一方面的一种实现方式中,所述第一分区表中包括第一预留分区;所述生成所述第二分区表包括:
17、保持所述第一分区表中除所述第一预留分区以外的其他分区不变,基于所述第一预留分区的全部或部分空间创建新的分区。
18、在第一方面的一种实现方式中,所述生成所述第二分区表包括:
19、保持所述第一分区表中除第一分区以外的其他分区不变,删除所述第一分区,将所述第一分区的空间创建为第二预留分区;
20、或者,
21、保持所述第一分区表中除第一分区以及第一预留分区以外的其他分区不变,将所述第一分区与所述第一预留分区合并为第二预留分区。
22、在第一方面的一种实现方式中,重启所述电子设备,进入恢复模式之前,所述方法还包括:
23、执行分区表更新准备操作,所述分区表更新准备操作用于配置所述电子设备在所述恢复模式下的执行流程。
24、在第一方面的一种实现方式中,所述执行分区表更新准备操作,包括:
25、将所述第二分区表保存到缓存;
26、在所述缓存中写入第一控制命令,所述第一控制命令对应第一操作流程,所述第一操作流程用于将所述电子设备的分区表更新为所述第二分区表。
27、在第一方面的一种实现方式中,所述第一操作流程包括:
28、校验所述第二分区表;
29、所述第二分区表校验成功后,验证所述第二分区表以及所述第一分区表中,名称相同的分区的地址配置是否一致;
30、当所述第二分区表以及所述第一分区表中,名称相同的分区的地址配置一致时,使用所述第二分区表更新所述电子设备的分区表。
31、在第一方面的一种实现方式中,所述在所述恢复模式下,将所述电子设备的分区表更新为所述第二分区表,包括:
32、加载所述缓存中的所述第二分区表以及所述第一控制命令;
33、解析所述第一控制命令,根据所述第一控制命令调用所述第一操作流程的执行代码;
34、执行所述第一操作流程的执行代码。
35、在第一方面的一种实现方式中,所述执行分区表更新准备操作之前,所述方法还包括:
36、确认所述操作系统升级包是否用于更新分区;
37、当所述操作系统升级包用于更新分区时,确认所述电子设备的分区表是否已基于所述第二分区表进行过更新;
38、当所述电子设备的分区表未基于所述第二分区表进行过更新时,执行所述分区表更新准备操作。
39、在第一方面的一种实现方式中,所述确认所述操作系统升级包是否用于更新分区,包括:
40、解析所述操作系统升级包对应的描述文件,当所述描述文件中包含分区升级包标志时,所述操作系统升级包用于更新分区。
41、在第一方面的一种实现方式中:
42、所述确认所述电子设备的分区表是否已基于所述第二分区表进行过更新,其中,根据分区更新标志位的状态确认所述电子设备的分区表是否已基于所述第二分区表进行过更新,在所述获取操作系统升级包之前,所述分区更新标志位的状态为未更新;
43、所述在所述恢复模式下,将所述电子设备的分区表更新为所述第二分区表,包括,将所述分区更新标志位的状态设置为已更新;
44、所述在所述第二操作系统运行后,将所述虚拟动态分区的数据落盘到所述动态分区之后,所述方法还包本文档来自技高网...
【技术保护点】
1.一种升级操作系统的方法,其特征在于,应用于电子设备,所述电子设备包括处理器以及存储器,所述存储器包括基础分区、第一静态分区、第二静态分区、动态分区以及用户数据分区,所述电子设备当前的分区表为对应第一操作系统的第一分区表,所述电子设备启动后加载所述基础分区、所述第一静态分区以及动态分区的数据以运行所述第一操作系统,所述第一操作系统运行之后,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述操作系统升级数据还包括静态分区升级数据;
3.根据权利要求1所述的方法,其特征在于,所述触发所述电子设备的第三次重启之前,所述方法还包括,将所述电子设备的启动顺序由从所述第一静态分区启动,修改为从所述第二静态分区启动。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括生成所述第二分区表。
5.根据权利要求4所述的方法,其特征在于,所述第一分区表中包括第一预留分区;所述生成所述第二分区表包括:
6.根据权利要求4所述的方法,其特征在于,所述生成所述第二分区表包括:
7.根据权利要求1所述的方法,其特征在于
8.根据权利要求7所述的方法,其特征在于,所述执行分区表更新准备操作,包括:
9.根据权利要求8所述的方法,其特征在于,所述第一操作流程包括:
10.根据权利要求8所述的方法,其特征在于,所述在所述恢复模式下,将所述电子设备的分区表更新为所述第二分区表,包括:
11.根据权利要求7-10中任一项所述的方法,其特征在于,所述执行分区表更新准备操作之前,所述方法还包括:
12.根据权利要求11所述的方法,其特征在于,所述确认所述操作系统升级包是否用于更新分区,包括:
13.根据权利要求11所述的方法,其特征在于:
14.根据权利要求11所述的方法,其特征在于,在所述在所述用户数据分区中创建虚拟动态分区之前,所述方法还包括:
15.根据权利要求14所述的方法,其特征在于,所述第一操作系统包括第一升级包获取工具以及第一升级引擎,所述第一操作系统运行之后,所述方法包括:
16.根据权利要求14所述的方法,其特征在于,所述第一操作系统包括第二升级包获取工具以及第二升级引擎,所述第一操作系统运行之后,所述方法包括:
17.一种电子设备,其特征在于,所述电子设备包括处理器以及存储器,所述存储器包括基础分区、第一静态分区、第二静态分区、动态分区以及用户数据分区,所述动态分区包括多个子分区,所述处理器用于执行所述存储器上存储的软件代码,以使得所述电子设备启动后加载所述基础分区、所述第一静态分区以及所述动态分区的数据以运行第一操作系统;
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如权利要求1-16中任一项所述的方法。
...【技术特征摘要】
1.一种升级操作系统的方法,其特征在于,应用于电子设备,所述电子设备包括处理器以及存储器,所述存储器包括基础分区、第一静态分区、第二静态分区、动态分区以及用户数据分区,所述电子设备当前的分区表为对应第一操作系统的第一分区表,所述电子设备启动后加载所述基础分区、所述第一静态分区以及动态分区的数据以运行所述第一操作系统,所述第一操作系统运行之后,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述操作系统升级数据还包括静态分区升级数据;
3.根据权利要求1所述的方法,其特征在于,所述触发所述电子设备的第三次重启之前,所述方法还包括,将所述电子设备的启动顺序由从所述第一静态分区启动,修改为从所述第二静态分区启动。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括生成所述第二分区表。
5.根据权利要求4所述的方法,其特征在于,所述第一分区表中包括第一预留分区;所述生成所述第二分区表包括:
6.根据权利要求4所述的方法,其特征在于,所述生成所述第二分区表包括:
7.根据权利要求1所述的方法,其特征在于,重启所述电子设备,进入恢复模式之前,所述方法还包括:
8.根据权利要求7所述的方法,其特征在于,所述执行分区表更新准备操作,包括:
9.根据权利要求8所述的方法,其特征在于,所述第一操作流程包括:
10.根据权利要求8所述的方法,其特征在于,所述在所述恢复...
【专利技术属性】
技术研发人员:王艳召,郝庆涛,陈超,张赠辉,
申请(专利权)人:荣耀终端有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。