LINUX.ORG.RU

Испорчен загрузчик grub, система не запускается

 , , , восстановление ядра


0

2

Здравствуйте!

Информация: ОС: Debian squeeze 6.0

Ситуация: Мне было необходимо пересобрать ядро с другими конфигурациями. Это я выполнил вполне успешно. Далее перезагрузился. Новое ядро не установилось автоматически, хотя везде пишут, что debian при установке ядра всё сам прописывает в Grub. Возможен ещё такой вариант, что ядро не собралось по-нормальному и Grub пропустил его, запустив старое нормальное ядро.

Вообще, я могу что-то и не понимать в этих процессах, так как столкнулся с ними три дня назад впервые. Прошу прощения, если написал несуразицу, но я хочу во всём это разобраться и восстановить машину как можно быстрее.

Если от меня нужна какая-то информация, прошу Вас, напишите, я её достану. Если возможно где-то прочитать информацию, которая сможет помочь мне, то тыкните, пожалуйста, меня туда носом, потому что ничего полезного за эти три дня я не нашёл.

Да, и если ядро не собралось, то где это можно определить? Собирал ядро из исходников в deb пакеты linux-image-version.deb, linux-header-version.deb.

Версия ядра: 3.3.1

С нетерпением жду любого ответа. Спасибо!


Ответ на: комментарий от tyakos

К сожалению, забыл написать, что сервер находится не дома, а в дата-центре. То есть доступа, кроме как по SSH, я к нему не имею.

a3om
() автор топика
Ответ на: комментарий от ArturK

Пробовал загружаться, но не выходит. Как бы было хорошо видеть, почему именно это просиходит.

a3om
() автор топика

Да, и если ядро не собралось, то где это можно определить?

Несобранное ядро само собой не установится! ССЗБ

ziemin ★★
()
Ответ на: комментарий от a3om

Тогда загрузись с livecd/live usb. Потом в терминале от рута вводишь chroot и удаляешь то ядро, которое установил (если установил)/устанавливаешь нормальное рабочее ядро. Монтируешь разделы, восстанавливаешь grub.

ArturK
()
Ответ на: комментарий от a3om

Если сервер не запускается и доступа по SSH к нему нет, то что вы ожидаете тут услышать?

tyakos ★★★
()
Ответ на: комментарий от a3om

но почему-то сервер не запускается с ним.

А вот с этого места поподробнее: логи, пароли, явки обстоятельства (типа резкого переноса ДЦ)!

ziemin ★★
()
Ответ на: комментарий от ArturK

Хорошо, попробую сделать как Вы сказали. Как сделаю - отпишусь. Спасибо!

a3om
() автор топика
Ответ на: комментарий от ArturK

Дело в том, что там есть «восстановление системы». То есть я могу подключиться к серверу как бы через LiveCD от другой ОС.

a3om
() автор топика
Ответ на: комментарий от ziemin

Я установил собранное мной ядро и прописал его вручную в Grub. Видимо, допустил ошибку и всё полетело.

a3om
() автор топика
Ответ на: комментарий от AITap

Собирал из исходников ядра 3.3.1 через make-kpkg. Целью была активация SYN_COOKIES.

a3om
() автор топика
Ответ на: комментарий от a3om

прописал его вручную в Grub. Видимо, допустил ошибку и всё

По моим личным ощущениям, ты прав. Я, прямо-таки помню себя новичком. Однако, что это значит "прописал его вручную"?Последний раз я прописывал "вручную" загрузчик в FBSD? кажись в седьмой.

ziemin ★★
()
Ответ на: комментарий от Extraterrestrial

Да, вы абсолютно правы :)

a3om
() автор топика
Ответ на: комментарий от Extraterrestrial

Нет, так как я испортил загрузчик.

a3om
() автор топика
Ответ на: комментарий от ArturK

Сделал, как Вы сказали. Сейчас в Grub прописано одно ядро.

Нужно ли устанавливать linux-headers и зачем это необходимо?

a3om
() автор топика
Ответ на: комментарий от a3om

Точно сказать нне могу. Без headers работать будет, мне их ствить пришлось, когда дрова пропиетарные на видяху ставил, наверняка ещё пригодятся, лучше поставить.

ArturK
()
Ответ на: комментарий от ziemin

Что мне пишет Grub:

/usr/sbin/grub-setup: warn: Attempting to install GRUB to a partition instead of the MBR. This is a BAD idea.. /usr/sbin/grub-setup: warn: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged.. /usr/sbin/grub-setup: error: if you really want blocklists, use --force.

