如何检查我的系统使用的引导加载程序?

如何检查我的系统使用的引导加载程序?
例如Lilo、Grub或Grub2。我该如何检查它?

Lilo 在 Linux 早期被使用。目前通常或者最新的是 GRUB 2。 - Ringtail
3个回答

假设您的引导磁盘为/dev/sda(通常是这样),您可以查看引导扇区以了解计算机启动的内容。
sudo file -s /dev/sda

这显示了一些关于位于/dev/sda(您的硬盘,通常是启动磁盘,如果您有多个)开头的信息。例如,我的硬盘开头是...
/dev/sda: x86 boot sector; GRand Unified Bootloader, stage1 version 0x3, …

显示我有Grub 2(这是现在Ubuntu上的默认引导加载程序)。
另一个要查看的地方是安装内核时运行的脚本。其中一个或多个脚本应该将新安装的内核注册到引导加载程序中。这些脚本位于/etc/kernel/postinst.d目录下。
通常,这两种方法会得到相同的结果。如果您有多个操作系统,并且Ubuntu的引导加载程序不是第一个加载的,而是由其他操作系统的引导加载程序调用的话,它们可能不会给出相同的结果。

额,但是你知道它是Grub2,还有一些你没有在这里包括的信息,对吧?因为我和你的开始是一样的,但是在这行中我看到了"GRUB版本0.97"。 - greenoldman
@greenoldman 我想你说得对。我不记得为什么写了这个。可能是因为我认为stage1版本可以表示Grub的版本,至少足够精确地区分Grub 0.9x和1.9x版本,但是版本3在0.9x和1.9x中都存在。 - Gilles 'SO- stop being evil'


如果
file -s /dev/sda

不起作用,请尝试

file -sk /dev/sda