一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种系统校验的方法及终端与流程

2022-03-04 22:43:30 来源:中国专利 TAG:


1.本发明涉及多系统技术领域,尤其涉及一种系统校验的方法及终端。


背景技术:

2.随着多媒体技术的发展,终端内部的存储空间已经无法满足现实的应用需求,可以通过外接存储卡进行存储空间的扩展。目前的外接存储卡中存储的大多为一些文件信息,例如视频文件,图片文件,txt文件等,终端可以通过将一些比较大的文件存储在t卡上并访问t卡上的文件来解决终端存储空间有限的问题。现有技术中,无法实现对外接存储卡上的便携系统进行校验。


技术实现要素:

3.本发明提供一种系统校验的方法及终端,用于对外接存储设备中的便携系统进行校验并对校验后的便携系统进行启动。
4.第一方面,本发明提供一种系统校验的方法,该方法包括:
5.终端监测到包含便携系统的外接存储卡插入,且用户选择启动便携系统后重启本机系统,并在本机系统重启的kernel启动阶段,读取外接存储卡的各个分区,所述外接存储卡包括系统分区、数据分区、第一校验分区和第二校验分区;
6.所述终端根据第一校验分区存储的分区表信息,对所述外接存储卡的各分区信息进行第一校验;
7.确定所述第一校验通过后,所述终端根据第二校验分区存储的系统校验文件,对所述外接存储卡的系统分区进行第二校验,若所述第二校验通过后,则启动便携系统。
8.本发明提供的便携系统校验方法,主要针对终端的外接存储卡的便携系统的校验,并且对校验通过的便携系统进行启动,以使终端可以使用外接存储卡的便携系统,由于目前没有外接存储设备上存储的便携系统,并且如果要读取便携系统需要使用文件系统进行读取,即需要挂载系统分区,但目前的外接存储卡中不存在便携系统,因此目前终端本机系统在插入外接存储卡时,并不会对该设备中的系统分区进行挂载,也不会对便携系统进行校验,只进行无文件系统的读取操作,另外,本发明在校验通过后还可以启动便携系统,从而实现终端使用外接存储卡上的便携系统,有效地提高了用户使用终端的体验。
9.另外,本发明中通过对各分区信息进行校验,能够解决外接存储卡中原始的分区遭到破坏后仍启动便携系统的问题,例如用户自行调整分区大小后,校验失败,则不会启动便携系统。
10.在一种可能的实现方式中,所述终端根据第二校验分区存储的系统校验文件,对所述外接存储卡的系统分区进行第二校验,包括:
11.所述终端在本机系统重启的挂载流程阶段,创建临时目录,并将所述第二校验分区挂载到所述临时目录上,读取所述第二校验分区存储的系统校验文件;
12.所述终端按照预设校验算法确定所述系统分区内的数据的校验值,比较所述系统
校验文件中存储的校验码与所述校验值是否一致,若一致则确定第二校验通过。
13.本发明实施例提供一种校验外接存储卡中系统分区的方法,由于第二校验分区中存在文件系统,读取该第二校验分区的数据需要进行对第二校验分区进行挂载后才能执行,因此,本发明在本机系统启动的挂载流程阶段,创建临时目录,并将所述第二校验分区挂载到所述临时目录上,读取所述第二校验分区存储的系统校验文件,从而对系统分区的完整性进行校验,由于本实施例中是对系统分区内的所有数据进行校验,所以即使系统分区中的数据被修改了很少一部分,也可以检验出来并中断便携系统的启动,从而能够有效地防止便携系统被恶意篡改后仍能启动,提高了便携系统的安全性。
14.在一种可能的实现方式中,若所述第二校验通过后,则启动便携系统,包括:
15.所述终端在所述本机系统重启的挂载流程阶段,将本机目录下挂载的系统分区替换为外接存储卡的系统分区后,运行所述系统分区中的便携系统以执行便携系统启动的安卓启动阶段;
16.所述终端在所述便携系统启动的安卓启动阶段,中断本机系统挂载数据分区的流程,使用外接存储卡的设备标识挂载数据分区,并继续启动便携系统。
17.本发明实施例还提供一种启动便携系统的方法,能够使得在收到用户指示启动便携系统后,对便携系统进行校验,并在对便携系统进行校验通过之后,可以启动便携系统,实现了终端可以使用外接存储卡上的便携系统,并且本实施例中的便携系统的启动是基于本机系统启动流程进行的,在本机系统启动的过程中,通过替换本机目录下挂载的系统分区,以及使用外接存储卡的设备标识挂载数据分区,使得本机系统在访问并加载系统分区和数据分区的过程中,执行的是便携系统的逻辑,从而启动便携系统。另外,由于本发明中的系统分区中不包含与驱动或硬件强相关的数据,因此本发明中的外接存储卡的便携系统具备通用性。
18.在一种可能的实现方式中,该方法还包括:
19.所述终端在启动便携系统的安卓启动阶段,根据所述第一校验分区中的原始系统版本号对所述系统分区中的便携系统的版本号进行校验。
20.本发明还提供一种在启动便携系统的过程中,对便携系统继续进行校验的方法,根据对便携系统的版本号进行校验的方式,能够阻止非官方版本的便携系统在终端运行。
21.在一种可能的实现方式中,所述终端根据所述第一校验分区中的原始系统版本号对所述系统分区中的便携系统的版本号进行校验,包括:
22.若所述终端在预设时间内未获取到所述原始系统版本号和/或所述便携系统的版本号,则确定校验失败;或,
23.所述终端根据当前运行的便携系统的加密算法对当前运行的便携系统的版本号进行加密得到加密系统版本号,若所述原始系统版本号与所述加密系统版本号相同,则确定校验通过。
24.本实施例提供了两种校验便携系统版本号的方式,能够在用户自行烧录非官方版本的便携系统时,不启动便携系统,一种情况是,用户自行烧录的便携系统中不携带系统版本号,另一种情况是,用户烧录的便携系统中的系统版本号为非官方版本,从而不知道第一校验分区中的原始系统版本号的加密方式,由此导致校验失败,终止启动便携系统。
25.第二方面,本发明提供一种系统校验的终端,该终端包括:处理器以及存储器,其
中,所述存储器存储有程序代码,当所述存储器存储的一个或多个计算机程序被所述处理器执行时,使得所述终端执行下列过程:
26.所述处理器被配置为执行下列过程:
27.通过所述外界接口监测到插入包含便携系统的外接存储卡,且用户选择启动便携系统后重启本机系统,并在本机系统重启的kernel启动阶段,读取外界接口上的外接存储卡的各个分区,所述外接存储卡包括系统分区、数据分区、第一校验分区和第二校验分区;
28.根据第一校验分区存储的分区表信息,对所述外接存储卡的各分区信息进行第一校验;
29.确定所述第一校验通过后,根据第二校验分区存储的系统校验文件,对所述外接存储卡的系统分区进行第二校验,若所述第二校验通过后,则启动便携系统。
30.作为一种可选的实施方式,所述处理器具体用于:
31.在本机系统重启的挂载流程阶段,创建临时目录,并将所述第二校验分区挂载到所述临时目录上,读取所述第二校验分区存储的系统校验文件;
32.按照预设校验算法确定所述系统分区内的数据的校验值,比较所述系统校验文件中存储的校验码与所述校验值是否一致,若一致则确定第二校验通过。
33.作为一种可选的实施方式,所述处理器具体用于:
34.在所述本机系统重启的挂载流程阶段,将本机目录下挂载的系统分区替换为外接存储卡的系统分区后,运行所述系统分区中的便携系统以执行便携系统启动的安卓启动阶段;
35.在所述便携系统启动的安卓启动阶段,中断本机系统挂载数据分区的流程,使用外接存储卡的设备标识挂载数据分区,并继续启动便携系统。
36.作为一种可选的实施方式,所述处理器具体还用于:
37.在启动便携系统的安卓启动阶段,根据所述第一校验分区中的原始系统版本号对所述系统分区中的便携系统的版本号进行校验。
38.作为一种可选的实施方式,所述处理器具体用于:
39.若在预设时间内未获取到所述原始系统版本号和/或所述便携系统的版本号,则确定校验失败;或,
40.根据当前运行的便携系统的加密算法对当前运行的便携系统的版本号进行加密得到加密系统版本号,若所述原始系统版本号与所述加密系统版本号相同,则确定校验通过。
41.第三方面,本发明提供一种系统校验的装置,该装置包括:读取单元、第一校验单元及第二校验单元,其中:
42.所述读取单元,用于监测到包含便携系统的外接存储卡插入,且用户选择启动便携系统后重启本机系统,并在本机系统重启的kernel启动阶段,读取外接存储卡的各个分区,所述外接存储卡包括系统分区、数据分区、第一校验分区和第二校验分区;
43.所述第一校验单元,用于根据第一校验分区存储的分区表信息,对所述外接存储卡的各分区信息进行第一校验;
44.所述第二校验单元,用于确定所述第一校验通过后,根据第二校验分区存储的系统校验文件,对所述外接存储卡的系统分区进行第二校验,若所述第二校验通过后,则启动
便携系统。
45.作为一种可选的实施方式,所述第二校验单元具体用于:
46.在本机系统重启的挂载流程阶段,创建临时目录,并将所述第二校验分区挂载到所述临时目录上,读取所述第二校验分区存储的系统校验文件;
47.按照预设校验算法确定所述系统分区内的数据的校验值,比较所述系统校验文件中存储的校验码与所述校验值是否一致,若一致则确定第二校验通过。
48.作为一种可选的实施方式,所述第二校验单元具体用于:
49.在所述本机系统重启的挂载流程阶段,将本机目录下挂载的系统分区替换为外接存储卡的系统分区后,运行所述系统分区中的便携系统以执行便携系统启动的安卓启动阶段;
50.在所述便携系统启动的安卓启动阶段,中断本机系统挂载数据分区的流程,使用外接存储卡的设备标识挂载数据分区,并继续启动便携系统。
51.作为一种可选的实施方式,所述装置还包括第三校验单元用于:
52.在启动便携系统的安卓启动阶段,根据所述第一校验分区中的原始系统版本号对所述系统分区中的便携系统的版本号进行校验。
53.作为一种可选的实施方式,所述第三校验单元具体用于:
54.若在预设时间内未获取到所述原始系统版本号和/或所述便携系统的版本号,则确定校验失败;或,
55.根据当前运行的便携系统的加密算法对当前运行的便携系统的版本号进行加密得到加密系统版本号,若所述原始系统版本号与所述加密系统版本号相同,则确定校验通过。
56.第四方面,本发明提供一种计算机存储介质,其上存储有计算机程序,该程序被处理单元执行时实现第一方面所述方法的步骤。
57.另外,第二方面至第四方面中任一种实现方式所带来的技术效果可参见第一方面中不同实现方式所带来的技术效果,此处不再赘述。
附图说明
58.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
59.图1a为本发明实施例提供的一种插入外接存储卡的终端的示意图;
60.图1b为本发明实施例提供的一种插入外接存储卡的终端的示意图;
61.图2为本发明实施例提供的一种系统校验的方法流程图;
62.图3a为本发明实施例提供的一种外接存储卡插入终端的示意图;
63.图3b为本发明实施例提供的一种外接存储卡插入终端的示意图;
64.图3c为本发明实施例提供的一种触发系统重启过程的终端的示意图;
65.图4为本发明实施例提供的一种终端对便携系统的版本号进行校验的具体实施流程图;
66.图5为本发明实施例提供的一种便携系统的完整校验方法具体实施流程图;
67.图6为本发明实施例提供的一种系统校验的终端示意图;
68.图7为本发明实施例提供的一种系统校验的装置示意图;
69.图8为本发明实施例提供的一种系统校验的终端示意图。
具体实施方式
70.为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
71.下面对文中出现的一些词语进行解释:
72.1、本发明实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
73.2、本发明实施例中术语“终端”,或者叫“终端设备”,是计算机网络中处于网络最外围的设备,能够接入无线局域网络wlan进行用户信息的输入以及处理结果的输出,包括台式电脑、手机、笔记本、平板电脑、pos机、车载电脑。
74.本发明实施例描述的应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。其中,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
75.实施例一
76.现有技术中,还没有针对终端上外接存储卡的便携系统,本发明实施例中的终端的外接存储卡上存储有便携系统,终端可以在开机上电后,对该便携系统进行校验,并在校验通过后选择启动该便携系统。其中,本发明实施例中的外接存储卡可以但不限于是sd卡、t卡等,本发明实施例中的便携系统是一种操作系统,可以但不限于是安卓系统。其中,t卡,即tf卡是一种快闪存储器卡。
77.如图1a、图1b所示,为本发明实施例提供的一种插入外接存储卡的终端的示意图,其中,所述外接存储卡为t卡。
78.由于现有技术中并没有终端对插入的外接存储卡的便携系统进行校验的方法,本发明提出一种对外接存储卡便携系统校验的方法,即通过终端自带的本机系统对便携系统进行校验的方法,能够检验便携系统是否是符合要求,未被篡改过的便携系统,以使终端在校验通过后,可以启动该便携系统。
79.由于本发明实施例中对便携系统的校验过程是在安卓系统的启动流程执行的过程中完成的,因此首先对安卓系统的启动流程进行简单介绍。
80.安卓系统从上到下分为四层:应用层,应用程序框架层,系统运行库层和linux内核层;其中,linux内核为安卓系统提供内存管理,进程管理,网络协议和各种驱动(如显示驱动、相机驱动、蓝牙驱动等);系统运行库层用于启动包括c/c 库和android runtime;应用框架层为应用层开发提供了各种组件和服务;应用层主要由java程序编写,包含各种资
源文件,可以与用户进行交互。
81.对于整个android系统的启动流程总的来说可以分为三个阶段,分别是:系统启动加载器boot loader引导阶段;linux内核启动即kernel启动阶段;android系统启动即ramdisk.img与system.img启动阶段。其中,boot loader可以理解为是为操作系统启动之前做的准备,用以初始化硬件设备,建立内存空间的映像图,为最终调用系统内核准备好环境,给内核传递必要的数据;linux内核启动主要是为了完成linux内核初始化并进行系统设置;linux内核初始化完成后,就可以加载android系统了,加载android系统首先会启动init进程;init进程是android系统中用户空间的第一个进程,进程号为1,是android系统启动中的一个关键进程,简单概括为:
82.(1)创建和挂载启动系统所需要的文件目录。
83.(2)初始化和启动属性服务。这里的属性服务,类似于windows操作系统中的注册表管理器,用来记录用户、软件等的一些信息。
84.(3)解析init.rc配置文件,并启动孵化器zygote进程。
85.zygote进程启动主要用于创建应用程序进程以及创建并启动系统的关键服务system server;system server进程启动主要用于创建系统服务。系统启动的最后一步是启动启动器launcher,用于启动应用程序,以及显示和管理应用程序的快捷图标或者其它桌面组件。
86.另外,android系统中的rom会划分为不同的区域,用于放置不同的程序,在android系统中主要划分为以下几个分区:
87.·
/boot:存放引导程序,包括内核和内存操作程序;
88.·
/system:存放android系统及系统应用;
89.·
/recovery:恢复分区,可以进入该分区进行系统恢复;
90.·
/data:用户数据区,包含了用户的数据:联系人、短信、设置、用户安装的程序;
91.·
/cache:安卓系统缓存区,保存系统最常访问的数据和应用程序;
92.·
/misc:包含一些杂项内容,如系统设置和系统功能启用禁用设置;
93.·
/sdcard:用户自己的存储区,可以存放照片,音乐,视频等文件。
94.当开机通电时首先会加载bootloader,bootloader回读取rom找到操作系统并将linux内核加载到ram中。当linux内核启动后会加载驱动程序,挂载根文件系统,其中,挂载(mounting)是指由操作系统使一个存储设备(诸如硬盘、cd-rom或共享资源)上的计算机文件和目录可供用户通过计算机的文件系统访问的一个过程。
95.如图2所示,本发明实施例提供了一种系统校验的方法,能够在终端系统重启的过程中,对外接存储卡中的便携系统进行校验,以使在校验通过后终端可以启动该便携系统,该方法具体的实施流程如下所示:
96.步骤200、终端监测到包含便携系统的外接存储卡插入,且用户选择启动便携系统后重启本机系统,并在本机系统重启的kernel启动阶段,读取外接存储卡的各个分区,所述外接存储卡包括系统分区、数据分区、第一校验分区和第二校验分区;
97.步骤201、所述终端根据第一校验分区存储的分区表信息,对所述外接存储卡的各分区信息进行第一校验;
98.可选的,本实施例中的所述各分区信息包括但不限于:分区大小、分区的起始位
置、分区名称等。也就是说,本实施例中的第一校验用于校验各分区信息是否被破坏了,例如各分区的大小是否被修改过。
99.实施中,所述终端根据第一校验分区存储的分区表信息,比较所述外接存储卡的各分区信息是否与所述分区表信息中的各分区信息一致,如外接存储卡的各分区的大小是否与分区表信息中各分区的大小一致,外接存储卡的各分区的名称是否与分区表信息中各分区的名称一致,外接存储卡的各分区的起始位置是否与分区表信息中各分区的起始位置一致,若都一致则说明各分区信息未被修改验证通过。
100.比如,分区表信息包括从0x0000位置开始到0x0300位置结束的分区,其中,每92位长度代表一个分区的大小,第一个92位代表系统system分区的大小,第二个92位代表数据data分区的大小,第三个92位代表第一校验分区的大小,第四个92位代表第二校验分区的大小。
101.作为一种可选的实施方式,所述终端在接收到启动便携系统的指示后触发的系统重启过程之前,还包括:
102.所述终端开机上电后,根据对外接存储卡插入的监听事件,确定监测到包含便携系统的外接存储卡插入后,弹出是否启动便携系统的界面;
103.所述终端接收到用户选择启动便携系统的指示后重启系统。
104.实施中,如图3a、图3b所示,终端开机上电后,确定外接存储卡插入终端后,弹出是否启动便携系统的界面,如图3c所示,若用户点击启动便携系统,则触发系统重启过程,在对便携系统校验完成后,启动便携系统。需要说明的是,终端开机上电后开始启动本机系统,在本机系统启动的kernel启动阶段,会注册一个监听事件,用于对外接存储卡是否插入终端进行监听,根据监听结果确定外接存储卡插入终端后,会弹出是否启动便携系统的界面。本实施例中的监听事件能够解决在终端启动过程中无法对终端的外接存储卡进行处理的问题。
105.作为一种可选的实施方式,本实施例中对所述外接存储卡的各分区信息进行第一校验的过程是在系统重启过程的kernel启动阶段完成的。
106.步骤202、确定所述第一校验通过后,所述终端根据第二校验分区存储的系统校验文件,对所述外接存储卡的系统分区进行第二校验,若所述第二校验通过后,则启动便携系统。
107.需要说明的是,本实施例中对所述外接存储卡的系统分区进行第二校验的过程是在本机系统启动的挂载流程阶段进行的。
108.可选的,本实施例提供一种对系统分区进行第二校验的方式:
109.所述终端在本机系统重启的挂载流程阶段,创建临时目录,并将所述第二校验分区挂载到所述临时目录上,读取所述第二校验分区存储的系统校验文件;
110.所述终端按照预设校验算法确定所述系统分区内的数据的校验值,比较所述系统校验文件中存储的校验码与所述校验值是否一致,若一致则确定第二校验通过。
111.可选的,本实施例中的预设校验算法可以但不限于是哈希校验。
112.其中,本实施例中终端所使用的预设校验算法可以在外接存储卡的系统分区中获取,也可以在外接存储卡的数据分区或第一校验分区或第二校验分区中获取,本实施例对此不作过多限定。可选的,本实施例中的外接存储卡还包括额外分区,用于存储所需的数据
或预设校验算法。具体的,若所述预设算法为哈希校验,则终端可以在本机系统启动的挂载流程阶段,读取系统校验文件中的校验值(如哈希值),利用该校验值(如哈希值)对系统分区中的数据进行校验(如哈希校验),若校验通过则启动便携系统。
113.需要说明的是,本实施例中终端对便携系统的校验过程是在终端重启的过程中进行的,并且,终端是在接收到启动便携系统的指示后触发的系统重启过程。由于终端在系统重启的过程中,本机系统会通过使用一个保护分区中的vbmeta校验数据对系统system分区中的数据进行校验,当校验值一致时,才会走正常的系统启动流程,因此,这造成了一个终端的本机系统只能识别一个system,如果要识别多个system,就需要内置多个vbmeta校验数据,并准备多个system分区,才能实现两个系统间的切换。
114.为了解决上述问题,本发明实施例终端在系统重启的过程中,为了不破坏终端本机系统system分区的校验,在本机系统重启过程的kernel启动阶段,本机系统正常执行本机system分区的校验,本机system分区校验成功后,开始对便携系统进行校验,即可以读取外接存储卡的各个分区;或者,在系统重启过程的kernel启动阶段,本机系统正常执行本机system分区的校验,同时,读取外接存储卡的各个分区,在本机system分区校验成功且第一校验通过后,所述终端根据第二校验分区存储的系统校验文件,对所述外接设备的系统分区进行第二校验,若所述第二校验通过后,则启动便携系统。
115.可选的,在启动本机系统的kernel启动阶段,本机系统执行本机system分区的校验成功后,读取外接存储卡的各个分区,根据第一校验分区存储的分区表信息,对所述外接设备的各分区信息进行第一校验;或,
116.在启动本机系统的kernel启动阶段,本机系统执行本机system分区的校验,并读取外接存储卡的各个分区,根据第一校验分区存储的分区表信息,对所述外接设备的各分区信息进行第一校验,若本机system分区校验成功且所述第一校验通过后,所述终端根据第二校验分区存储的系统校验文件,对所述外接设备的系统分区进行第二校验,若所述第二校验通过后,则启动便携系统。
117.本发明实施例中的便携系统是通用系统,所述便携系统包括以下四个分区:
118.1)系统分区,存储system文件,可理解为存储便携系统及系统应用等文件;
119.2)数据分区,存储用户的数据,如:联系人、短信、设置、用户安装的程序;
120.3)第一校验分区,存储分区表信息;第一校验分区没有文件系统,不可挂载,终端可以直接读取;
121.可选的,第一校验分区,还包括原始系统版本号。
122.4)第二校验分区,存储系统校验文件;第二校验分区有文件系统,需挂载后终端才能读取。
123.本发明实施例中的外接存储卡可以通过烧录工具将上述四个分区的数据或文件烧录到外接存储卡中,由于本发明中系统分区中烧录的是system文件,而该system文件中只包含便携系统及系统应用的文件,并不包含与驱动或硬件相关的内容(可理解为不包含厂商的私有文件),因此,本实施例中的便携系统具备通用性,该便携系统与设备不存在强相关内容,不具备高耦合性。
124.作为一种可选的实施方式,本实施例还提供一种校验方式,包括:
125.所述终端在启动便携系统的安卓启动阶段,根据所述第一校验分区中的原始系统
版本号对所述系统分区中的便携系统的版本号进行校验。
126.作为一种可选的实施方式,若所述第一校验失败,则中断当前的本机启动过程,重新启动系统回到本机系统;或,
127.若所述第二校验失败,则中断当前的本机启动过程,重新启动系统回到本机系统;或,
128.若根据所述第一校验分区中的原始系统版本号对所述系统分区中的便携系统的版本号进行校验后,校验失败,则中断当前的本机启动过程,重新启动系统回到本机系统。
129.需要说明的是,本发明实施例可以通过两次不同的校验方式,对便携系统进行校验,还可以在上述两次校验通过后,结合第三种校验方式对便携系统进行校验,其中,对外接存储卡进行第一校验,即校验各分区信息,能够使得各分区大小被调整后不会启动便携系统,认为该便携系统并非官方版本,被自行修改了;对外接存储卡进行第二校验,即校验系统分区,能够使得系统分区中的数据被替换后不会启动便携系统,保证系统分区的完整性;对外接存储卡的便携系统版本号进行校验,能够使得没有系统版本号或系统版本号非官方版本号时不会启动便携系统,防止用户在该外接存储卡中烧录非官方版本的便携系统时启动便携系统。
130.需要说明的是,上述终端对便携系统的版本号进行校验的过程,是在启动便携系统的安卓启动阶段进行的。
131.本实施例还可以在所述第二校验通过后,启动便携系统,具体的实施方式如下所示:
132.所述终端在所述本机系统重启的挂载流程阶段,将本机目录下挂载的系统分区替换为外接存储卡的系统分区后,运行所述系统分区中的便携系统以执行便携系统启动的安卓启动阶段;
133.所述终端在所述便携系统启动的安卓启动阶段,中断本机系统挂载数据分区的流程,使用外接存储卡的设备标识挂载数据分区,并继续启动便携系统。
134.需要说明的是,本实施例对数据分区挂载后,执行的启动流程和现有技术是一样的,由于本发明实施例便携系统的启动流程是基于本机系统的启动流程,因此具备通用性,任何装有安卓系统的终端都可以使用本发明中外接存储卡中的便携系统,本实施例便携系统的启动流程是在原有的本机系统启动的流程中添加了多个中断处理,用于对外接存储卡进行校验后启动该外接存储卡中的便携系统。其中一个中断处理用于在所述本机系统的挂载流程阶段,将本机目录下挂载的系统分区替换为外接存储卡的系统分区,另一个中断处理用于中断本机系统挂载数据分区的流程,使用外接存储卡的设备标识挂载数据分区,执行了上述两个中断处理后,实际上当前本机启动的系统就是便携系统了。
135.本实施例还提出一种启动便携系统的方式,用于终端在收到启动便携系统的指示后,先对便携系统进行校验,校验通过后启动该便携系统,从而实现了对外接存储卡中便携系统的使用,实现了终端可以实现多个操作系统的使用,并且,本实施例中提供的便携系统是一种通用的便携系统,可以针对各种不同的终端。
136.作为一种可选的实施方式,在启动便携系统的安卓启动阶段,根据所述第一校验分区中的原始系统版本号对所述系统分区中的便携系统的版本号进行校验,其中,具体的校验方式包括如下任一种:
137.1)若所述终端在预设时间内未获取到所述原始系统版本号和/或所述便携系统的版本号,则确定校验失败;
138.2)所述终端根据当前运行的便携系统的加密算法对当前运行的便携系统的版本号进行加密得到加密系统版本号,若所述原始系统版本号与所述加密系统版本号相同,则确定校验通过。
139.在该校验方式下,所述终端在启动便携系统的安卓启动阶段,便携系统将系统内部记录的便携系统版本号发送给驱动进行校验(以写节点的方式通知驱动):
140.一种方式是,驱动在预设时间内未获取到所述便携系统版本号,和/或,第一校验分区中的原始系统版本号,则确定校验失败;
141.另一种方式是,若驱动在预设时间内获取到所述便携系统版本号和所述原始系统版本号,则通过将便携系统版本号与原始系统版本号进行对比,若一致则校验通过,否则中断当前的本机启动过程,重新启动系统回到本机系统。
142.需要说明的是,本实施例中终端对便携系统的版本号进行校验的过程是在启动便携系统的安卓启动阶段使用外接存储卡的设备标识挂载数据分区之后执行的;实施中,本实施例中的便携系统的版本号是根据预设算法加密过的版本号。
143.如图4所示,终端对便携系统的版本号进行校验的具体的执行流程如下:
144.步骤400、若所述第二校验通过后,在所述本机系统的挂载流程阶段,终端将本机目录下挂载的系统分区替换为外接存储卡的系统分区;
145.例如,替换后的本机目录为mount

