8

На компьютере с Debian Linux я сталкиваюсь с очень странной ситуацией, когда после включения GRUB завершается с ошибкой "нет такого раздела", но если я нажимаю кнопку сброса, он загружается нормально. Я пытаюсь диагностировать ситуацию, и я понял, что не знаю, какие версии каких загрузчиков установлены и где? Как я могу узнать? То есть, как я могу узнать, какой загрузчик установлен на MBR каждого из моих дисков, и как я могу узнать, какие загрузчики второго уровня установлены на различных разделах?

Если я не могу точно узнать, что у меня есть, я бы согласился узнать, какая версия GRUB установлена и где.

2 ответа2

12

Вы можете увидеть, установлен ли GRUB (1 или 2) на MBR с помощью dd:

dd if=/dev/sda bs=512 count=1 2> /dev/null | grep -q GRUB && echo "GRUB found"

Если подпись GRUB была найдена, вы можете запустить:

file -s /dev/sda

Если вывод что-то вроде:

/dev/sda: загрузочный сектор x86; GRand Unified Bootloader, stage1 версия 0x3 ...........

тогда у вас есть GRUB1, установленный на MBR. Если нет упоминания о Grub, вот так:

/dev/sda: загрузочный сектор x86; раздел 1: ID = 0x83, активный, стартовый заголовок 32, стартовый сектор 2048 ........

тогда у вас установлен GRUB2 на MBR этого диска.

Чтобы найти необходимые файлы GRUB ("этапы" для GRUB1, "изображения" для GRUB2):

GRUB1:

конфигурационный файл:

find / -name menu.lst

этапы:

find / -name stage1

или же

find / -name stage2

GRUB2:

конфигурационный файл:

find / -name grub.cfg

изображений:

find / -name core.img

или же

find / -name boot.img
5

Вы можете использовать http://bootinfoscript.sourceforge.net, который дает вам подробную информацию о вашем состоянии загрузки и сообщает, где и где установлен загрузчик, в сочетании с большим количеством подробной информации, относящейся к загрузке. Он доступен в Debian в виде пакета boot-info-script.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .