我该怎么做才能在grub-efi上修复这个错误?
我有一个双启动系统设置与Windows 10和Ubuntu 16.04,当打开我的PC grub显示正确,Windows和Ubuntu被识别,没有问题。 每次有更新或我必须安装的东西,我不断收到此错误:
Errors were encountered while processing: grub-efi-amd64-signed shim-signed Setting up shim-signed (1.12+0.8-0ubuntu2) ... Installing for x86_64-efi platform. grub-install: errore: cannot find EFI directory. dpkg: error processing package shim-signed (--configure): subprocess installed post-installation script returned error exit status 1 Setting up grub-efi-amd64-signed (1.66+2.02~beta2-36ubuntu3) ... grub-install: errore: /usr/lib/grub/i386-pc/modinfo.sh doesn't exist. Please specify --target or --directory. dpkg: error processing package grub-efi-amd64-signed (--configure): subprocess installed post-installation script returned error exit status 1
我可以忽略它,或者我能做些什么来解决它?
对/usr/lib/grub/i386-pc/modinfo.sh
的引用表示BIOS模式GRUB安装 – 具体来说,该路径的i386-pc
部分标识GRUB的BIOS模式版本。 (对于AMD64 / x86-64上的EFI模式安装,等效路径为/boot/grub/x86_64-efi/modinfo.sh
,软件包名称清楚地表明EFI模式GRUB安装。 这两者不应该是混合的,但不知何故,这种情况发生在你的情况下。 也许您从先前的BIOS模式安装中获得了剩余的GRUB配置文件,在这种情况下跟踪它并更新它应该可以解决问题。 也许Boot Repair可以自动解决问题。 但请注意,修复尝试可能会使系统无法启动,从而使问题变得更糟。 因此,我建议极其小心!
如果您无法轻松修复它,您可以考虑用其他东西替换GRUB – 有几种替代方案可供选择,如我本网页所述。 GRUB 2是最困难的引导加载程序,一旦它像你的那样“脱轨”就会进行调整,这就是为什么更换它可能是一个不错的选择。 我自己的rEFInd启动管理器很可能很容易安装,但需要注意的是有一个Ubuntu 16.04错误,它使PPA的安装变得复杂,安全启动活动。 (这在文档中有所涉及。)另请注意,只安装新软件包不会解决您的问题; 您需要卸载导致您难以执行此操作的GRUB软件包。 我在这里专门讨论这个话题,因为它并不像你想象的那么容易。 (如果删除它,Ubuntu会继续尝试重新安装GRUB。)
尝试
sudo apt-get purge grub\* sudo apt-get install grub-efi sudo apt-get autoremove sudo update-grub
修理。
如果有人正在设置多引导USB磁盘来处理mbr和grub:
如果您当前的系统是EFI,那么您将错过这个:
sudo apt install grub-pc-bin
如果您当前的系统是MBR,那么您将会错过这个:
sudo apt install grub-efi-amd64-bin # You may also need grub-efi-amd64-signed
尝试:
sudo apt-get -f install
然后:此终端命令将删除垫片签名的存档
之后:已成功删除填充程序存档
最后:如果一切顺利的话,至少Ubuntu软件更新应该重新开始工作(就像我的情况一样)