t ext4/dev/block/mmcblk1p1/system,其中,mount是执行挂载动作的命令,即使用mount命令替换系统分区,

t ext4是指外接存储卡的文件系统是ext4格式,dev/block/mmcblk1p1为外接存储卡的设备名称(即便携系统对应的设备名称),system为外接存储卡的系统分区(即要替换的系统分区)。
146.步骤401、终端运行所述系统分区中的便携系统以执行便携系统启动的安卓启动阶段;
147.容易理解的是,由于终端将本机目录下挂载的系统分区替换为外接存储卡的系统分区,则本机系统运行的当前的系统分区实际上是外接存储卡中的便携系统。
148.作为一种可选的实施方式,在所述本机系统的挂载流程阶段,所述终端将本机目录下挂载的系统分区替换为外接存储卡的系统分区之后,还包括:所述终端在所述系统分区目录下创建预设目录的预设链接。
149.实施中,创建指向system目录下关键目录的一些关键链接,比如/product目录,需要指向/system/product目录,例如mount

o bind/system/product/product。
150.步骤402、终端在所述便携系统启动的安卓启动阶段,中断本机系统挂载数据分区的流程;
151.步骤403、终端使用外接存储卡的设备标识挂载数据分区;
152.由于终端运行系统分区中的便携系统之后,实际当前本机系统启动的就是外接存储卡中的便携系统了,那么在启动便携系统的过程中,还可以对当前运行的便携系统的版本号进行校验。但是,在对便携系统的版本号进行校验之前,需要先中断本机系统挂载数据分区的流程,由于本机系统在挂载数据分区时,需要用到配置文件,而该配置文件是存储在vendor分区中的,由于vendor分区中的配置文件与驱动和硬件具有高耦合性,因此,本实施
中并没有对vendor分区中的数据进行替换,那么,若正常执行本机系统挂载数据分区的流程,则读取的配置文件是本机系统的数据分区中的用户数据,并不是外接存储卡的数据分区。
153.因此,本实施例终端中断了本机系统挂载数据分区的流程,并使用外接存储卡的设备标识挂载数据分区,从而完成数据分区的替换,读取的是外接存储卡的数据分区中的用户数据。
154.步骤404、终端对数据分区按现有方式进行解密操作并在数据分区解密成功之后,便携系统以写节点的方式通知驱动,写入的节点内容可以是按照当前运行的便携系统的加密算法对当前运行的便携系统的版本号进行加密得到加密系统版本号;
155.步骤405、驱动收到加密系统版本号后,比较所述原始系统版本号与所述加密系统版本号是否一致;若一致执行步骤406,否则执行步骤407;
156.步骤406、继续启动便携系统;
157.步骤407、中断启动便携系统,重新启动系统回到本机系统。
158.如图5所示,本实施例还提供一种便携系统的完整校验方法,具体的实施流程如下所示:
159.步骤500、终端开机上电;
160.步骤501、根据对外接存储卡插入的监听事件,确定外接存储卡插入终端后,弹出是否启动便携系统的界面;
161.步骤502、接收到启动便携系统的指示,重启系统;
162.步骤503、在本机系统重启的kernel启动阶段,读取外接存储卡的各个分区,所述外接存储卡包括系统分区、数据分区、第一校验分区和第二校验分区;
163.步骤504、根据第一校验分区存储的分区表信息,对所述外接存储卡的各分区信息进行第一校验;
164.步骤505、判断所述第一校验是否通过,若通过则执行步骤506,否则执行步骤515;
165.步骤506、在本机系统启动的挂载流程阶段,创建临时目录,并将所述第二校验分区挂载到所述临时目录上;
166.步骤507、读取所述第二校验分区存储的系统校验文件,所述终端按照预设校验算法确定所述系统分区内的数据的校验值;
167.步骤508、比较所述系统校验文件中存储的校验码与所述校验值是否一致,若一致则执行步骤509,否则执行步骤515;
168.步骤509、在所述本机系统的挂载流程阶段,将本机目录下挂载的系统分区替换为外接存储卡的系统分区,运行所述系统分区中的便携系统以执行便携系统启动的安卓启动阶段;
169.步骤510、所述终端在所述便携系统启动的安卓启动阶段,中断本机系统挂载数据分区的流程,使用外接存储卡的设备标识挂载数据分区;
170.步骤511、按预设方式对数据分区进行解密操作;
171.所述预设方式与现有技术对数据分区的加解密操作是一样的;
172.步骤512、解密成功后,根据所述第一校验分区中的原始系统版本号对所述系统分区中的便携系统的版本号进行校验;
173.步骤513、判断校验是否通过,若校验通过执行步骤514,否则执行步骤515;
174.可选的,若所述终端在预设时间内未获取到所述原始系统版本号和/或所述便携系统的版本号,则确定校验失败;或,
175.所述终端根据当前运行的便携系统的加密算法对当前运行的便携系统的版本号进行加密得到加密系统版本号,若所述原始系统版本号与所述加密系统版本号相同,则确定校验通过,即比较所述原始系统版本号与所述加密系统版本号是否一致。
176.步骤514、继续启动便携系统。
177.步骤515、中断启动便携系统,重启系统返回本机系统。
178.实施例二
179.基于相同的发明构思,本发明实施例还提供了一种系统校验的终端,由于该终端即是本发明实施例中的方法中的终端,并且该终端解决问题的原理与该方法相似,因此该终端的实施可以参见方法的实施,重复之处不再赘述。
180.如图6所示,该终端包括:处理器600以及外界接口601,其中,所述处理器600被配置为执行下列过程:
181.通过所述外界接口监测到插入包含便携系统的外接存储卡,且用户选择启动便携系统后重启本机系统,并在本机系统重启的kernel启动阶段,读取外界接口上的外接存储卡的各个分区,所述外接存储卡包括系统分区、数据分区、第一校验分区和第二校验分区;
182.根据第一校验分区存储的分区表信息,对所述外接存储卡的各分区信息进行第一校验;
183.确定所述第一校验通过后,根据第二校验分区存储的系统校验文件,对所述外接存储卡的系统分区进行第二校验,若所述第二校验通过后,则启动便携系统。
184.作为一种可选的实施方式,所述处理器600具体用于:
185.在本机系统重启的挂载流程阶段,创建临时目录,并将所述第二校验分区挂载到所述临时目录上,读取所述第二校验分区存储的系统校验文件;
186.按照预设校验算法确定所述系统分区内的数据的校验值,比较所述系统校验文件中存储的校验码与所述校验值是否一致,若一致则确定第二校验通过。
187.作为一种可选的实施方式,所述处理器600具体用于:
188.在所述本机系统重启的挂载流程阶段,将本机目录下挂载的系统分区替换为外接存储卡的系统分区后,运行所述系统分区中的便携系统以执行便携系统启动的安卓启动阶段;
189.在所述便携系统启动的安卓启动阶段,中断本机系统挂载数据分区的流程,使用外接存储卡的设备标识挂载数据分区,并继续启动便携系统。
190.作为一种可选的实施方式,所述处理器600具体还用于:
191.在启动便携系统的安卓启动阶段,根据所述第一校验分区中的原始系统版本号对所述系统分区中的便携系统的版本号进行校验。
192.作为一种可选的实施方式,所述处理器600具体用于:
193.若在预设时间内未获取到所述原始系统版本号和/或所述便携系统的版本号,则确定校验失败;或,
194.根据当前运行的便携系统的加密算法对当前运行的便携系统的版本号进行加密
得到加密系统版本号,若所述原始系统版本号与所述加密系统版本号相同,则确定校验通过。
195.实施例三
196.基于相同的发明构思,本发明实施例还提供了一种系统校验的装置,由于该装置即是本发明实施例中的方法中的装置,并且该装置解决问题的原理与该方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
197.如图7所示,该装置包括:读取单元700、第一校验单元701及第二校验单元702,其中:
198.所述读取单元700,用于监测到包含便携系统的外接存储卡插入,且用户选择启动便携系统后重启本机系统,并在本机系统重启的kernel启动阶段,读取外接存储卡的各个分区,所述外接存储卡包括系统分区、数据分区、第一校验分区和第二校验分区;
199.所述第一校验单元701,用于根据第一校验分区存储的分区表信息,对所述外接存储卡的各分区信息进行第一校验;
200.所述第二校验单元702,用于确定所述第一校验通过后,根据第二校验分区存储的系统校验文件,对所述外接存储卡的系统分区进行第二校验,若所述第二校验通过后,则启动便携系统。
201.作为一种可选的实施方式,所述第二校验单元702具体用于:
202.在本机系统重启的挂载流程阶段,创建临时目录,并将所述第二校验分区挂载到所述临时目录上,读取所述第二校验分区存储的系统校验文件;
203.按照预设校验算法确定所述系统分区内的数据的校验值,比较所述系统校验文件中存储的校验码与所述校验值是否一致,若一致则确定第二校验通过。
204.作为一种可选的实施方式,所述第二校验单元702具体用于:
205.在所述本机系统重启的挂载流程阶段,将本机目录下挂载的系统分区替换为外接存储卡的系统分区后,运行所述系统分区中的便携系统以执行便携系统启动的安卓启动阶段;
206.在所述便携系统启动的安卓启动阶段,中断本机系统挂载数据分区的流程,使用外接存储卡的设备标识挂载数据分区,并继续启动便携系统。
207.作为一种可选的实施方式,所述装置还包括第三校验单元用于:
208.在启动便携系统的安卓启动阶段,根据所述第一校验分区中的原始系统版本号对所述系统分区中的便携系统的版本号进行校验。
209.作为一种可选的实施方式,所述第三校验单元具体用于:
210.若在预设时间内未获取到所述原始系统版本号和/或所述便携系统的版本号,则确定校验失败;或,
211.根据当前运行的便携系统的加密算法对当前运行的便携系统的版本号进行加密得到加密系统版本号,根据所述原始系统版本号对所述加密系统版本号进行校验。
212.实施例四
213.基于相同的发明构思,本发明实施例还提供了一种系统校验的终端,由于该终端即是本发明实施例中的方法中的终端,并且该终端解决问题的原理与该方法相似,因此该终端的实施可以参见方法的实施,重复之处不再赘述。
214.如图8所示,该终端800包括:射频(radio frequency,rf)电路810、电源820、处理器830、存储器840、输入单元850、显示单元860、摄像头870、通信接口880、以及无线保真(wireless fidelity,wi-fi)模块890等部件。本领域技术人员可以理解,图8中示出的终端的结构并不构成对终端的限定,本技术实施例提供的终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
215.下面结合图8对所述终端800的各个构成部件进行具体的介绍:
216.所述rf电路810可用于通信或通话过程中,数据的接收和发送。特别地,所述rf电路810在接收到基站的下行数据后,发送给所述处理器830处理;另外,将待发送的上行数据发送给基站。通常,所述rf电路810包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(low noise amplifier,lna)、双工器等。
217.此外,rf电路810还可以通过无线通信与网络和其他终端通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(global system of mobile communication,gsm)、通用分组无线服务(general packet radio service,gprs)、码分多址(code division multiple access,cdma)、宽带码分多址(wideband code division multiple access,wcdma)、长期演进(long term evolution,lte)、电子邮件、短消息服务(short messaging service,sms)等。
218.wi-fi技术属于短距离无线传输技术,所述终端800通过wi-fi模块890可以连接接入点(access point,ap),从而实现数据网络的访问。所述wi-fi模块890可用于通信过程中,数据的接收和发送。
219.所述终端800可以通过所述通信接口880与其他终端实现物理连接。可选的,所述通信接口880与所述其他终端的通信接口通过电缆连接,实现所述终端800和其他终端之间的数据传输。
220.由于在本技术实施例中,所述终端800能够实现通信业务,向其他联系人发送信息,因此所述终端800需要具有数据传输功能,即所述终端800内部需要包含通信模块。虽然图8示出了所述rf电路810、所述wi-fi模块890、和所述通信接口880等通信模块,但是可以理解的是,所述终端800中存在上述部件中的至少一个或者其他用于实现通信的通信模块(如蓝牙模块),以进行数据传输。
221.例如,当所述终端800为手机时,所述终端800可以包含所述rf电路810,还可以包含所述wi-fi模块890;当所述终端800为计算机时,所述终端800可以包含所述通信接口880,还可以包含所述wi-fi模块890;当所述终端800为平板电脑时,所述终端800可以包含所述wi-fi模块。
222.所述存储器840可用于存储软件程序以及模块。所述处理器830通过运行存储在所述存储器840的软件程序以及模块,从而执行所述终端800的各种功能应用以及数据处理,并且当处理器830执行存储器840中的程序代码后,可以实现本发明实施例1中的部分或全部过程。
223.可选的,所述存储器840可以主要包括存储程序区和存储数据区。其中,存储程序区可存储操作系统、各种应用程序等;存储数据区可存储根据所述终端的使用所创建的数据(比如应用的使用时长信息)等。
224.此外,所述存储器840可以包括高速随机存取存储器,还可以包括非易失性存储
器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
225.所述输入单元850可用于接收用户输入的数字或字符信息,以及产生与所述终端800的用户设置以及功能控制有关的键信号输入。
226.可选的,输入单元850可包括触控面板851以及其他输入终端852。
227.其中,所述触控面板851,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在所述触控面板851上或在所述触控面板851附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,所述触控面板851可以包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给所述处理器830,并能接收所述处理器830发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现所述触控面板851。
228.可选的,所述其他输入终端852可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
229.所述显示单元860可用于显示由用户输入的信息或提供给用户的信息以及所述终端800的各种菜单。所述显示单元860即为所述终端800的显示系统,用于呈现界面,实现人机交互。
230.所述显示单元860可以包括显示面板861。可选的,所述显示面板861可以采用液晶显示屏(liquid crystal display,lcd)、有机发光二极管(organic light-emitting diode,oled)等形式来配置。
231.进一步的,所述触控面板851可覆盖所述显示面板861,当所述触控面板851检测到在其上或附近的触摸操作后,传送给所述处理器830以确定触摸事件的类型,随后所述处理器830根据触摸事件的类型在所述显示面板861上提供相应的视觉输出。
232.虽然在图8中,所述触控面板851与所述显示面板861是作为两个独立的部件来实现所述终端800的输入和输入功能,但是在某些实施例中,可以将所述触控面板851与所述显示面板861集成而实现所述终端800的输入和输出功能。
233.所述处理器830是所述终端800的控制中心,利用各种接口和线路连接各个部件,通过运行或执行存储在所述存储器840内的软件程序和/或模块,以及调用存储在所述存储器840内的数据,执行所述终端800的各种功能和处理数据,从而实现基于所述终端的多种业务。
234.可选的,所述处理器830可包括一个或多个处理单元。可选的,所述处理器830可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到所述处理器830中。
235.所述摄像头870,用于实现所述终端800的拍摄功能,拍摄图片或视频。所述摄像头870还可以用于实现终端800的扫描功能,对扫描对象(二维码/条形码)进行扫描。
236.所述终端800还包括用于给各个部件供电的电源820(比如电池)。可选的,所述电源820可以通过电源管理系统与所述处理器830逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗等功能。
237.需要说明的是,本发明实施例处理器830可以执行如下内容:
238.监测到包含便携系统的外接存储卡插入,且用户选择启动便携系统后重启本机系统,并在本机系统重启的kernel启动阶段,读取外接存储卡的各个分区,所述外接存储卡包括系统分区、数据分区、第一校验分区和第二校验分区;
239.根据第一校验分区存储的分区表信息,对所述外接存储卡的各分区信息进行第一校验;
240.确定所述第一校验通过后,根据第二校验分区存储的系统校验文件,对所述外接存储卡的系统分区进行第二校验,若所述第二校验通过后,则启动便携系统。
241.作为一种可选的实施方式,所述处理器具体用于:
242.在本机系统重启的挂载流程阶段,创建临时目录,并将所述第二校验分区挂载到所述临时目录上,读取所述第二校验分区存储的系统校验文件;
243.按照预设校验算法确定所述系统分区内的数据的校验值,比较所述系统校验文件中存储的校验码与所述校验值是否一致,若一致则确定第二校验通过。
244.作为一种可选的实施方式,所述处理器具体用于:
245.在所述本机系统重启的挂载流程阶段,将本机目录下挂载的系统分区替换为外接存储卡的系统分区后,运行所述系统分区中的便携系统以执行便携系统启动的安卓启动阶段;
246.在所述便携系统启动的安卓启动阶段,中断本机系统挂载数据分区的流程,使用外接存储卡的设备标识挂载数据分区,并继续启动便携系统。
247.作为一种可选的实施方式,所述处理器具体还用于:
248.在启动便携系统的安卓启动阶段,根据所述第一校验分区中的原始系统版本号对所述系统分区中的便携系统的版本号进行校验。
249.作为一种可选的实施方式,所述处理器具体用于:
250.若在预设时间内未获取到所述原始系统版本号和/或所述便携系统的版本号,则确定校验失败;或,
251.根据当前运行的便携系统的加密算法对当前运行的便携系统的版本号进行加密得到加密系统版本号,根据所述原始系统版本号对所述加密系统版本号进行校验。
252.本发明实施例还提供一种计算机可读非易失性存储介质,包括程序代码,当所述程序代码在计算终端上运行时,所述程序代码用于使所述计算终端执行如下步骤:
253.监测到包含便携系统的外接存储卡插入,且用户选择启动便携系统后重启本机系统,并在本机系统重启的kernel启动阶段,读取外接存储卡的各个分区,所述外接存储卡包括系统分区、数据分区、第一校验分区和第二校验分区;
254.根据第一校验分区存储的分区表信息,对所述外接存储卡的各分区信息进行第一校验;
255.确定所述第一校验通过后,根据第二校验分区存储的系统校验文件,对所述外接存储卡的系统分区进行第二校验,若所述第二校验通过后,则启动便携系统。
256.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机
可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
257.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
258.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
259.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
260.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献