Найти загрузчик

Найти загрузчик

Из любопытства, можно ли узнать, какой загрузчик использовался для запуска данной системы? Система была загруженаGRUB,ЛИЛОили любой другой загрузчик?

Полагаю, должна существовать какая-то /sysпеременная /procдля этого?

РЕДАКТИРОВАТЬ:

Сводка информации о загрузке: => Lilo установлен в MBR /dev/sda

сда1: ___________________________________________________________________

File system:       
Boot sector type:  Unknown
Boot sector info:
Mounting failed: mount: unknown filesystem type ''

/dev/sdaэто единственное устройство, с которого мне приходится загружаться.

Интересно, если на единственном доступном разделе нет известной файловой системы, то как ему удалось загрузиться?

решение1

Я не верю, что эта информация отслеживается осмысленным образом в /sysили /proc. Единственный способ, которым я могу представить, чтобы это было доступно вам после загрузки, — это опрос системы, либо путем проверки наличия файла конфигурации GRUB или Lilo, либо путем использования скрипта, такого какbootinfoscript.

Пример - проверка загрузочного устройства

Если вы знаете, с какого устройства была загружена ваша система, вы можете использовать его ddдля сброса содержимого загрузчика, а затем grepдля GRUB или LILO.

                      сс #1

Чтобы определить, используете ли вы GRUB или LILO, можно использовать следующие команды:

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

Какой бы из этих загрузчиков вы ни использовали, он и будет возвращать эту строку:

Binary file (standard input) matches

Пример - использование bootinfoscript

$ sudo ./bootinfoscript --stdout
                  Boot Info Script 0.61      [1 April 2012]


============================= Boot Info Summary: ===============================

 => Grub2 (v1.99) is installed in the MBR of /dev/sda and looks at sector 1 of 
    the same hard drive for core.img, but core.img can not be found at this 
    location.

sda1: __________________________________________________________________________

    File system:       ext4
    Boot sector type:  -
    Boot sector info: 
    Operating System:  
    Boot files:        /grub2/grub.cfg
    ...

Однако ни один из этих подходов не является «окончательным», поскольку несколько загрузчиков могут сосуществовать, но, по крайней мере, он дает вам приблизительное представление о загрузчиках, которые «могут» использоваться.

Рекомендации

решение2

Видетьэтот. Однако этот скрипт написан на Bash, поэтому если вам нужно запустить его на встроенной платформе, вам придется его модифицировать. Я протестировал этот скрипт, и он правильно распознал GRUB на Ubuntu и LILO на Slackware.

решение3

Чтобы получить идентификатор загрузчика, используйтетип_загрузчика

echo $((`cat /proc/sys/kernel/bootloader_type`>>4)) 

Найди свойидентификатор загрузчика

Связанный контент