![引导修复失败:无法找到软件包 grub-common:i386](https://linux22.com/image/132940/%E5%BC%95%E5%AF%BC%E4%BF%AE%E5%A4%8D%E5%A4%B1%E8%B4%A5%EF%BC%9A%E6%97%A0%E6%B3%95%E6%89%BE%E5%88%B0%E8%BD%AF%E4%BB%B6%E5%8C%85%20grub-common%3Ai386.png)
我使用的是双引导 Windows 和 Debian 的系统(通常使用后者),最近的 Windows 更新似乎对 Debian 引导系统造成了严重破坏。我成功地再次启动 Windows,但无法启动 Linux。根据网上的建议,我创建了 Ubuntu 的 Live USB,并从它启动。然后我安装并运行启动修复实用程序。该实用程序指示我输入几行,包括
sudo chroot "/mnt/boot-sav/sda6" apt-get purge -y grub*-common grub-common:i386
我收到错误
E: Unable to locate package grub-common:i386
我知道这个问题可能与 UEFI 与 BIOS 有关(我相信我有 UEFI),但不太明白这一点。无论如何,我随后运行了启动修复 BootInfo Summary 实用程序,该实用程序创建了以下文件http://paste.ubuntu.com/p/N8Z95MwB9p/
任何有关如何通过启动修复/启动系统解决此问题的建议将不胜感激。
谢谢!
- 编辑 -
这可能是一个不明智的举动,我决定再次尝试使用在线资源来解决该问题。我从 Linux live 磁盘运行了以下命令 sudo mount /dev/sda1 /mnt sudo grub-install --boot-directory=/mnt/boot /dev/sda 当我看到第二个命令时,我用 CTRL-C 取消了第二个命令正在尝试安装 i386 版本。这是一个新的 Pastebin,我认为它与以前的不同(而且更糟......)。https://paste.ubuntu.com/p/ZpCm38wmRc/
--编辑-- 根据我下面的评论,我设法通过不使用引导修复并简单地重新安装 grub 来修复 grub (抱歉,我不记得使用的确切命令)。启动 Debian 似乎仍然不起作用,所以我只使用了几天 Windows,直到我有时间进一步解决这个问题。我今天坐下来研究它......Debian 启动得很好。一切正常。我不知道为什么它突然起作用(并且有点担心幕后出了什么问题),但我想这就是现在的全部了。我会注意到,与此同时,我禁用了 Windows 快速启动(必须通过 Windows 更新重新启用),所以也许这起到了作用,尽管我没有看到任何立即的变化。我还意识到这一切都与关于启动修复的原始问题没有直接关系,我没有解决这个问题。
答案1
除了 Windows 更新更改了启动顺序之外,你的双启动没有问题。
请立即停止做那些不可能有效(但可能会使情况变得更糟)的事情。
只需打开 UEFI 设置 > 启动菜单并将顺序更改回“Debian”(您会发现现在不再是“Debian”而是“Windows 启动管理器”),它应该像以前一样使用 Grub 启动。启动 Debian 并做好sudo update-grub
准备。
您可以执行此操作(并且不需要任何命令,甚至不需要启动实时会话)的原因是 UEFI 规范允许独立启动任何和所有已安装的操作系统,这与以前使用旧 BIOS/MBR 时发生的情况不同其中只有一个引导加载程序(通常是 Windows/Linux 多重引导中的 Grub 取代 Windows 引导加载程序)可以安装在 MBR(主引导记录)中。只要 ESP(EFI 系统分区)仍然具有给定操作系统的 EFI 文件,它就应该启动。你的还在那里:
/EFI/Boot/bootx64.efi /EFI/debian/grubx64.efi