如何找出我拥有的引导加载程序?


21

我知道Grub是在安装Ubuntu时默认安装的Grub,但是我面对的是运行9.10 Desktop Edition的嵌入式系统。以下是lsb发布文件的内容

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

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


wiki.debian.org/BootLoader列出了Debian中所有可用的引导加载程序,如果您想检查每个引导加载程序的话。系统是什么拱门?只是发表评论,因为这不是一个正确的答案……
andrewsomething 2011年

Answers:



13

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

如果您有/boot/grub/目录,那么您正在使用GRUB(大统一引导加载程序),这意味着您应该能够使用所有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的发行版)
此外,如果你要查看实际的二进制输出,然后将-a添加到grep部分。例如:

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

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


不,没有这些。
2011年

为您更新了一个小的命令行。
Luis Alvarado

如果设置了急救分区sda1,也请尝试循环浏览sda2等等。
2015年

如何确定我是否使用VPS,但此方法不起作用?(设备为/ dev / simfs,命令不产生任何输出)
thegeko '17

@thegeko这是一个非常大的问题,因为它取决于你的供应商,他们正在使用的软件,他们提供的即服务(IaaS,PaaS的,马斯河,云,专用,虚拟,等..)
路易斯·阿尔瓦拉多

3

使用dd命令读取引导扇区,然后使用grep了解您的引导加载程序:

dd if=/dev/hda bs=512 count=1 2>&1 | grep GRUB
dd if=/dev/hda bs=512 count=1 2>&1 | grep LILO

1

通过从工具本身查询版本(与使用低级dd或其他构件相比),您可以更安全地进行检查。

例如,测试lilo:

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

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

当然,如果两个都安装了,则将无法使用。在这种情况下,为避免混淆,请卸载不需要的组件。


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.