一种无盘启动服务端、客户端和启动方法与流程

专利检索2026-05-05  3


本发明涉及无盘启动领域,尤其涉及一种无盘启动服务端、客户端和启动方法。


背景技术:

1、无盘软件原理一般是服务端提供对磁盘镜像的读写服务,该镜像初始时只保存原始操作系统,不包含任何客户端硬件驱动(不同的客户端会需要不同的硬件驱动),客户端在启动时模拟一块磁盘,其数据读取(通过网络)自服务端的磁盘镜像。

2、在具有tpm的大部分情况,强制要求主板必须开启tpm才能正常安装启动,当前大部分新主板都默认uefi启动模式,并默认开启tpm。但是在无盘环境下,由于主板开启tpm导致windows设备驱动的加载流程发生变化,无法做正常的动态pnp而不能正常启动windows。

3、手动在bios固件里的tpm设置可以回到原来的形式,但这需要每一台客户端都手动处理,比较繁琐。因此有必要在默认开启tpm的情况下,也能够启动无盘。


技术实现思路

1、本发明的目的在于克服现有技术的不足,提供一种无盘启动服务端、客户端和启动方法。

2、本发明的目的是通过以下技术方案来实现的:

3、本发明的第一方面,提供一种无盘启动服务端,包括供客户端下载的无盘启动程序,所述客户端默认开启tpm;

4、当所述无盘启动程序被客户端下载并执行时,先对bootservices函数下的原locatehandle子函数进行修改后再执行其他操作;

5、所述修改的方式为建立新locatehandle子函数,并将bootservices函数下的locatehandle子函数的地址修改为新locatehandle子函数的地址;

6、所述新locatehandle子函数包含原locatehandle子函数的所有内容,并增加判断:如果查找的协议为tcg协议,则返回不支持tcg协议,否则执行旧locatehandle子函数。

7、进一步地,所述查找的协议为tcg协议,具体包括:查找的协议guid为tcg1.0协议guid或tcg2.0协议guid。

8、本发明的第二方面,提供一种无盘启动客户端,默认开启tpm,包括:

9、无盘启动程序下载模块,用于下载无盘启动服务器上的无盘启动程序;无盘启动程序执行模块,用于执行下载的无盘启动程序;

10、所述无盘启动程序执行模块包括:

11、函数修改子模块:用于在执行无盘启动程序时,先对bootservices函数下的原locatehandle子函数进行修改后再执行其他操作;所述修改的方式为建立新locatehandle子函数,并将bootservices函数下的locatehandle子函数的地址修改为新locatehandle子函数的地址;所述新locatehandle子函数包含原locatehandle子函数的所有内容,并增加判断:如果查找的协议为tcg协议,则返回不支持tcg协议,否则执行旧locatehandle子函数。

12、进一步地,所述无盘启动程序执行模块还包括:

13、系统默认引导子模块:用于在修改原locatehandle子函数后执行系统引导文件;其中,系统引导文件在执行中,利用所述新locatehandle子函数查找协议是否为tcg协议,收到不支持tcg协议后不执行与tpm安全芯片相关的操作;

14、内核加载子模块:用于在系统默认引导子模块执行完成后,利用内核程序文件执行系统初始化;

15、网卡加载子模块:用于在内核加载子模块执行完成后,利用pnp配置驱动程序模块驱动识别总线上的设备并安装网卡驱动。

16、进一步地,所述系统引导文件包括:第一系统引导文件bootmgfw.efi和第二系统引导文件winload.efi,其中第一系统引导文件bootmgfw.efi先执行,然后第二系统引导文件winload.efi再执行;第一系统引导文件bootmgfw.efi和第二系统引导文件winload.efi均会利用新locatehandle子函数。

17、进一步地,所述查找的协议为tcg协议,具体包括:查找的协议guid为tcg1.0协议guid或tcg2.0协议guid。

18、本发明的第三方面,提供一种无盘启动客户端无盘启动方法,所述客户端默认开启tpm,所述方法包括以下步骤:

19、获取来自无盘启动服务器上的无盘启动程序;

20、执行所述无盘启动程序;

21、所述执行所述无盘启动程序,具体包括:函数修改子步骤:

22、在执行无盘启动程序时,先对bootservices函数下的原locatehandle子函数进行修改后再执行其他操作;所述修改的方式为建立新locatehandle子函数,并将bootservices函数下的locatehandle子函数的地址修改为新locatehandle子函数的地址;所述新locatehandle子函数包含原locatehandle子函数的所有内容,并增加判断:如果查找的协议为tcg协议,则返回不支持tcg协议,否则执行旧locatehandle子函数。

