[发明专利]一种基于虚拟机的双系统启动方法及存储介质在审
申请号: | 202011167919.1 | 申请日: | 2020-10-28 |
公开(公告)号: | CN112328358A | 公开(公告)日: | 2021-02-05 |
发明(设计)人: | 陈建新;郭建勤 | 申请(专利权)人: | 惠州华阳通用电子有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/445 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 叶新平 |
地址: | 516000 广东省惠州市东江*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 虚拟机 双系统 启动 方法 存储 介质 | ||
本发明涉及操作系统技术领域,提供一种基于虚拟机的双系统启动方法及存储介质,根据预设流程获取vbmeta镜像,进行数据解析后得到相应的校验参数,虚拟机管理器通过读取MISC分区中各个槽位的激活状态,获取已激活的槽位的目标槽位镜像,随后结合校验参数启动对应的客户端操作系统,而出现启动异常现象时,可根据预设切换线程更换目标槽位镜像,重新启动客户端操作系统。本发明结合AndroidP系统本身的AB分区切换机制,在客户端(Guest)Android系统的SLOTA分区镜像出现异常时(例如系统升级或者使用过程中镜像数据损坏导致的异常),宿主机操作系统根据客户端系统的启动情况,自动地由SLOTA分区切换到SLOTB分区,大幅度地提高了平台的稳定性。
技术领域
本发明涉及操作系统技术领域,尤其涉及一种基于虚拟机的双系统启动方法及存储介质。
背景技术
A/B系统更新使用称为update_engine的后台守护进程以及两组分区。这两组分区称为插槽,通常为插槽A和插槽B。系统从其中一个插槽(当前插槽)运行,但运行的系统不会访问“未使用的”插槽中的分区(用于正常操作)。此功能的目标是将未使用的插槽保留为后备插槽,从而使更新具有抗故障性。
而现有的虚拟化方案设计,没有沿用AndroidP系统的AB分区切换机制,启动GUEST端的Android操作系统,只是加载指定的Android系统的SYSTEM分区镜像以及VENDOR分区镜像,没有充分将AndroidP系统AB分区机制的优点发挥出来,反而退回到旧版本的状态,一旦升级Android系统镜像异常后,或者长期使用过程中镜像文件数据损坏,系统无法正常启动,就只能采用灾难恢复的方式来修复。
发明内容
本发明提供一种基于虚拟机的双系统启动方法及存储介质,解决了现有的虚拟机Android系统中镜像分区故障修复难度大的技术问题。
为解决以上技术问题,本发明提供一种基于虚拟机的双系统启动方法,包括步骤:
S1、宿主机操作系统的启动引导程序根据预设流程获取vbmeta镜像,并解析得到相应的校验参数;
S2、根据获取到的MISC分区槽位的激活状态,进而获取对应的目标槽位镜像;
S3、根据所述校验参数、所述目标槽位镜像启动对应的客户端操作系统;
S4、当判断到所述客户端操作系统启动异常时,根据预设切换线程更换目标槽位镜像,重新启动所述客户端操作系统。
本基础方案根据预设流程获取vbmeta镜像,进行数据解析后得到相应的校验参数,虚拟机管理器通过读取MISC分区中各个槽位的激活状态,获取已激活的槽位的目标槽位镜像,随后结合校验参数启动对应的客户端操作系统,而出现启动异常现象时,可根据预设切换线程更换目标槽位镜像,重新驱动所述目标操作系统。本发明结合AndroidP系统本身的AB分区切换机制,在客户端(Guest)Android系统的SLOTA分区镜像出现异常时(例如系统升级或者使用过程中镜像数据损坏导致的异常),宿主机操作系统根据客户端系统的启动情况,自动地由SLOTA分区切换到SLOTB分区,大幅度地提高了平台的稳定性。
在进一步的实施方案中,在所述步骤S1中:
所述预设流程为安卓验证启动流程;
所述校验参数包括安卓验证启动流程的版本信息以及对应的校验算法类型;
所述根据预设流程获取vbmeta镜像为:根据预设启动引导程序获取所述安卓验证启动流程,并获取与所述安卓验证启动流程对应的vbmeta镜像。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于惠州华阳通用电子有限公司,未经惠州华阳通用电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011167919.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:钛合金热处理应力消除及变形控制装置
- 下一篇:一种耐磨损组装式翅片滚刀