CN103164244A - 一种基于通用可扩展固件接口的固件系统远程更新方法 - Google Patents
一种基于通用可扩展固件接口的固件系统远程更新方法 Download PDFInfo
- Publication number
- CN103164244A CN103164244A CN2013100839290A CN201310083929A CN103164244A CN 103164244 A CN103164244 A CN 103164244A CN 2013100839290 A CN2013100839290 A CN 2013100839290A CN 201310083929 A CN201310083929 A CN 201310083929A CN 103164244 A CN103164244 A CN 103164244A
- Authority
- CN
- China
- Prior art keywords
- client computer
- server
- bios
- uefi
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本发明提出了一种基于通用可扩展固件接口的固件系统远程更新方法,所述方法采用客户服务器结构,包括服务器和客户机,所述客户服务器结构在UEFIBIOS上实现网络协议栈,客户机通过网络和所述服务器进行数据传输;所述远程更新方法包括两个方法:一是服务器发起对客户机UEFIBIOS远程升级方法,二是客户机发起的UEFIBIOS远程升级方法;所述方法不需要移动设备的辅助,利用服务器通过网络实现UEFIBIOS的远程升级,减少了人力,降低了成本,实现对UEFIBIOS升级的良好管理。
Description
技术领域
本发明属于计算机软件工程及网络通信技术领域,具体指的是一种基于通用可扩展固件接口(UEFI)的固件系统远程更新方法。
背景技术
作为连接操作系统与硬件体系之间的桥梁,传统基本输入输出系统BIOS为计算机的发展做出了重要贡献。BIOS属于计算机中的底层软件,是硬件与软件程序之间的桥梁,负责解决硬件的即时需求,并具体执行软件对硬件的操作要求。它负责操作系统执行前的初始化工作,包括检查系统配备和连接计算机内各种不同的硬件与引导操作系统等,并且负责操作系统控制硬件时的中介角色。BIOS的好坏直接影响着系统性能提升以及更多性能的挖掘。虽然电脑的更新换代速度越来越快,但作为最重要的关键环节,BIOS一直没有太大的改变。
UEFI是未来的计算机系统中替代BIOS的升级方案。传统的BIOS采用汇编语言编写,面对BIOS的新需求明显力不从心。而新的UEFI则更具优势,它采用模块化、动态链接和C语言风格的参数堆栈传递方式的形式构建系统,比传统的BIOS更易于实现。另外,UEFI驱动程序可以不由运行在CPU上的代码组成,而是由UEFI字节代码编写而成,保证了在不同CPU架构上的兼容性,具有更大的灵活性。
所述UEFI实现的网络协议主要由通用网络驱动接口UNDI(Universal Network Driver Interface),简单网络协议SNP(Simple Net Protocol),管理网络协议MNP(Manage Network Protocol),IP,TCP,UDP,SOCKET等驱动组成,每一层都被设计为一个独立的任务。位于协议栈最底层的UNDI和SNP协议向上提供物理层服务。他们的具体实现与物理网卡设备相关,主要由硬件设备厂商提供,这些代码有规范相同的接口供上层调用。MNP协议向上层提供数据链路层服务。从这一层开始,所有物理设备的不同将不在代码实现的考虑范围之内。从MNP开始,对其上的所有一协议来说,下层的内容都是透明的,对上层提供统一的接口。各个驱动模块之间有相互依赖关系。IP模块的实现依赖于ARP和MNP模块的实现,MNP模块则依赖于SNP模块的实现。这些依赖关系在模块实现过程中被使用。
UEFI的网络协议很明显的可以分为很多个模块,并有清晰的分层结构。在设备驱动被加载之后,每一层的协议都需要在调用和加载之后,相应的协议才能够开始工作。对于一个基于IP层协议进行通讯的程序,它可以在加载了IP层协议及其下层的协议之后就进行通讯,而没有必要加载TCP和UDP等协议。而当这个程序在之后需要通过TCP协议进行通讯时,再在相关区域加载协议,之后TCP协议开始工作。但此时UDP协议仍然处于不能工作的状态此时不能通过UDP协议通讯。
传统的BIOS 升级,将用于升级的文件先存储在移动设备中,例如光盘、U 盘,计算机通过读取移动设备中用于升级的文件完成BIOS 升级。这种BIOS 升级方法需要人工效验BIOS文件的数字签名,需要移动设备的辅助,成本较高,并且当出现意外情况时,例如存储设备损坏, BIOS 升级将无法完成。
鉴于上述问题,有必要提出一种实现UEFI BIOS 远程升级的方法。
发明内容
本发明所要解决的技术问题在于克服现有技术的不足,给出一种基于通用可扩展固件接口的固件系统远程更新方法。
为了解决上述技术问题,本发明所采用的技术方案是:
一种基于通用可扩展固件接口的固件系统远程更新方法,所述方法采用客户服务器结构,包括服务器和客户机,所述客户服务器结构在可扩展固件接口UEFI基本输入输出系统BIOS上实现网络协议栈,客户机通过网络和所述服务器进行数据传输;所述远程更新方法包括两个方法:一是服务器发起对客户机UEFI BIOS远程升级方法,二是客户机发起的UEFI BIOS远程升级方法;具体分别如下:
服务器发起对客户机UEFI BIOS远程升级方法,该方法步骤是:
步骤A,服务器发起连接请求:用于连接客户机,客户机收到该连接请求后把客户机自身信息发送给服务器;
步骤B,服务器传送数据:用于响应所述客户机,并根据客户机发送的客户机自身信息,传送相应的数据包给客户机;
步骤C,服务器等待客户机的升级确认回复,服务器接收客户机的接收准备好确认,给出客户机重启指令,客户机完成重启;
步骤D,客户机接受服务器传输来的BIOS升级文件并完成固件更新,并回传升级过程信息给服务器;
客户机发起的UEFI BIOS远程升级方法,该方法包括如下步骤:
步骤E,开启客户机,客户机进入UEFI 环境,建立和所述服务器之间数据连接;
步骤F,客户机设置等待时间,所述等待时间包括客户端计算机等待服务器响应的等待时间;
步骤G,客户机UEFI BIOS发送当前BIOS版本信息及其BIOS二进制文件,发送数据读取请求给服务器,以请求从服务器中下载BIOS二进制文件数据包;
步骤H,客户机接收文件传输协议FTP数据包;若客户机在所设置的等待时间内接收到从服务器发送的FTP数据包,则读取所述FTP数据包的大小,并根据FTP数据包的大小在客户机内分配相应的缓冲空间;
步骤I,校验BIOS二进制文件的数字签名,通过UEFI更新工具完成固件更新并报告相关信息给服务器。
所述UEFI BIOS上实现网络协议栈是指:UEFI提供了统一的网络协议栈接口,所述接口用硬件实现通用网络驱动接口UNDI和简单网络协议SNP功能。
所述步骤A中,所述客户机自身信息包括当前BIOS版本、产品管理信息SMBIOS(System Management BIOS) 版本、微代码Microcode版本、CPU编号CPUID。
本发明的有益效果是:本发明提出了一种基于通用可扩展固件接口的固件系统远程更新方法,所述方法采用客户服务器结构,包括服务器和客户机,所述客户服务器结构在UEFI BIOS上实现网络协议栈,客户机通过网络和所述服务器进行数据传输;所述远程更新方法包括两个方法:一是服务器发起对客户机UEFI BIOS远程升级方法,二是客户机发起的UEFI BIOS远程升级方法;所述方法不需要移动设备的辅助,利用服务器通过网络实现UEFI BIOS 的远程升级,减少了人力,降低了成本,实现对UEFI BIOS 升级的良好管理。
附图说明
图1是UEFI BIOS远程升级系统的客户端架构图。
图2是UEFI BIOS远程升级系统的客户端登陆服务器流程图。
图3是UEFI BIOS远程升级系统的客户端接受文件流程图。
具体实施方式
本发明所述多个客户机通过网络与服务器相连接。其中每台客户机和服务器都包括网卡。下面结合附图,对本发明提出的一种基于通用可扩展固件接口的固件系统远程更新方法进行详细说明:
本发明一种基于通用可扩展固件接口的固件系统远程更新方法,如图1所示,是本发明实现UEFI BIOS 远程升级的客户端架构图。客户机开机进入UEFI固件系统,创建网络连接、登陆服务器查询、接受升级文件、升级固件、报告相关升级结果发送给服务器端。具体步骤如下:
步骤(1):创建连接:创建连接时需要取得服务器端的 IP 地址和端口,客户端的 IP 地址可以由本地用户来手动配置或通过动态主机设置协议DHCP(Dynamic Host Configuration Protocol, DHCP)获取,UEFI BIOS 中提供了用于 IP 的配置接口。IP地址和端口设置完成后,按顺序调用相应的Socket函数完成与服务器连接的创建。
步骤(2):在服务器进行登录查询,服务器判断是否有符合客户端的更新文件。登陆服务器查询流程图如图2所示。
步骤(2-1):调用硬件信息查看模块获取客户端计算机的CPU ID 和主板型号,这两个值是定长的数值串。创建客户机硬件信息报文MainMSG,并将该报文发送到服务器端。
步骤(2-2):服务器端接收到报文之后,会读取报文的内容;然后记录CPU ID,并依据主板型号去查询服务器中是否有适合升级的BIOS文件,并会给客户端回复一个结果报文ACK。
步骤(2-3):客户端在预设置的等待时间内收到服务器回复的ACK报文后,会检测报文的值去判断服务器上是否有待升级固件;如果确认服务器上有可以升级的文件,则进入文件接收状态。如果服务器上没有可升级的文件,则向报告服务器结果并退出。
步骤(3):客户端计算机进入文件接收状态,接受服务器传送过来的固件更新文件。文件接受流程图如图3所示。
步骤(3-1):客户端计算机发送数据文件接收请求给服务器。客户端等待服务器响应上述数据读取请求而回复的数据包。
步骤(3-2):判断客户端是否在所设置等待时间内侦测到从服务器发送来的数据包。若客户端计算机没有在所设置的等待时间内侦测到从服务器发送来的数据包,则向报告服务器结果并结束流程。若客户端计算机在等待时间内侦测到从服务器发送来的数据包,客户端计算机识别数据包是否为FTP数据包,若不是FTP数据包,则返回等待步骤;若数据包为FTP,则客户端计算机读取FTP 数据包的大小,并根据大小分配缓冲空间。
步骤(3-3):客户机判断接收FTP 数据包是否完成,如果接收完成,发送接收完成应答给服务器,通知服务器FTP 数据包接收完成;接收完成后保存文件并效验更新文件数字签名是否正确
步骤(4):调用UEFI固件更新模块完成更新工作。并报告相关信息给服务器。
本发明提供一种基于UEFI的固件系统远程更新方法,不需要支持PXE的网卡即可以实现远程升级的方法。并可以在不需要移动设备辅助的情况下,不需要人为过多的干预;利用服务器实现UEFI BIOS 的远程升级。
Claims (3)
1.一种基于通用可扩展固件接口的固件系统远程更新方法,其特征在于,所述方法采用客户服务器结构,包括服务器和客户机,所述客户服务器结构在可扩展固件接口UEFI基本输入输出系统BIOS上实现网络协议栈,客户机通过网络和所述服务器进行数据传输;所述远程更新方法包括两个方法:一是服务器发起对客户机UEFI BIOS远程升级方法,二是客户机发起的UEFI BIOS远程升级方法;具体分别如下:
服务器发起对客户机UEFI BIOS远程升级方法,该方法步骤是:
步骤A,服务器发起连接请求:用于连接客户机,客户机收到该连接请求后把客户机自身信息发送给服务器;
步骤B,服务器传送数据:用于响应所述客户机,并根据客户机发送的客户机自身信息,传送相应的数据包给客户机;
步骤C,服务器等待客户机的升级确认回复,服务器接收客户机的接收准备好确认,给出客户机重启指令,客户机完成重启;
步骤D,客户机接受服务器传输来的BIOS升级文件并完成固件更新,并回传升级过程信息给服务器;
客户机发起的UEFI BIOS远程升级方法,该方法包括如下步骤:
步骤E,开启客户机,客户机进入UEFI 环境,建立和所述服务器之间数据连接;
步骤F,客户机设置等待时间,所述等待时间包括客户端计算机等待服务器响应的等待时间;
步骤G,客户机UEFI BIOS发送当前BIOS版本信息及其BIOS二进制文件,发送数据读取请求给服务器,以请求从服务器中下载BIOS二进制文件数据包;
步骤H,客户机接收文件传输协议FTP数据包;若客户机在所设置的等待时间内接收到从服务器发送的FTP数据包,则读取所述FTP数据包的大小,并根据FTP数据包的大小在客户机内分配相应的缓冲空间;
步骤I,校验BIOS二进制文件的数字签名,通过UEFI更新工具完成固件更新并报告相关信息给服务器。
2.如权利要求1所述的一种基于通用可扩展固件接口的固件系统远程更新方法,其特征在于,所述UEFI BIOS上实现网络协议栈是指:UEFI提供了统一的网络协议栈接口,所述接口用硬件实现通用网络驱动接口UNDI和简单网络协议SNP功能。
3.如权利要求1所述的一种基于通用可扩展固件接口的固件系统远程更新方法,其特征在于,步骤A中,所述客户机自身信息包括当前BIOS版本、产品管理信息SMBIOS版本、微代码Microcode版本和CPU编号CPUID。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013100839290A CN103164244A (zh) | 2013-03-15 | 2013-03-15 | 一种基于通用可扩展固件接口的固件系统远程更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013100839290A CN103164244A (zh) | 2013-03-15 | 2013-03-15 | 一种基于通用可扩展固件接口的固件系统远程更新方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103164244A true CN103164244A (zh) | 2013-06-19 |
Family
ID=48587362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013100839290A Pending CN103164244A (zh) | 2013-03-15 | 2013-03-15 | 一种基于通用可扩展固件接口的固件系统远程更新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103164244A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103440146A (zh) * | 2013-08-20 | 2013-12-11 | 浪潮集团有限公司 | 一种基于云存储的更新bios的方法 |
CN103500151A (zh) * | 2013-09-27 | 2014-01-08 | 深圳钱盒信息技术有限公司 | 一种更改外部设备固件的方法和装置 |
CN103777979A (zh) * | 2014-01-08 | 2014-05-07 | 合肥联宝信息技术有限公司 | 一种通过云端来刷写bios的方法及装置 |
CN104239109A (zh) * | 2014-09-30 | 2014-12-24 | 上海瑞猫自动化控制技术有限公司 | 嵌入式系统固件在线管理方法 |
WO2016178679A1 (en) * | 2015-05-06 | 2016-11-10 | Hewlett Packard Enterprise Development Lp | Securely and reliably transferring startup script |
CN106325932A (zh) * | 2016-08-24 | 2017-01-11 | 南京百敖软件有限公司 | 一种远程和批量更新bios的系统及方法 |
CN106990985A (zh) * | 2017-03-28 | 2017-07-28 | 南京百敖软件有限公司 | 基于bmc更新及备份系统uefi固件的设备和方法 |
CN107153555A (zh) * | 2017-03-23 | 2017-09-12 | 重庆蓝岸通讯技术有限公司 | Bios升级方法 |
CN107222553A (zh) * | 2017-06-26 | 2017-09-29 | 深圳市智物联网络有限公司 | 通过物联网适配器升级设备的方法、系统及物联网适配器 |
CN107707405A (zh) * | 2017-10-23 | 2018-02-16 | 广东新欧智能卫浴有限公司 | 通过遥控器实现智能马桶固件远程更新的方法及其遥控器 |
CN108196857A (zh) * | 2017-12-07 | 2018-06-22 | 山东超越数控电子股份有限公司 | 一种基于网络更新uefi固件的方法 |
TWI675340B (zh) * | 2018-02-14 | 2019-10-21 | 神雲科技股份有限公司 | 程式驗證方法 |
CN116366639A (zh) * | 2023-06-01 | 2023-06-30 | 深圳市七彩虹禹贡科技发展有限公司 | 一种在uefi下联网更新主板bios的方法及系统 |
WO2023226221A1 (zh) * | 2022-05-25 | 2023-11-30 | 苏州大学 | 一种供暖阀门控制系统的远程更新方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102316073A (zh) * | 2010-06-30 | 2012-01-11 | 鸿富锦精密工业(深圳)有限公司 | 服务器及利用该服务器实现uefi bios远程升级的方法 |
-
2013
- 2013-03-15 CN CN2013100839290A patent/CN103164244A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102316073A (zh) * | 2010-06-30 | 2012-01-11 | 鸿富锦精密工业(深圳)有限公司 | 服务器及利用该服务器实现uefi bios远程升级的方法 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103440146A (zh) * | 2013-08-20 | 2013-12-11 | 浪潮集团有限公司 | 一种基于云存储的更新bios的方法 |
CN103500151A (zh) * | 2013-09-27 | 2014-01-08 | 深圳钱盒信息技术有限公司 | 一种更改外部设备固件的方法和装置 |
CN103500151B (zh) * | 2013-09-27 | 2016-06-08 | 深圳钱盒信息技术有限公司 | 一种更改外部设备固件的方法和装置 |
CN103777979B (zh) * | 2014-01-08 | 2017-05-24 | 合肥联宝信息技术有限公司 | 一种通过云端来刷写bios的方法及装置 |
CN103777979A (zh) * | 2014-01-08 | 2014-05-07 | 合肥联宝信息技术有限公司 | 一种通过云端来刷写bios的方法及装置 |
CN104239109A (zh) * | 2014-09-30 | 2014-12-24 | 上海瑞猫自动化控制技术有限公司 | 嵌入式系统固件在线管理方法 |
CN107534647B (zh) * | 2015-05-06 | 2020-11-03 | 慧与发展有限责任合伙企业 | 用于传送启动脚本的系统、计算设备和存储介质 |
WO2016178679A1 (en) * | 2015-05-06 | 2016-11-10 | Hewlett Packard Enterprise Development Lp | Securely and reliably transferring startup script |
CN107534647A (zh) * | 2015-05-06 | 2018-01-02 | 慧与发展有限责任合伙企业 | 安全且可靠地传送启动脚本 |
US11922177B2 (en) | 2015-05-06 | 2024-03-05 | Hewlett Packard Enterprise Development Lp | Securely and reliably transferring startup script |
US11157288B2 (en) | 2015-05-06 | 2021-10-26 | Hewlett Packard Enterprise Development Lp | Securely and reliably transferring startup script |
CN106325932A (zh) * | 2016-08-24 | 2017-01-11 | 南京百敖软件有限公司 | 一种远程和批量更新bios的系统及方法 |
CN107153555A (zh) * | 2017-03-23 | 2017-09-12 | 重庆蓝岸通讯技术有限公司 | Bios升级方法 |
CN106990985A (zh) * | 2017-03-28 | 2017-07-28 | 南京百敖软件有限公司 | 基于bmc更新及备份系统uefi固件的设备和方法 |
CN107222553A (zh) * | 2017-06-26 | 2017-09-29 | 深圳市智物联网络有限公司 | 通过物联网适配器升级设备的方法、系统及物联网适配器 |
CN107707405A (zh) * | 2017-10-23 | 2018-02-16 | 广东新欧智能卫浴有限公司 | 通过遥控器实现智能马桶固件远程更新的方法及其遥控器 |
CN108196857A (zh) * | 2017-12-07 | 2018-06-22 | 山东超越数控电子股份有限公司 | 一种基于网络更新uefi固件的方法 |
TWI675340B (zh) * | 2018-02-14 | 2019-10-21 | 神雲科技股份有限公司 | 程式驗證方法 |
WO2023226221A1 (zh) * | 2022-05-25 | 2023-11-30 | 苏州大学 | 一种供暖阀门控制系统的远程更新方法 |
CN116366639A (zh) * | 2023-06-01 | 2023-06-30 | 深圳市七彩虹禹贡科技发展有限公司 | 一种在uefi下联网更新主板bios的方法及系统 |
CN116366639B (zh) * | 2023-06-01 | 2023-11-14 | 深圳市七彩虹禹贡科技发展有限公司 | 一种在uefi下联网更新主板bios的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103164244A (zh) | 一种基于通用可扩展固件接口的固件系统远程更新方法 | |
CN110086652B (zh) | 一种针对5g核心网中服务网元的管理系统及其方法 | |
CN104579719B (zh) | 一种固件的升级方法和系统、上位机和光模块 | |
CN107357571B (zh) | 设备组件程序的维护方法及系统 | |
CN102185754B (zh) | 交换机系统中板卡的升级方法 | |
CN106789327A (zh) | 自动为云平台添加宿主机的方法及系统 | |
CN105743948A (zh) | 一种网络版本升级的方法及装置 | |
CN102143229A (zh) | 一种终端批量升级的方法及系统 | |
CN101950253A (zh) | 借助web网页接口升级光网络单元中光模块固件的方法 | |
CN109587005A (zh) | 连接检测方法、装置、计算机设备以及可读存储介质 | |
EP3734910B1 (en) | Method and device for upgrading driver | |
CN103077034B (zh) | 混合虚拟化平台java应用迁移方法与系统 | |
CN100375427C (zh) | 一种集群设备批量传输文件的方法及文件传输设备 | |
CN104468811B (zh) | 升级方法及装置 | |
CN107770299A (zh) | 一种mac地址刷写方法、系统、装置及存储介质 | |
CN110166547A (zh) | 终端远程访问控制方法 | |
CN111147314A (zh) | 交换机升级方法、装置及存储介质 | |
CN101751265B (zh) | 服务器的基本输入/输出系统的更新系统及其方法 | |
CN107733717B (zh) | 一种云平台移动式运维的网络配置方法 | |
CN112291081B (zh) | 云管理平台审计控制器集群数据的方法、系统及存储介质 | |
CN113364820A (zh) | 物联网业务系统的设备管控方法与装置 | |
CN113342456A (zh) | 一种连接方法、装置、设备和存储介质 | |
CN106254419A (zh) | 通过控制台服务器对虚拟机进行操作的系统及方法 | |
CN100386726C (zh) | 远程操控更新计算机平台系统程序的方法及系统 | |
JP2006113754A (ja) | ソフトウェア更新装置及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130619 |