Может быть я неправильно указываю <device>? Сейчас я под chroot.

Корневой раздел: /dev/sda3

a3om
() автор топика
Ответ на: комментарий от ArturK

Хорошо! Большое спасибо! Ставлю.

a3om
() автор топика
Ответ на: комментарий от a3om

Attempting to install GRUB to a partition instead of the MBR. This is a BAD idea..

instead of the MBR

Груб как-бе намекает, что, если он произведёт, указанную тобой операцию - он как-бэ станет «единственным» загрузчиком. И если у тебя, где-нибудь притаилась хрюша, то она нифига не загрузится.

ziemin ★★
()
Ответ на: комментарий от ArturK

Сейчас я установил два пакета: linux-image-amd64 (это версия ядра 2.6.32) linux-headers-amd64

Ядро в grub.cfg прописалось.

Выполнил отключение LiveCD, сделал перезагрузку сервера. Он почему-то не отвечает никаким образом, однако вроде как всё прописано и ядро должно было подгрузиться.

a3om
() автор топика
Ответ на: комментарий от a3om

Прошу прощения, сервер теперь жив, но в ответ на подключение по SSH пишет мне:

server unexpectedly closed network connection

В чём может быть проблема?

a3om
() автор топика
Ответ на: комментарий от Dron

Спасибо, но всё это я уже изучил... Но ничего не помогает.

Вот все мои действия:

Загрузился с LiveCD. Напомню, это сервер, доступ я имею к нему только через панель управления сервером. То есть экрана сервера я никак не увижу.

mkdir /old mount /dev/sda3 /old mount --bind /dev /old/dev mount -t proc none /old/proc mount -t sysfs none /old/sys

chroot old

mount devpts /dev/pts -t devpts mount /dev/sda1 /boot

update-grub grub-install

Ctrl + D

umount /old/boot umount /old/dev/pts umount /old/sys umount /old/proc umount /old/dev umount /old rm -R old

Что я неправильно делаю? По идее Grub восстановился, но почему тогда сервер не хочет запускаться? И да, «server unexpectedly closed network connection» пишется при выключении LiveCD. Но после полной перезагрузки сервер не работает. То есть в SSH ничего - ожидание и сообщение о таймауте.

a3om
() автор топика
Ответ на: комментарий от ziemin

И если у тебя, где-нибудь притаилась хрюша, то она нифига не >загрузится.

Загрузится. Не парь человеку мозг.

Dron ★★★★★
()
Ответ на: комментарий от Dron

Непосредственно меню груба: http://pastebin.com/GV4u95g1

В директории /boot находятся: initrd.img-2.6.32-5-amd64 vmlinuz-2.6.32-5-amd64

То есть всё на месте. Очень странно, почему не запускается.

a3om
() автор топика
Ответ на: комментарий от Dron

Мне кажется, я не имею доступа к «rescue mode». Это не одно и то же, что и запуск системы с LiveCD по смыслу?

a3om
() автор топика
Ответ на: комментарий от ziemin

Attempting to install GRUB to a partition instead of the MBR. This is a BAD idea..

instead of the MBR

Груб как-бе намекает, что, если он произведёт, указанную тобой операцию - он как-бэ станет «единственным» загрузчиком. И если у тебя, где-нибудь притаилась хрюша, то она нифига не загрузится.

Вообще-то с точностью до наоборот: в каждом разделе может быть по загрузчику, а вот MBR - один на всех. Т.е. груб будет установлен так, что систему загрузить не удастся, не прибегнув к доп. операциям.

В былые времена lilo не жаловался на установку в раздел. А груб, понимаете, настойчиво хочет в MBR, прям как XP. Разве что груб пока ещё можно отговорить.

gag ★★★★★
()

Эхъ, а как красиво было (да и сейчас есть) в лило! =)
Написал путь к ядру, одной командой установил... красота.

cadaber ★★
()
Последнее исправление: cadaber (всего исправлений: 3)

А может ли быть проблема с разделами? То есть с точки зрения LiveCD всё выглядит как нужно, а, загружаясь по-нормальному, grub путает разделы, или разделы сами по себе другие, и поэтому загрузка не происходит.

a3om
() автор топика

Что же, пришлось помучиться, переустановить Debian со всем, что там было... Жаль, что из-за одной ошибки происходят большие последствия в виде трёх бессонных ночей.

Большое спасибо, что уделили мне время.

a3om
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.