资讯文章

HPE Service Pack for ProLiant (SPP) 2020.03.2制作U盘无法启动,停留在GRUB的命令行故障分析及解决办法

2020-09-27 14:39:17 管理员 820

故障现象:

SPP2020032使用ISO方式制作的U盘无法启动,停留在GRUB 命令行界面,如下图

云汉清光

原因分析:

此故障原因是SPP本身的问题,由于最新版SPP2020032使用了最新的GRUB2.02,该版本GRUB要求所有的引导程序和配置文件均有有效签名,但是HPE在发布此版本的SPP时没有全面更新脚本导致。

         在之前的版本,包括上一个版本2020030中使用的GRUB都是不需要签名的

         这是之前版本efi\boot目录下的文件

*本文档www.memsky.com.cn原创,转载请注明出处


云汉清光

这是最新2020032版本efi\boot目录下的文件

云汉清光

可以看到多出来很多扩展名为sig的文件,该文件是对应的同名文件的签名,新版本GRUB需要验证文件和签名一致才会加载对应的文件,任何文件的改动均会导致签名无效,导致GRUB拒绝加载。

理论上,由于此处的改动,需要更新所有位于usb目录下的脚本,以适应新版本,但是,此版本SPP未将所有的脚本更新。它更新了usbcreator.cmd这个windows下的批处理,可以看到,这个批处理中在复制文件时,同时将.sig签名文件一起复制过来。

*本文档www.memsky.com.cn原创,转载请注明出处

云汉清光

但是,却没有更新usbcreator.xml,这个文件中丝毫没有关于.sig文件的处理

云汉清光

         在使用HPE USB key制作SPP时,有两个选项,一个是Select CD/DVD drive,一个是Browse for ISO file

云汉清光

选择Select CD/DVD drive,即从光驱加载的时候,该软件调用了usbcreator.cmd制作U盘,这样做出来的U盘没有任何问题,可以正常启动

但是选择Browse for ISO file,从ISO加载的时候,软件调用了usbcreator.xml,由于此文件中未处理.sig文件,导致文件签名丢失,GRUB无法调用。

解决方法:

1,为避免此问题,请将ISO文件加载到虚拟光驱中再制作,然后制作U盘时选择Select CD/DVD drive即可正常使用

2,如果已经使用ISO制作,且无法启动,无需重新格式化

         请打开U盘目录,打开efi\boot目录,找到grub.cfg.sig,删除

         然后将grub_usb.cfg.sig文件重新命名为grub.cfg.sig即可解决问题

3,等待HPE在新版本中解决问题。


*本文档www.memsky.com.cn原创,转载请注明出处