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


13

我在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. 在可用版本之间进行三向合并(实验性)
  7. 开始一个新的外壳来检查情况

同样的问题在这里:

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

  • 在升级过程中是否可以避免出现此提示,或者为命令提供一些默认设置?


Answers:


9

有打开这个当前的bug 设在这里,它也存在为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

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


这是完美的答案。
error2007s

4

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

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.