运行 apt-get upgrade 后如何避免 GRUB 错误 - Ubuntu

Ofe*_*ich 15 linux amazon-ec2 amazon-web-services ubuntu-14.04

我在 EC2 上运行 ubuntu 14.04。

运行后 apt-get upgrade,系统会提示我重新安装 GRUB 引导加载程序的屏幕

GRUB 引导加载程序以前安装到不再存在的磁盘上,或者由于某种原因其唯一标识符已更改。确保安装的 GRUB 核心映像与 GRUB 模块和 grub.cfg 保持同步很重要。请再次检查以确保 GRUB 已写入适当的引导设备。

  • 我怎么知道我应该选择哪个设备?

  • 如果我在我的机器上安装了一些额外的 EBS,我是否也应该选择它们?

  • 我可以在升级过程中避免此提示或为命令提供一些默认值吗?

下面的提示是

新版本的/boot/grub/menu.lst 可用,但当前安装的版本已在本地修改。

  1. 安装包维护者的版本
  2. 保持当前安装的本地版本
  3. 显示版本之间的差异
  4. 显示版本之间的并排差异
  5. 显示可用版本之间的三向差异
  6. 在可用版本之间进行 3 向合并(实验性)
  7. 启动一个新的shell来检查情况

同样的问题在这里:

  • 我怎么知道我应该选择哪一个?

  • 我可以在升级过程中避免此提示或为命令提供一些默认值吗?

小智 10

有一个当前打开的错误位于此处,它也存在于 12.02 LTS,如此处所示。Anders Hall 在错误报告底部列出的步骤适用于 14.04 LTS 64 位 (HVM) AMI(US-EAST-1 中的 ami-d05e75b8):

$ sudo apt-get update
$ sudo rm /boot/grub/menu.lst
$ sudo update-grub-legacy-ec2 -y
$ sudo apt-get dist-upgrade -qq --force-yes
$ sudo reboot
Run Code Online (Sandbox Code Playgroud)

重新启动后,14.04.2 LTS 升级到 14.04.3 LTS 并sudo apt-get update && sudo apt-get upgrade返回 0 个新包。


Baz*_*zze 4

尽管我从未对 menu.lst 文件进行任何自定义更改,但我自己也遇到过几次这种情况。我不知道为什么会发生这种情况,但我选择比较该文件,发现它主要是对已更改的新版本内核的注释和引用。在 apt bug 跟踪器中有一个关于此的未解决问题。

只要您没有对其进行任何手动更改,您就可以用新的覆盖旧的(选项 1)。为了安全起见,我建议您在更新之前创建实例的备份 AMI。