(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)摘要
      本发明公开了一种UEFI平台下截获系统引导的系统和方法,涉及计算机系统维护领域,该方法包括启动模块挂载变量配置模块,建立变量配置模块和判断模块的联系,使每次调用变量配置模块时判断模块都会被自动调用;UEFI平台调用变量配置模块修改指定变量名的变量值的同时,判定模块判定变量配置模块修改的变量名为当前信息记录模块中记载的当前引导设备的变量名,则截获当前引导设备的引导权,并加载本地磁盘上已安装的产品保护模块。本发明不依赖于传统的CSM支持模块,能够长期使用,能够提高计算机运行的稳定性和兼容性,可维护性较高。
法律状态
法律状态公告日
法律状态信息
法律状态
权 利 要 求 说 明 书
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很大程度上        制约了计算机技术的发展。