一种多操作系统的切换方法转让专利

申请号 : CN201910861781.6

文献号 : CN110569075B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吴迪

申请人 : 浙江立为信息科技有限公司

摘要 :

本发明涉及一种多操作系统的切换方法,该方法将用户信息存储于多操作系统的共享的用户分区中,当从第一操作系统切换到第二操作系统时,将切换数据和数字签名存储于所述用户分区,第二操作系统基于所述切换数据执行用户登录。该方法在保证安全性的基础上,提高了操作系统切换的效率,提高了用户体验。

权利要求 :

1.一种多操作系统的切换方法,其特征在于,在同一计算机上安装多个操作系统,并提供独立的各操作系统均可访问的用户分区,用于存储包括用户注册文件的用户信息,该方法包括以下步骤:步骤100:用户启动计算机,正常登录第一操作系统,当用户需要切换到第二操作系统时,用户发出相应的切换指令;

步骤200:第一操作系统在接收到切换指令后,生成切换数据D,所述切换数据D至少包括以下四项:第一操作系统的标识符ID1、第二操作系统的标识符ID2、时间戳TimeStamp和用户账号Account;其中,所述时间戳用于表示当前时间;

步骤300:第一操作系统对所述切换数据D进行数字签名,生成签名结果S,将二元组存储于用户分区中;

步骤400:第一操作系统关闭,同时调用第二操作系统的启动程序;

步骤500:第二操作系统启动,从用户分区中读取所述二元组

步骤600:第二操作系统验证数字签名结果S是否正确,如果不正确,则忽略并从用户分区删除该二元组,执行正常的启动流程,方法结束;如果正确,则执行后续步骤;

步骤700:第二操作系统从切换数据D中获取时间戳TimeStamp,判断该时间戳的时间与当前时间的差值是否大于预定阈值,如果大于,则忽略并从用户分区删除该二元组,执行正常的启动流程,方法结束;如果不大于,则执行后续步骤;

步骤800:第二操作系统从切换数据D中获取用户账号Account,以该用户账号直接登录第二操作系统,并从用户分区删除所述二元组。

2.根据权利要求1所述的方法,其特征在于,用户可在任一操作系统注册,接受注册的操作系统按照统一的格式要求,将注册信息写入用户分区中的用户注册文件,各操作系统基于所述用户注册文件接受用户登录。

3.根据权利要求1-2任意一项所述的方法,其特征在于,所述步骤100中,用户使用命令行来发出切换指令,或者第一操作系统提供相应的切换界面。

4.根据权利要求1-2任意一项所述的方法,其特征在于,每个操作系统都具有一份数字证书及相应的私钥,同时每个操作系统都保存了其他操作系统的数字证书。

5.根据权利要求1-2任意一项所述的方法,其特征在于,所述二元组被存储于用户分区预先定义的位置。

6.根据权利要求5所述的方法,其特征在于,所述位置是用户分区预定目录下的一个预定文件。

7.根据权利要求5所述的方法,其特征在于,每个操作系统在启动时,都在该位置查询是否具有二元组,如果有,则读入所述二元组,并执行步骤600-800。

8.根据权利要求1所述的方法,其特征在于,所述步骤600包括:第二操作系统从切换数据D中获取第一操作系统的标识符ID1,根据该标识符ID1获取第一操作系统的数字证书,基于该数字证书验证签名结果S是否正确。

9.根据权利要求1所述的方法,其特征在于,所述步骤800包括:第二操作系统基于用户分区中的用户注册文件,从该文件查询到所述用户账号,以及相应的权限级别。

10.根据权利要求1所述的方法,其特征在于,所述多操作系统至少包括Linux系统。

说明书 :

一种多操作系统的切换方法

技术领域

[0001] 本发明属于计算机领域,尤其涉及一种多操作系统的切换方法。

背景技术

[0002] 现有技术中,有时候需要在一台计算机中安装多个操作系统,以满足不同的需求。由于同一时间只可以运行一个操作系统,当用户需要在另一个操作系统下工作时,其需要关闭当前操作系统,然后切换到目标操作系统。但是,操作系统都需要用户使用其账号密码进行登录,在多操作系统环境下,用户需要在每个操作系统都注册自己的账号,并且在每次切换操作系统时,都需要重新登录,即使各个操作系统使用的账号密码是相同的;这给用户带来了不好的体验,系统安全和系统效率不能兼顾。

发明内容

