cdfmr
2016-09-22 08:54:02 +08:00
前段时间把 Alienware Alpha 的 BIOS 从 A02 升级到 A04 , Linux 就不能启动了。发现是 EFI Boot Entry 的 loader 信息被破坏,从安装盘启动进入 recovery ,使用 efibootmgr 重建,重启后依旧被破坏。继而发现只要 boot entry 的 label 不是 Microsoft Boot Manager (命名为 Microsoft Boot Manager 2 都不行),重启后其 loader 就会被替换为 Vendor(XXXX), XXXX 是一个 UUID 。降级到 A03 后问题依旧,再降级到 A02 恢复正常。 A02 不支持降级刷入,但可以从 Temp 目录中获取 ROM 和工具手工刷入。
怎么都不觉得这个是 BUG ,极有可能是 DELL 和 MS 的什么交易。
不降级的话,也有办法解决:
方法一:用 bcdedit 将 Windows Boot Manager 的 loader 修改为 grub ,通过 grub 启动 Windows ;
方法二:所有 boot entry 都命名为 Microsoft Boot Manager ,通过顺序区分哪个是 Win 哪个是 Linux 。
因为 Linux 启动次数少,习惯了使用 EFI 的启动菜单,同名的菜单看得实在是碍眼,所以还是选择了降级 BIOS 的方案。