多系统引导工具:refind
背景
NUC8安装了三系统,即:MacOS、Ubuntu和Win10。在Ubuntu系统下,由于软件安装出错,运行了一些指定,导致UEFI默认引导改为了Ubuntu的GRUB。使用GRUB能够正常引导Ubuntu和Win10,但却不能引导MacOS,因此需要将默认引导改回refind。
遇到的问题
前面说到默认引导变成了GRUB,能够引导进入Win10,因此我先进入了Win10,通过BOOTICE将默认引导改回了refind。本以为这样就完事了,可是没想到在依次进入不同的系统之后,最后一次开机的时候,系统提示无法找到任何引导。
接下来就找了一个PE的U盘,通过UEFI模式启动进入,在里面通过BOOTICE调整UEFI默认启动顺序,但是并没有用,重启还是无法找到任何引导。于是再次进入PE,使用里面的工具修复Win10引导,然后重启。重启之后能够进入Win10,所以我想就在Win10里面重新使用BOOTICE调整下引导顺序应该就可以了,可是结果还是不行。这里出现的问题其实是,修复Win10引导的时候,EFI分区里面只剩下Win10的启动项了,因此调整顺序并没有用。
解决方案
找到问题,于是就将之前备份的EFI拷贝进去,之后重启。结果Win10和MacOS能够正常运行,而Ubuntu系统则无法进入。在refind的选项卡选择Ubuntu进入之后,进入到了grub引导,通过Google查找到解决方法,可以看到问题是由于grub无法正确找到启动项的位置所导致的。通过手动设定root和prefix之后,成功进入到Ubuntu系统。之后将文件夹/boot/grub
复制到/boot/efi/
里面,能够成功进入Ubuntu,但是每次都要等待30s。最后还是通过sudo grub-install /dev/sdXY
重新安装grub解决的,其中sdXY
为EFI分区的位置。