我如何知道我拥有哪个引导加载程序?

我如何知道我拥有哪个引导加载程序?

我知道 Grub 是安装 Ubuntu 时默认安装的,但我面对的是运行 9.10 桌面版的嵌入式系统。以下是 lsb-release 文件的内容

ubuntu@ubuntu-desktop:/boot$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=9.10
DISTRIB_CODENAME=karmic
DISTRIB_DESCRIPTION="Ubuntu 9.10"

但该系统没有 Grub 引导程序,我想找出它使用的是哪一个。有什么想法吗?

答案1

如果您有该/etc/lilo.conf文件,则您正在使用 LILO(LInux LOader)。这意味着如果您输入lilo例如,您应该会看到 lilo 引导程序的命令对话框。

如果您有该/boot/grub/目录,则您正在使用 GRUB(Grand Unified Boot Loader)。这意味着您应该能够使用所有 grub 文件,如 grub-install、grub-reboot...

Ubuntu 9.10 是第一个使用 GRUB2 的版本https://help.ubuntu.com/community/DualBoot/Grub

更新:

下面是一个脚本,用于检查硬盘第一个扇区内正在使用的启动管理器:

假设你的硬盘位于 SDA,那么:

sudo dd if=/dev/sda bs=512 count=1 2>/dev/null | strings | grep -Eoi 'grub|lilo|acronis|reboot'

将告诉您正在使用哪个引导加载程序。

其余的你可以想象...
引导加载程序列表如下:http://en.wikipedia.org/wiki/Comparison_of_boot_loadershttp://wiki.debian.org/BootLoader(对于基于 Debian 的发行版)
此外,如果您想查看真实的二进制输出,请在 grep 部分添加 -a。例如:

sudo dd if=/dev/sda bs=512 count=1 2>&1 | grep -a GRUB它将显示第一个块中的数据。

现在有了这些新信息,您必须找到您正在使用的启动管理器。

答案2

启动信息脚本将检测有关启动配置的各种有用信息:

http://sourceforge.net/projects/bootinfoscript/

答案3

对于 GRUB,检查其版本的命令是:

grub-install -V

或者

grub-install --version

更多内容请见此处:
https://help.ubuntu.com/community/Grub2

答案4

通过从工具本身查询版本进行检查(比使用低级 dd 或其他工件)更安全。

例如,测试 lilo:

root# lilo -V
bash: lilo: command not found

root# grub-install --version
grub-install (GRUB) 2.02~beta2-22

当然,如果你同时安装了这两个软件,那么这个方法就行不通了。如果是这样,为了避免混淆,请卸载不需要的那些。

相关内容