更新后,我应该选择什么选项作为“GRUB安装设备”?

在运行更新管理器后,弹出了一个debconf窗口(标题为“配置grub-pc”),要求我选择适合我的系统的GRUB安装设备。我最近没有对grub或文件系统进行任何更改,也不记得上次更改时选择了哪些选项。
我应该如何知道选择什么?我假设选择错误的答案可能会导致我的系统无法启动。
这是debconf对话框:

Debconf window, configuring grub-pc, containing check-boxes for /dev/sda and /dev/sda1

这是在选择“帮助”时显示的窗口和文本内容:

Grub was previously installed to a disk that is no longer present


9当升级VirtualBox虚拟机的Ubuntu版本时(例如,从10.10升级到11.04),这个对话框也会出现。 - Noel
4就我对此的经验来说,这看起来像是一个可用性错误。我已经无数次运行更新,每当这个对话框弹出时,我在第一个对话框中不点击任何内容,然后确认我想继续而不安装 grub。到目前为止从未遇到过问题。我猜这是因为 grub 已经正确安装在主引导记录(MBR)上,否则机器一开始就无法启动。 - luv2learn
2这是什么鬼东西?我只是想更新一些软件包,因为它建议我这样做,现在我需要做一个可能会毁掉我的系统的选择...太糟糕了!! - nicolas
5这是一个可怕的经历!我只是在Ubuntu 16.04.3 LTS上进行apt升级时遇到了这个问题(它运行在Windows 10主机中的VirtualBox虚拟机上,由于更新而重新启动,我以为它把一切都搞砸了)- 不过,在选择/dev/sda后它还是正常工作了。 - Daniel F
遇到这个问题。谷歌把我带到了这里。我的Linux专家说:运行lsblk命令,找到具有“/”挂载点(根目录)的驱动器,那就是启动磁盘。它可能是一个分区(以sda1之类的数字结尾)。使用该分区的磁盘(删除数字,例如在这种情况下是/dev/sda)。如果你离开了菜单并且不确定是否破坏了系统,请运行dpkg-reconfigure grub-pc命令。我选择了所有默认选项,并选择了具有根分区的磁盘。系统成功重启了。 - Chris
这种糟糕的用户体验问题在Ubuntu 22.04.3版本仍然存在。从我的/var/log/apt/history.log文件中可以看到:grub-efi-amd64-bin:amd64 (2.06-2ubuntu14.1, 2.06-2ubuntu14.4) - undefined
2个回答

在你的情况下,正确的选择是/dev/sda,这是第一个。它是你系统中唯一的硬盘,而/dev/sda1是该硬盘上的一个分区。你可以把 grub 安装在一个分区上,但这是一个不好的主意。
如果你有多个硬盘和分区,请先找出你的根分区在哪里:
lsblk

(另见:如何查找系统中的硬盘?
然后,您可以在该硬盘上安装grub。寻找标记为“disk”的设备(例如“sda”,表示/dev/sda),将grub安装到主引导记录(每个物理磁盘设备只有一个MBR,无论分区如何)。

30为了结束这个故事(已经有了一个好的结局):我选择了/dev/sda,就像建议的那样。在下一个窗口中,我被问到是否想要继续而不安装grub。当然,这很奇怪,因为我刚刚要求安装它。有一个复选框可以标记以继续而不安装,或者,如果我按下“前进”按钮,它会返回到上一个屏幕,询问我想要安装grub的位置。为了避免无限循环,我勾选了复选框,告诉它不要安装grub,并祈祷一切顺利。重新启动后,没有出现任何问题。令人困惑的是为什么需要这种交互。 - belacqua
2那么是什么导致了安装/不安装的循环呢?我在12.04中也有同样的经历。 - Wes Miller
2我在14.04上也遇到了同样的问题。如果不是代码中的错误,那么我会说这是一个可用性问题。 - sevis127
3刚在14.04上遇到了同样的情况。我认为对话框的目的是询问您是否希望将Grub安装在除当前所安装的驱动器之外的其他驱动器上,并因此显示了“继续而不安装”的选项。虽然我对此并不完全确定。 - Mo2
请注意,df现在很可能返回一个标签。您可能需要进行编辑以更新该部分(即如何确定标签链接到哪个硬盘?) - Alexis Wilke
谢谢 @AlexisWilke,我已经更新了答案(lsblk更好)。然而,我从来没有见过df返回标签。我该如何做到这一点? - Stefano Palazzo
1当我使用LVM安装计算机时,它会在df显示为/dev/mapper/<name>的设备上创建分区,其中<name>是该设备的标签。例如,我使用VirtualBox创建了一个VPS,我的根分区位于/dev/mapper/snap--vg-root上。 - Alexis Wilke
谢谢你的回复,@AlexisWilke。我手头没有带有逻辑卷管理(lvm)的系统。你能确认一下lsblk命令的输出在这里是否有帮助吗? - Stefano Palazzo
1是的。lsblk 包括挂载点,这意味着它会包含 "/" 和设备名称(与标签相对)。尽管它可能是 /dev/sda1/dev/md1 这样的形式,这意味着用户仍然需要理解他必须忽略 1(或其他任何数字)。 - Alexis Wilke
4在我的情况下,安装/不安装循环是由于我实际上没有选择驱动器引起的。我会将选择条移动到我想要的位置,然后按Enter键。我应该先按空格键,使选择前面出现一个星号。在我做了那个之后,它就被视为“已选择”,并且会让我退出循环。 - spoorlezer

这个问题在我升级Ubuntu 16.04之后仍然存在,即使是全新安装。要修复它,请按照以下步骤操作:
  • 选择/dev/sda是正确的,所以按下空格键选择第一个选项。
  • 出现星号表示成功选择了/dev/sda选项。
  • 然后按下Tab键来突出显示“确定”按钮,然后按下空格键选择确定操作。
完成这些步骤后,安装应该顺利进行。

1只有当它显示一个“Bash菜单”或对话框时,才适用于此情况。在Ubuntu桌面环境的示例中,你可以使用鼠标指针点击复选框。 - Azteca
2是的...这个 grub bug 今天仍然存在,甚至在亚马逊 EC2 Ubuntu 20.04 和我的 Ubuntu 20.04 笔记本上也是如此...这里有一篇关于当前安全 grub bug 的文章 "Grub2 安全更新导致系统无法启动 - https://news.ycombinator.com/item?id=23999212"。 - Scott Stensland