在 CMOS 掉电、过载保护、超频失败,可能导致 CMOS 设置被还原或者清空。
UEFI 引导可能丢失。(请忽略那个之前残留的 UEFI OS 无效引导项)
BIOS 会寻找 “回退路径 UEFI 原生启动项”,移动媒体使用这种方式。
但是丢失的应该是 “完全原生 UEFI 启动项”。
参考 http://www.tuicool.com/articles/NNf26jB
修复步骤
想办法引导一个系统先。这里用 Debian 举栗子。Advanced options
Rescue mode,进入救援模式。
语言地区键盘一路回车,经过加载各种程序包之后到检测网络的时候按 ESC 退出向导。
进入救援模式
选择 root 分区,当然你可以不挂载 root 。如果你有办法在下面的步骤中挂载 EFI 分区并运行 efiboomgr 程序。
然后进入 Shell
检查硬盘分区 找到 EFI 分区
[code]fdisk -l /dev/sda[/code]
挂载 EFI 分区至任意目录 这里是这样的
[code]mount /dev/sda1 /boot/efi/[/code]
检查 .efi 文件路径 “EFI 分区挂载路径/EFI/debian/grubx64.efi”
如果文件路径类似 “EFI 分区挂载路径/EFI/boot/bootx64.efi”, 那么有可能是“回退路径 UEFI 原生启动项”。
检查 UEFI 引导项
[code]efibootmgr[/code]
然后我们来添加一个引导项
[code]efibootmgr -c –disk /dev/sda –part 1 -l \\EFI\\debian\\grubx64.efi -L “debian”[/code]
-c 创建引导项
–disk 选择硬盘
–part 选择分区
-l efi 文件路径(相对与 EFI 分区的根,而不是当前文件系统的路径)
-L 引导项标签(名称)
然后 exit 退出 Shell,退出救援模式重启。
成功引导
删除无用记录
Ref:
UEFI 启动:实际工作原理: http://www.tuicool.com/articles/NNf26jB
efibootmgr Manual: https://linux.die.net/man/8/efibootmgr
gentoo wiki: https://wiki.gentoo.org/wiki/Efibootmgr
github: https://github.com/rhinstaller/efibootmgr
评论