[0003] 为了解决现有技术中的上述问题,本发明提供了一种多操作系统的切换方法。
[0004] 本发明采用的技术方案具体如下:
[0005] 一种多操作系统的切换方法,在同一计算机上安装多个操作系统,并提供独立的各操作系统均可访问的用户分区,用于存储包括用户注册文件的用户信息,该方法包括以下步骤:
[0006] 步骤100:用户启动计算机,正常登录第一操作系统,当用户需要切换到第二操作系统时,用户发出相应的切换指令;
[0007] 步骤200:第一操作系统在接收到切换指令后,生成切换数据D,所述切换数据D至少包括以下四项:第一操作系统的标识符ID1、第二操作系统的标识符ID2、时间戳TimeStamp和用户账号Account;其中,所述时间戳用于表示当前时间;
[0008] 步骤300:第一操作系统对所述切换数据D进行数字签名,生成签名结果S,将二元组存储于用户分区中;
[0009] 步骤400:第一操作系统关闭,同时调用第二操作系统的启动程序;
[0010] 步骤500:第二操作系统启动,从用户分区中读取所述二元组
[0011] 步骤600:第二操作系统验证数字签名结果S是否正确,如果不正确,则忽略并从用户分区删除该二元组,执行正常的启动流程,方法结束;如果正确,则执行后续步骤;
[0012] 步骤700:第二操作系统从切换数据D中获取时间戳TimeStamp,判断该时间戳的时间与当前时间的差值是否大于预定阈值,如果大于,则忽略并从用户分区删除该二元组,执行正常的启动流程,方法结束;如果不大于,则执行后续步骤;
[0013] 步骤800:第二操作系统从切换数据D中获取用户账号Account,以该用户账号直接登录第二操作系统,并从用户分区删除所述二元组。
[0014] 进一步地,用户可在任一操作系统注册,接受注册的操作系统按照统一的格式要求,将注册信息写入用户分区中的用户注册文件,各操作系统基于所述用户注册文件接受用户登录。
[0015] 进一步地,所述步骤100中,用户使用命令行来发出切换指令,或者第一操作系统提供相应的切换界面。
[0016] 进一步地,每个操作系统都具有一份数字证书及相应的私钥,同时每个操作系统都保存了其他操作系统的数字证书。
[0017] 进一步地,其特征在于,所述二元组被存储于用户分区预先定义的位置。
[0018] 进一步地,所述位置是用户分区预定目录下的一个预定文件。
[0019] 进一步地,每个操作系统在启动时,都在该位置查询是否具有二元组,如果有,则读入所述二元组,并执行步骤600-800。
[0020] 进一步地,所述步骤600包括:第二操作系统从切换数据D中获取第一操作系统的标识符ID1,根据该标识符ID1获取第一操作系统的数字证书,基于该数字证书验证签名结果S是否正确。
[0021] 进一步地,所述步骤800包括:第二操作系统基于用户分区中的用户注册文件,从该文件查询到所述用户帐号,以及相应的权限级别。
[0022] 进一步地,所述多操作系统包括Windows系统或者Linux系统。
[0023] 本发明的有益效果是:在保证安全性的基础上,提高了操作系统切换的效率,提高了用户体验。

附图说明

[0024] 此处所说明的附图是用来提供对本发明的进一步理解,构成本申请的一部分,但并不构成对本发明的不当限定,在附图中:
[0025] 图1是本发明方法的流程图。

具体实施方式

