一种国产处理器平台S3睡眠唤醒后解锁硬盘的方法技术

技术编号:33534050 阅读:47 留言:0更新日期:2022-05-19 02:10
本发明专利技术公开了一种国产处理器平台S3睡眠唤醒后解锁硬盘的方法,在BIOS睡眠之前,在PEI阶段申请一段预留内存,在BDS阶段解锁硬盘时,将硬盘口令加密存放在所述预留内存中;当BIOS进行S3睡眠唤醒时,在PEI阶段从所述预留内存中查找所需唤醒硬盘的加密的硬盘口令,并进行解密,采用解密硬盘口令解锁硬盘,操作系统恢复正常工作状态。本发明专利技术是没有SMM机制情况下的S3唤醒解锁硬盘的方案,能够解决国产处理器平台在S3唤醒过程中,因硬盘上锁,导致不能正常S3唤醒、登录操作系统的问题。登录操作系统的问题。登录操作系统的问题。

【技术实现步骤摘要】
一种国产处理器平台S3睡眠唤醒后解锁硬盘的方法


[0001]本专利技术属于计算机固件
,具体涉及一种国产处理器平台S3睡眠唤醒后解锁硬盘的方法。

技术介绍

[0002]BIOS用于对计算机处理器平台进行初始化和操作系统加载,其基本功能包括,在硬件平台上电后,获得系统控制权,初始化处理器、内存、芯片组等关键部件,枚举外设并为其分配资源,初始化显卡、硬盘、网卡等必要的外设,为操作系统建立运行环境,然后将控制权交给操作系统。
[0003]本专利技术涉及BIOS工作中的PEI阶段、DXE阶段、BDS阶段。
[0004]1.PEI阶段(EFI前初始化)
[0005]主要工作是Memory初始化以及一些必要的CPU、Chipset等等的初始化,为加载DXE做准备,准备HOB数据。同时准备UEFI的工作环境,包括建立HOB、解压FV等,然后加载DxeCore模块以过渡到后续的DXE阶段。
[0006]2.DXE阶段(Driver Execute Environment,驱动程序执行阶段)
[0007]固件在这个阶段开始大规模地加载、执行设备驱动程序,扫描系统中的设备,并进行初始化和分配资源,对与设备、总线、服务等相关的大量协议执行安装及初始化操作,这是服务器高安全BIOS工作的主体阶段。DXE阶段为后续操作提供一批协议/服务接口,供固件自身及系统软件和应用软件调用。
[0008]在DXE阶段之后,整个系统基本准备就绪,机器的控制逐步开始转交给上层的系统软件。
[0009]3.BDS阶段(Boot Device Selection,启动设备选择阶段)
[0010]固件根据系统中预先设置的配置规则或者用户当时的选择决定要加载的系统软件(主要是操作系统)和承载该系统软件的设备(例如硬盘、USB存储设备、光盘等)。对于龙芯处理器平台来说,固件在用户选定的启动设备上寻找操作系统的内核文件,并将其加载到内存进行执行,在这之前为内核的运行准备参数。
[0011]S3是计算机的一种电源工作状态,该工作状态通常称为Suspend to RAM(挂起到内存),能够将运行中的数据写入内存后并关闭硬盘的一种计算机电源状态。
[0012]由于X86平台的处理器支持SMM(System Management Mode,系统管理模式),SMM有自己独有的运行内存SARAM(System Management RAM),SARAM也是系统内存的一部分,但是SARAM对于除SMM外来说是不可见的。所以X86可以利用以上特性来实现S3唤醒解锁硬盘口令方案。然而在国产处理器龙芯和飞腾处理器平台上,目前并没有SMM这样的机制,S3唤醒解锁硬盘口令的方案缺失,从而出现如下问题:
[0013]1)国产处理器平台上,在硬盘上锁且进入S3后硬盘掉电的情况下,S3唤醒后不能解锁硬盘密码,导致不能正常的S3唤醒进系统。
[0014]2)在S3唤醒中,国产处理器平台上,PEI(Pre

EFI Initialization)阶段现有方案
没有按照UEFI的规范跑完就进入系统。目前在PEI阶段国产处理器平台基本都是S3唤醒后,在PEI阶段平台初始化的模块中判断是否为S3睡眠唤醒的状态,如果是就直接跳转到相应的OS启动接口。UEFI的流程是在PEI阶段去执行每一个满足执行条件的模块,直到所有可执行的模块执行完后,才会调用DXE(Driver Execution Environment)IPL(Initial Program Load)接口,DXE IPL接口中会根据不同的启动模式去调用不同的接口。因此,目前国产平台在S3还原时没有运行所有的PEI模块及DXE模块,导致设置硬盘口令时,无法正常解锁硬盘。

技术实现思路

