(19)中华人民共和国国家知识产权局
(12)发明专利说明书 | ||
如何设置u盘启动(10)申请公布号 CN 104991774 A (43)申请公布日 2015.10.21 | ||
(21)申请号 CN201510388329.4
(22)申请日 2015.07.03
(71)申请人 武汉噢易云计算有限公司
地址 430074 湖北省武汉市东湖新技术开发区关山大道465号光谷创意大厦17层1701室
(72)发明人 曾丽星
(74)专利代理机构 武汉智权专利代理事务所(特殊普通合伙)
代理人 张凯
(51)Int.CI
权利要求说明书 说明书 幅图 |
(54)发明名称
一种UEFI平台下截获系统引导的系统和方法 | |
(57)摘要
法律状态
法律状态公告日 | 法律状态信息 | 法律状态 |
权 利 要 求 说 明 书
1.一种UEFI平台下截获系统引导的系统,其特征在于:该系 统在UEFI平台下运行,该系统包括变量配置模块、当前信息记录模 块、判断模块、ROM生成模块和启动模块;
变量配置模块用于修改UEFI平台指定变量名的变量值;当前信 息记录模块用于记录当前引导设备的变量名;判断模块用于判断变量 配置模块修改的变量名是否为当前信息记录模块中记载的变量名;启 动模块用于挂载变量配置模块,并建立变量配置模块和判断模块的联 系,使每次系统调用变量配置模块时判断模块都会被自动调用;
ROM生成模块用于将非ROM文件生成能够被UEFI平台识别的 ROM文件;系统还包括带有存储芯片的PCI/E设备,该存储芯片用 于存储ROM文件。
2.一种UEFI平台下截获系统引导的方法,其特征在于:该方 法包括以下步骤:
A、启动模块挂载变量配置模块,建立变量配置模块和判断模块 的联系,使每次调用变量配置模块时判断模块都会被自动调用;
B、UEFI平台调用变量配置模块修改指定变量名的变量值的同时, 判定模块判定变量配置模块修改的变量名为当前信息记录模块中记 载的当前引导设备的变量名,则截获当前引导设备的引导权,并加载 本地磁盘上已安装的产品保护模块。
3.如权利要求2所述的UEFI平台下截获系统引导的方法,其 特征在于:所述UEFI平台的开发框架为UDK开发包,所述UDK开 发包包括根目录,所述步骤A之前还包括以下步骤:
进入开发包UDK的根目录并配置其编译环境,在该环境下编译 生成UEFI Driver文件,
所述UEFI Driver文件包括入口例程函数和 Support函数;将ROM文件写入到PCI/E设备的存储芯片中,将带有 存储芯片的PCI/E设备插入主板的插槽中,对主板加电开机;
UEFI平台主动读取存储芯片中ROM文件,并执行UEFI Driver 的入口例程函数,UEFI Driver的入口例程函数进行初始化,并得到 一个EFI_LOCK锁变量,该锁变量用于进行同步,防止在进行函数 挂载时,被挂载的函数被UEFI平台调用;
UEFI平台调用Support函数,逐个判定计算机中的硬件设备信息 在Support函数中有记载,Support函数返回成功代码EFI_SUCCESS。
4.如权利要求3所述的UEFI平台下截获系统引导的方法,其 特征在于:所述启动模块通过Start函数来实现,判断模块通过 NewSetVariable函数来实现,变量配置模块通过SetVariable函数来实 现,当前信息记录模块记录的变量名为BootCurrent;
所述Support函数返回成功代码EFI_SUCCESS之后,还包括以 下步骤,UEFI平台对返回EFI_SUCCESS的设备调用Start函数,Start 函数挂载SetVariable函数,挂载过程中使用EFI_LOCK锁变量进行 同步。
5.如权利要求4所述的UEFI平台下截获系统引导的方法,其 特征在于,所述步骤B包括以下步骤:调用SetVariable函数修改UEFI 平台指定变量名的变量值,同时,NewSetVariable函数被自动调用;
NewSetVariable函数判断UEFI平台调用SetVariable函数修改的 变量名是否为BootCurrent,若是,截获当前引导设备的引导权,加 载本地磁盘上已安装的产品保护模块。
6.如权利要求3所述的UEFI平台下截获系统引导的方法,其 特征在于:所述驱动文件遵循UEFI平台驱动模型的规范。
7.如权利要求5所述的UEFI平台下截获系统引导的方法,其 特征在于:所述NewSetVariable函数判断UEFI平台调用SetVariable 函数修改的变量名是否为BootCurrent之后还包括以下步骤: NewSetVariable函数判定当前修改的不是针对BootCurrent进行的修 改,调用原SetVariable完成变量修改。
说 明 书
<p>技术领域
本发明涉及计算机系统维护领域,具体涉及一种UEFI平台下截 获系统引导的系统和方法。
背景技术
传统的(Legacy)BIOS(Basic Input/Output System,基本输入输 出系统)是一种固件,BIOS保存着计算机最重要的基本输入输出的 程序、开机后自检程序和系统自启动程序,其主要功能是为计算机提 供最底层的、最直接的硬件设置和控制,并且担任操作系统控制硬件 时的中介角,是计算机系统硬件与上层软件之间的桥梁。
随着计算机硬件和集成电路技术的飞速发展,BIOS并没有随之 发展,同时,由于传统的BIOS没有统一的标准和规范,不同品牌的 使用环境不相同,不仅难以与不同的硬件兼容,而且当BIOS运行于 16位实模式时,存在以下缺陷:a、主机的启动速度较慢,启动后计 算机的硬件初始化和自检时间比较长;b、BIOS需要使用大量的汇编 语言代码,开发和维护成本较高;c、BIOS向操作系统提供的服务需 要通过有限的16位软中断
来实现,BIOS和16位软中断的耦合性较 高,16位软中断的的开发代价较高。因此,传统的BIOS很大程度上 制约了计算机技术的发展。
发布评论