ventory的安全启动原理源自Super-UEFIinSecureBoot-Disk,这其中涉及到了UEFI shim loader、SBat等机制。涉及到的组件如下:
- shim:从合法Linux发行版中提取的shim,经过微软签名,且内置的sbat较新
- MokManager:shim对应的MokManager,shim中往往包含了MokManager的签名
- PreLoader:一个修改过的Preloader,并且使用了MOK签名,可用于加载任意efi模块
- MOK:Machine Owner Key,用于对PreLoader签名
所以,ventoy安全启动的核心就是利用了可信的shim enroll一个MOK,使得shim能够加载PreLoader,进而实现任意efi的加载。随着微软通过Windows Update的更新,UEFI中的sbat也会更新,旧的shim会失效,因此需要不断的更新shim。