[0015]有鉴于此,本专利技术提供了一种国产处理器平台S3睡眠唤醒后解锁硬盘的方法,是一种没有SMM机制情况下的S3唤醒解锁硬盘的方案,能够解决国产处理器平台在S3唤醒过程中,因硬盘上锁,导致不能正常S3唤醒、登录操作系统的问题。
[0016]为了解决上述技术问题,本专利技术是这样实现的。
[0017]一种国产处理器平台S3睡眠唤醒后解锁硬盘的方法,包括:在BIOS睡眠之前,在PEI阶段申请一段预留内存,在启动设备选择(BDS)阶段解锁硬盘时,将硬盘口令加密存放在所述预留内存中;当BIOS进行S3睡眠唤醒时,在PEI阶段从所述预留内存中查找所需唤醒硬盘的加密的硬盘口令,并进行解密,采用解密硬盘口令解锁硬盘,操作系统恢复正常工作状态。
[0018]优选地,该方法包括如下步骤:
[0019]步骤一、BIOS上电开机后,进行处理器平台PEI初始化;BIOS判断当前启动模式是否为睡眠唤醒模式,如果是则进入步骤六;否则,执行步骤二;
[0020]步骤二、BIOS申请保留系统内存大小为睡眠定制专用内存大小;
[0021]步骤三、BIOS在DXE的运行阶段,加载硬盘驱动;在BDS阶段检查硬盘是否上锁;若是,则转入步骤四;若否则转入步骤五;
[0022]步骤四、弹出硬盘口令输入界面,待用户输入硬盘口令,则解锁硬盘,并将硬盘口令加密存储在预留内存中,进入步骤五;
[0023]步骤五、操作系统正常启动,进入步骤七;
[0024]步骤六、恢复操作系统内存,并在内存中检测是否有硬盘口令加密数据;若是,则解密硬盘口令,解锁对应硬盘,进行操作系统还原;若否,则进行直接进行操作系统还原,进入步骤七;
[0025]步骤七、登录操作系统,流程结束。
[0026]优选地,所述国产处理器平台为龙芯处理器和飞腾处理器。
[0027]优选地,在PEI阶段申请两段ACPI_NVS类型的内存,其中一段用来存储硬盘口令的加密数据,另一端内存作为S3睡眠唤醒的系统内存。
[0028]优选地,对于龙芯处理器,步骤一中所述BIOS判断当前启动模式是否为睡眠唤醒模式为:调用PEI的最后一个模块DxeIPL,判断当前启动模式是否为睡眠唤醒模式。
[0029]有益效果:
[0030]本专利技术通过申请预留内存,将BDS阶段输入的硬盘口令传递到S3唤醒过中的PEI阶段,这样就可以在S3睡眠唤醒的PEI阶段利用硬盘口令解锁硬盘,在国产处理器平台没有SMM机制情况下,实现了S3唤醒解锁硬盘。
附图说明
[0031]图1为本专利技术S3唤醒解锁硬盘口令流程图。
具体实施方式
[0032]下面结合附图并举实施例,对本专利技术进行详细描述。
[0033]实现S3硬盘口令解锁的主要问题是如何把进入S3之前启动过程中在BDS阶段输入的硬盘口令传递到S3唤醒过中的PEI阶段。基于此,本专利技术提供了一种国产处理器平台S3睡眠唤醒后解锁硬盘的方案,其基本思想是,在BIOS睡眠之前,在PEI阶段申请一段预留内存,在BDS阶段解锁硬盘时,将硬盘口令加密存放在所述预留内存中;当BIOS进行S3睡眠唤醒时,在PEI阶段从所述本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种国产处理器平台S3睡眠唤醒后解锁硬盘的方法,其特征在于,包括:在BIOS睡眠之前,在PEI阶段申请一段预留内存,在启动设备选择(BDS)阶段解锁硬盘时,将硬盘口令加密存放在所述预留内存中;当BIOS进行S3睡眠唤醒时,在PEI阶段从所述预留内存中查找所需唤醒硬盘的加密的硬盘口令,并进行解密,采用解密硬盘口令解锁硬盘,操作系统恢复正常工作状态。2.如权利要求1所述的方法,其特征在于,该方法包括如下步骤:步骤一、BIOS上电开机后,进行处理器平台PEI初始化;BIOS判断当前启动模式是否为睡眠唤醒模式,如果是则进入步骤六;否则,执行步骤二;步骤二、BIOS申请保留系统内存大小为睡眠定制专用内存大小;步骤三、BIOS在DXE的运行阶段,加载硬盘驱动;在BDS阶段检查硬盘是否上锁;若是,则转入步骤四;若否则转入步骤五;步骤四、弹出硬盘口令输入界面,...

【专利技术属性】
技术研发人员:陈小春张超朱立森孙亮马得智易祝兵
申请(专利权)人:中电科技北京股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1