将 Ubuntu 13.10 升级到 14.04 后,grub 无法加载 Ubuntu,并抛出错误symbol 'grub_term_highlight_color' not found
。我按照错误报告但这对我来说失败了,引发了错误failed to get canonical path of /cow
。
现在,我正在尝试安装 Boot-Repair,并使用以下命令修复实时 U 盘上的这个问题。
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && (boot-repair &)
但是在添加和更新存储库后,它显示ppa:yannubuntu/boot-repair
404 Not Found 错误。
W: Failed to fetch http://ppa.launchpad.net/yannubuntu/boot-repair/ubuntu/dists/trusty/main/binary-amd64/Packages 404 Not Found
这个问题可以解决吗?或者是否有用于 Boot-Repair 的替代 PPA?
答案1
更新:PPA 目前提供 14.04 及以上版本的更新软件包。
解决方法:安装旧版本的软件包
它显示 404 未找到错误,因为 PPA 未针对较新版本进行更新(值得信赖)。要boot-repair
在 Ubuntu 14.04 中安装,请在终端上运行以下命令:
sudo add-apt-repository ppa:yannubuntu/boot-repair
codename="$(lsb_release -cs)"
sudo sh -c "sed -i 's/$codename/saucy/g' /etc/apt/sources.list.d/yannubuntu-boot-repair-$codename.list"
sudo apt-get update
sudo apt-get install -y boot-repair && (boot-repair &)
现在使用该recommended repair
选项修复你的 grub,并在启动修复完成后重新启动。
答案2
更新:lp 上有错误报告 -https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1289977
从上面的错误报告中,
-从 U 盘启动(14.04) -挂载我的根文件系统(其中 /boot)
sudo mount /dev/sdaX /mnt
/dev/sdaX 是 /boot 目录的位置
-运行:“sudo grub-install --boot-directory=/mnt//boot /dev/sdX”
具体命令取决于您是否有单独的启动分区
单独的 /boot 分区
sudo grub-install --boot-directory=/mnt /dev/sda
没有单独的 /boot 分区
grub-install --boot-directory=/mnt/boot /dev/sda
然后使用 HDD 重启
三个选项:
等待 ppa 的维护者为 14.04 构建一个包。这可能是最慢和最不实用的。
向反对 boot-repair 的人员提交错误报告,要求提供 14.04 软件包。可能会快一点。
启动旧版本的 Ubuntu 13.10,然后运行启动修复。使用旧版本可能就没问题了。
我想还有第四个选项 - 手动调试 grub,您收到了什么错误消息并告诉我们有关您的安装的信息。
答案3
此错误报告中提到的第一个解决方法对我有用:
https://bugs.launchpad.net/boot-repair/+bug/1267702
基本上,您必须手动安装三个 .deb 包:glade2script、boot-sav 和 boot-repair(按此顺序)。使用最新的包(saucy 的包)。
答案4
出现了同样的错误“未找到符号‘grub_term_highlight_color’”,卡在 Grub 救援中。尝试了启动修复(推荐选项),但没有用!
解决方案:下载可启动的 boot-repair.iso (http://sourceforge.net/projects/boot-repair-cd/) 并制作了一个可启动的 USB 磁盘。从它启动并连接到互联网并启动“推荐修复”,然后按照说明进行几个步骤(手动删除/卸载 grub,然后重新安装新版本),成功了!