[0026] 下面将结合附图以及具体实施例来详细说明本发明,其中的示意性实施例以及说明仅用来解释本发明,但并不作为对本发明的限定。
[0027] 在安装多操作系统的计算机上,通常每个操作系统都具有自己的安装区,或者叫做系统分区。以最常见的Windows和Linux系统为例,通常Windows系统会安装在计算机硬盘的C盘,C盘就是Windows的系统分区。同样的,计算机也需要为Linux系统专门准备一个系统分区,以同时安装Linux系统。因此,如果计算机中安装了n个操作系统,可以为每个操作系统提供一个系统分区,则共有n个系统分区,这n个系统分区可以是分别独立的分区,也可以由部分操作系统共享同一个系统分区,本发明对此不作限制。所述n个操作系统之间可以相同,也可以不同,例如,可以同时安装两个不同版本或不同厂商的Linux系统。
[0028] 除了系统分区之外,为了方便切换操作系统,本发明提供一个独立的用户分区,用于存储操作系统的用户信息。为了使每个操作系统都能读写用户信息,所述用户分区的文件系统应当使用各个操作系统都能识别的文件系统。仍然以Windows和Linux系统为例,这两个操作系统都可以识别Fat32文件系统,则所述用户分区可以使用Fat32文件系统。
[0029] 在安装了操作系统后,首先需要在操作系统中注册用户,为了避免在每个操作系统中都注册一次用户,本发明允许用户只在一个操作系统中注册,注册后的用户可以通用于各个操作系统。为此,各个操作系统需要使用统一的用户注册文件,用于保存用户的注册信息,所述用户注册文件存储于所述用户分区中。
[0030] 具体的,当用户在一个操作系统中注册时,注册信息通常包括账号、密码、权限级别等信息。接受注册的操作系统按照统一的格式要求,将注册信息写入用户分区中的用户注册文件。需要特别说明的是,为了安全考虑,密码不会以明文形式保存在用户注册文件中,而是保存密码的哈希值,或者加过密的密码。
[0031] 这样,当用户登录任意一个操作系统时,该操作系统都可以基于所述用户注册文件来接受用户的登录。
[0032] 参见附图1,在上述分区和用户注册文件的基础上,下面详细说明本发明切换方法的具体步骤。
[0033] 步骤100:用户启动计算机,正常登录第一操作系统,当用户需要切换到第二操作系统时,用户发出相应的切换指令。
[0034] 具体的,在多操作系统环境下,当用户启动计算机时,就可以提供安装的操作系统列表,让用户选择其要登录的操作系统,例如可以使用Grub启动程序来让用户选择,这已是现有技术,在此不再赘述。
[0035] 在用户选择其要登录的第一操作系统后,第一操作系统随即被启动,并要求用户登录。所述正常登录指的是用户使用事先注册的账号和密码登录第一操作系统,第一操作系统基于用户分区中的用户注册文件接受用户登录,此时第一操作系统就知道该用户的账号。
[0036] 用户可以使用命令行来发出切换指令,也可以由第一操作系统提供相应的切换界面以方便用户操作。
[0037] 所述切换指令至少包括需要切换到的第二操作系统的标识符,具体的,第一操作系统可以给用户提供该计算机上安装的所有其他操作系统的列表,由用户从中选择第二操作系统。
[0038] 步骤200:第一操作系统在接收到切换指令后,生成切换数据D。
[0039] 具体的,所述切换数据D至少包括以下四项:第一操作系统的标识符ID1、第二操作系统的标识符ID2、时间戳TimeStamp和用户账号Account,即:
[0040] D={ID1,ID2,TimeStamp,Account}。
[0041] 其中,所述时间戳用于表示当前时间,也就是第一操作系统生成切换数据的时间。所述用户帐号就是用户当前登录第一操作系统所使用的帐号。第一操作系统按照预定格式将上述四项整合成所述切换数据,当然,本领域技术人员根据实际需求,也可以在切换数据中包括更多项目,本发明对此不作限制。
[0042] 步骤300:第一操作系统对所述切换数据D进行数字签名,生成签名结果S,将二元组存储于用户分区中。
[0043] 具体的,为了进行数字签名,每个操作系统都具有一份数字证书及相应的私钥,同时每个操作系统都保存了其他操作系统的数字证书,可以对数字签名进行验证。因此,第一操作系统可以使用其私钥对所述切换数据D进行数字签名,其他操作系统可以验证该数字签名。
[0044] 步骤400:第一操作系统关闭,同时调用第二操作系统的启动程序。
[0045] 在完成了上述二元组的存储工作后,第一操作系统就可以关闭自身,关闭操作系统的流程与现有技术相同,在此不再赘述。只是第一操作系统在关闭流程的最后,根据用户所选择的第二操作系统,调用第二操作系统的启动程序,从而将计算机控制权转交给该启动程序。例如,如果使用Grub启动程序,第一操作系统可以在关闭流程最后,调用Grub,并通知Grub需要启动的第二操作系统,就可以完成控制权的转移。本领域技术人员也可以采用其他的转移方式,本发明对此不作限制。
[0046] 步骤500:第二操作系统启动,从用户分区中读取所述二元组
[0047] 具体的,所述二元组被存储于用户分区预先定义的位置(例如预定目录下的一个预定文件),每个操作系统在启动时,都会去该位置查询是否具有二元组,如果有,则读入所述二元组。
[0048] 步骤600:第二操作系统验证数字签名结果S是否正确,如果不正确,则忽略并从用户分区删除该二元组,执行正常的启动流程,方法结束;如果正确,则执行后续步骤。
[0049] 具体的,第二操作系统首先从切换数据D中获取第一操作系统的标识符ID1,根据该标识符ID1获取第一操作系统的数字证书,基于该数字证书就可以验证签名结果S是否正确。
[0050] 步骤700:第二操作系统从切换数据D中获取时间戳TimeStamp,判断该时间戳的时间与当前时间的差值是否大于预定阈值,如果大于,则忽略并从用户分区删除该二元组,执行正常的启动流程,方法结束;如果不大于,则执行后续步骤。
[0051] 所述时间戳与当前时间的差值实际上代表了两个操作系统之间的切换时间,基于步骤700,限制了两个操作系统之间的切换时间,也就是说,如果切换时间大于阈值,则所述切换数据失效。因此,所述切换数据只在短时间内有效,不能通过保存该切换数据在任意时间使用,从而在一定程度上保证了系统安全性。
[0052] 步骤800:第二操作系统从切换数据D中获取用户账号Account,以该用户账号直接登录第二操作系统,并从用户分区删除所述二元组。
[0053] 具体的,第二操作系统基于用户分区中的用户注册文件,从该文件查询到所述用户帐号,以及相应的权限级别等用户信息,基于该用户信息接受用户登录。
[0054] 因此,在通过上述步骤验证后,第二操作系统就可以接受该用户账号的登录,而无需用户再输入账号、密码登录,从而简化了用户切换操作系统的流程。此外,无论所述二元组是否通过验证,步骤600-800都删除所述二元组,即该二元组只使用一次,从而保证了数据的安全性。
[0055] 以上所述仅是本发明的较佳实施方式,故凡依本发明专利申请范围所述的构造、特征及原理所做的等效变化或修饰,均包括于本发明专利申请范围内。