前言:
现在我们对“联想安装ubuntu系统出现boot manager”大约比较关心,小伙伴们都想要分析一些“联想安装ubuntu系统出现boot manager”的相关知识。那么小编也在网络上汇集了一些关于“联想安装ubuntu系统出现boot manager””的相关资讯,希望兄弟们能喜欢,同学们一起来学习一下吧!做过系统安装的同学应该会注意到在UEFI系统会记录上次启动成功的磁盘并做为默认项,Windows下通常叫"Windows Boot Manager",下次启动时自动从该启动项启动。这个大部分情况下是非常友好的,启动速度会快一些。不过有些时候安装完系统后不想让它从上次启动的项再次启动,这里提供一个想法,就是删除被UEFI固件默认的启动项"Windows Boot Manager"。
这个在Windows系统中是提供了API的,首先,调用ZwEnumerateBootEntries枚举固件中的所有启动项,枚举名称为"Windows Boot Manager"的启动项,找到后再调用ZwDeleteBootEntry删除该项。
其中ZwEnumerateBootEntries的原型为:
typedefNTSTATUS(NTAPI *PFN_ZwEnumerateBootEntries)( __out_bcount_opt(*BufferLength) PVOID Buffer, __inout PULONG BufferLength);
ZwDeleteBootEntry的原型为:
typedefNTSTATUS(NTAPI *PFN_ZwDeleteBootEntry)( __in ULONG Id);
它们都在ntdll.dll里导出。在ntdll.dll里还导出了修改启动,添加启动项、修改启动项顺序等操作。下面看下我试验的例子:
上图中,分别取出了默认启动项,所有启动项,和当前启动项顺序。
知道这个知识点后,大家可以自由发挥了。