ThinkPad BIOS/UEFI 中的 Startup 标签页里,有一项叫做“Boot Order Lock“的功能,我一直不明白它的作用。官方解释是:
If you select Enabled, the boot priority is locked for your future use.
然而令我纳闷的是,如果我有权限修改 BIOS/UEFI 设置的话,我自然也可以关掉这个选项然后再调整启动顺序。要知道启动顺序本来就需要 BIOS/UEFI 的管理员权限(即使用“管理员密码”)修改,普通用户(即使用的是“开机密码”)的话这些设置都是灰的(事实上普通用户除了能开机以外几乎就没有能改的 BIOS/UEFI 设置)。至于开机使用 F12 选择一次性的启动设备则是由另一个选项控制的。难道这个 Boot Order Lock 设置只是一个鸡肋的双保险?
与此同时,在折腾 Linux UEFI 引导(使用的是 rEFInd )时,我发现其中一步一直无法成功—— efibootmgr 修改 UEFI EEPROM 的启动项(包括增删启动项或者调整顺序)看起来成功了,但是重启后修改总是丢失。以至于我一直以为是 ThinkPad UEFI 支持度不够,最后使用的是修改已有的 Windows Boot Manager 启动项,将其指向 rEFInd。
直到有一天,我突然反应过来——难道这个启动顺序重启后被重置的问题,是 Boot Order Lock 导致的?试验了一下,立马证实了我的想法——关闭这个选项后 efibootmgr 就能正常修改启动顺序了。事实上,这个选项打开时, Windows 下的 Easy UEFI 之类的软件也遇到一样的重启后修改丢失的问题。原来,这个选项的真实目的和作用就是禁止 OS 修改 UEFI EEPROM 里记录的启动顺序……