archlinux 修复uefi引导启动

archlinux 修复uefi引导启动

Posted by ivo on May 29, 2018

由于最近用kali,装进了u盘里面。所以出现了一些问题,尤其是在启动时候。之前主机设置的bios为uefi only 更改了dualboot以后,kali的u盘是能启动了,宿主机器又崩溃了,只能在启动的时候选择boot from file 手动的去找efi文件去启动。然后查帖子综合出来了下面的方案。

https://antergos.com/wiki/de/miscellaneous/how-to-fix-grub-with-efi-boot/ http://ezlost.tk/2018/02/16/install-arch/

做livecd

我用的是arch的,就用的arch的安装盘

  • linux 下建议用dd命令来操作dd if=./archlinux.iso of=/dev/sdx #x代表u盘。
  • windows下建议使用rufus来烧录,操作非常的方便成功率也高。

启动livecd

进去以后根据我以前的安装的记录和现有的真实情况 fdisk -l查看具体的分区信息。找出来sdb1是以前uefi存储的位置,就是sdb1 500m的esp分区,sdb3是根分区,所以用下面的操作

mount /dev/sdb3 /mnt
mount /dev/sdb1 /mnt/boot/efi

修复

进入 chroot arch-chroot /mnt

配置grub-install --recheck /dev/sdb 如果提示error:cannot find EFI directory,说明找不到EFI文件夹的位置,还需要加上–efi-directory参数指明安装位置grub-install --recheck /dev/sdb --efi-directory=/boot 完成后 输入 exit 退出chroot reboot重启即可