23、进一步地,所述执行所述无盘启动程序,还包括:

24、系统默认引导子步骤:在函数修改子步骤执行完成后,执行系统引导文件;其中,系统引导文件在执行中,利用所述新locatehandle子函数查找协议是否为tcg协议,收到不支持tcg协议后不执行与tpm安全芯片相关的操作;

25、内核加载子步骤:在系统默认引导子步骤执行完成后,利用内核程序文件执行系统初始化;

26、网卡加载子步骤:用于在内核加载子步骤执行完成后,利用pnp配置驱动程序模块驱动识别总线上的设备并安装网卡驱动。

27、进一步地,所述系统引导文件包括:第一系统引导文件bootmgfw.efi和第二系统引导文件winload.efi,其中第一系统引导文件bootmgfw.efi先执行,然后第二系统引导文件winload.efi再执行;第一系统引导文件bootmgfw.efi和第二系统引导文件winload.efi均会利用新locatehandle子函数。

28、进一步地,所述查找的协议为tcg协议,具体包括:查找的协议guid为tcg1.0协议guid或tcg2.0协议guid。

29、本发明的有益效果是:

30、(1)在本发明的一示例性实施例中,适用于无盘系统不需要可信计算并且客户端默认开启tpm的场景,保护的是提供包含修改locatehandle子函数执行命令在内的无盘启动程序的服务端、客户端、方法等。当客户端下载了无盘启动程序后,在执行正常启动流程前修改locatehandle子函数,从而绕过tpm检测后操作系统内不启用可信计算,可直接在无外界干预的情况下启动系统,无需用户单独手动去更改默认bios设置。

31、(2)在本发明的又一示例性实施例中,公开了修改后对应的工作步骤。



技术特征:

1.一种无盘启动服务端,包括供客户端下载的无盘启动程序,所述客户端默认开启tpm;其特征在于:

2.根据权利要求1所述的一种无盘启动服务端,其特征在于:所述查找的协议为tcg协议,具体包括:查找的协议guid为tcg1.0协议guid或tcg2.0协议guid。

3.一种无盘启动客户端,默认开启tpm,包括:

4.根据权利要求3所述的一种无盘启动客户端,其特征在于:所述无盘启动程序执行模块还包括:

5.根据权利要求4所述的一种无盘启动客户端,其特征在于:所述系统引导文件包括:第一系统引导文件bootmgfw.efi和第二系统引导文件winload.efi,其中第一系统引导文件bootmgfw.efi先执行,然后第二系统引导文件winload.efi再执行;第一系统引导文件bootmgfw.efi和第二系统引导文件winload.efi均会利用新locatehandle子函数。

6.根据权利要求3所述的一种无盘启动客户端,其特征在于:所述查找的协议为tcg协议,具体包括:查找的协议guid为tcg1.0协议guid或tcg2.0协议guid。

7.一种无盘启动客户端无盘启动方法,所述客户端默认开启tpm,所述方法包括以下步骤:

8.根据权利要求7所述的一种无盘启动客户端无盘启动方法,其特征在于:所述执行所述无盘启动程序,还包括:

9.根据权利要求8所述的一种无盘启动客户端无盘启动方法,其特征在于:所述系统引导文件包括:第一系统引导文件bootmgfw.efi和第二系统引导文件winload.efi,其中第一系统引导文件bootmgfw.efi先执行,然后第二系统引导文件winload.efi再执行;第一系统引导文件bootmgfw.efi和第二系统引导文件winload.efi均会利用新locatehandle子函数。

10.根据权利要求7所述的一种无盘启动客户端无盘启动方法,其特征在于:所述查找的协议为tcg协议,具体包括:查找的协议guid为tcg1.0协议guid或tcg2.0协议guid。


技术总结
本发明公开了一种无盘启动服务端、客户端和启动方法,服务端包括供客户端下载的无盘启动程序,所述客户端默认开启TPM;当所述无盘启动程序被客户端下载并执行时,先对BootServices函数下的原LocateHandle子函数进行修改后再执行其他操作;新LocateHandle子函数包含原LocateHandle子函数的所有内容,并增加判断:如果查找的协议为TCG协议,则返回不支持TCG协议,否则执行旧LocateHandle子函数。本发明适用于无盘系统不需要可信计算并且客户端默认开启TPM的场景,可直接在无外界干预的情况下启动系统,无需用户单独手动去更改默认BIOS设置。

技术研发人员:李郧成
受保护的技术使用者:成都领之锋网络技术有限公司
技术研发日:
技术公布日:2024/5/29
转载请注明原文地址:https://win.8miu.com/read-1162703.html

最新回复(0)