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

Ofe*_*ich 5 linux ubuntu amazon-ec2 amazon-web-services ec2-ami

我在EC2上运行ubuntu 14.04

运行apt-get升级后

我被提示屏幕,要求我重新安装GRUB引导装载程序

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

  • 我如何知道应该选择哪种设备?

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

  • 我可以在升级期间避免此提示或提供命令的某些默认值吗?

以下提示是

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

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

这里的q相同:

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

  • 我可以在升级期间避免此提示或提供命令的某些默认值吗?

ant*_*tov 9

我有类似的问题.

1)如果你看一下man apt-get,你会发现一个配置选项-o.它有助于为Debian数据包管理器指定选项dpkg.

2)在手动中man dpkg你可以找到一组选项--force-confdef(强制保持默认选项而不提示)和--force-confold(强制保留旧的conf文件)

在我发现的一些来源中,人们也传递了env变量DEBIAN_FRONTEND=noninteractive,但我没有在手册中找到它.

所以,我用来升级的.sh脚本中的最终命令:

sudo DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade

  • 在我的联机帮助页中,需要*非常接近的读数来找到`--force-confold`和`--force-confdef`选项.好样的! (2认同)