最近在新磁盘上安装 debian 10 时,出现过安装完成后,bios 未识别出 uefi 分区,从而系统不能正常启动的问题。
根据官网1)介绍,正确的 uefi 启动文件的命名路径为:
\EFI\$vendor\$bootloader.efi
对于 debian 10 , 需要加载的 efi 文件为:
Architecture Path amd64 \EFI\debian\grubx64.efi i386 \EFI\debian\grubia32.efi arm64 \EFI\debian\grubaa64.efi armhf \EFI\debian\grubarm.efi
对于便携设备来说,默认是加载以下的 efi 文件:
Architecture Path amd64 \EFI\boot\bootx64.efi i386 \EFI\boot\bootia32.efi arm64 \EFI\boot\bootaa64.efi armhf \EFI\boot\bootarm.efi
由于某些 bios 的 uefi 启动程序有 bug ,不认 $vendor 底下的内容,只去 boot 目录底下查找 boot*.efi 。 因此 debian 无法正常 启动。 windows 系统会默认把自己的 efi 拷贝一份到 boot 目录中, debian 没有参考这种做法。因此,如果出现这种问题,需要手工创建 boot 目录,把 grub*.efi 移动到 boot 目录,并重命名成 boot*.efi 即可。