LINUX.ORG.RU

Ядро перестало загружаться без nosmp. BIOS виснет на Verifying DMI pool...

 


0

1

Работал домашний комп без обновлений (ядра и initrd, остальное пока не важно), без изменений в железе и т.п. пару лет. Потом при очередном выключении питания — не грузится. BIOS «зависает» на Verifying DMI pool... Шаманства с вытаскиванием батарейки CMOS'а и т.п. ничего не дают. Такое впечатление, что он что-то считывает с любого из винтов (рейд софтверный, а бут-раздел на каждом просто продублирован) и вешается (по крайней мере дело до надписи «Grub» не доходит). Помнится такое было когда компьютер собирал, но потом какие-то шаманские действия и всё заработало.

Загрузил grub с usb. Загружаю ядро с винта: root (hd1,1), linux /vmlinuz<TAB> root=/dev/mapper/root ro single, initrd /initrd<TAB>. Ядро запускается, пишет что-то про APIC и, вроде, про попытку включения второго CPU. Секунд 5 думает, потом быстро (не прочитать) бегут надписи и перезагрузка. :-( Долго мучался, опытным путём нашёл, что с nosmp всё загружается и работает. Только CPU один, что не радует.

Да, memtest ошибок не видит.

Что это может быть? Или как можно продиагностировать? Я допускаю, что за время аптайма (последний аптайм несколько месяцев) что-то тихонько могло подохнуть, например. Или же grub с флешки какой-то плохой и не умеет запускать smp ядра? (на диске он другой версии — точно). Существуют ли современные (мне только checkit на ум приходит) тесты для матьплаты и CPU?

Можно как-то остановить linux, когда он перезапускается без nosmp, чтоб написал в чём дело? panic=60 не помогает.

Пробовал в grub делать root (hd1), chainloader +1, boot — виснет. По-моему оно должно запускать grub с винта. Интересно, почему... hexedit показывает какие-то следы загрузчика на одном винте, на другом действительно в MBR только таблица разделов. Может в силу каких-то причин BIOS всегда (когда Verifying DMI pool) грузится только со второго (хотя порядок загрузки менял)? Или до сих пор есть глючные BIOS, зависающие от вида таблицы разделов без винды, от 500ГБайт винтов и т.п. ?

Где взять 100% работающий grub для записи на usb? Может дистрибутивный (debian testing) чем-то плох?


Шаманства с вытаскиванием батарейки CMOS'а и т.п. ничего не дают.

Если ты собирал компы, то, надеюсь, знаешь, что, чтобы сбросить CMOS 1) отключают от питания (из розетки), 2) вытаскивают батарейку 3) ждут минут 5-10 (конденсаторы ведь тоже заряд умеют хранить) 4) вставляют батарейку. А вообще это ерунда, потому как можно сделать в BIOS «Load Defaults» и «Load FailSafe Defaults». Попробуй.

Судя по тому что гоаорит google - проблема может быть с загрузочным диском. Переставь grub (grub-install) или вообще отключи HDD и загрузись с LiveDVD. Также замени шнурок на загрузочном девайсе.

Если проблема в железе можно сделать такую профилактику:
1. Глянь на материнку на предмет дутых конденсаторов (да и на другие платы, я у себя на видяхе находил)
2. Разбери комп (только материнку и проц не обязательно вытаскивать), протри пыль влажной тряпкой (только дай высохнуть), если компу более 3 лет - протри резинкой PCI контакты.
3. Еслиу тебя SATA - замени шнурки.

Если не помогает - нужна более детальная диагностика: отключить все что можно отключить и с минимумом загрузаиться. Дальше смотреть по ситуации.

Вообще Google в помощь, например здесь: http://www.computerhope.com/issues/ch000474.htm

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

Ну я не совсем идиот и ставить перемычку «reset cmos» умею. И ведь сбрасывает.

«проблема может быть...» — это всё словоблудие. Какая проблема именно? Код ошибки и т.п. Какие шнурки? Я же дал понять — после nosmp всё работает. И до того работало месяцами. И сейчас работает. А тут один сектор не считать — не смешно? Конденсаторы твердотельные — не дуются. Всё воткнутое в PCI не имеет отношения к загрузке.

Ссылка дурная и расчитана на идиотов.

«Если проблема в железе» — я и спрашиваю, существуют ли современные тесты. Мне только checkit вспоминается, но сейчас не 1991г.

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

это всё словоблудие

Предложи лучше.

Какая проблема именно?

Это ты мне скажи.

Код ошибки и т.п

BIOS дает ошибки? Лог линуксового ядра можешь дать? Если да - давай.

Какие шнурки?

SATAшные. Это типовая проблема - через некоторое время SATAшнурки то ли теряют контакт то ли что-то еще. Учитывая, что в ненавистном тобой гугле было сказано что проблема может быть связана с загрузочными утройствами, предлагаю поменять (хотябы на время) SATA шнурки.

Я же дал понять — после nosmp всё работает

Если проблема _имненно_ SMP - меняй мать и проц - это отвечает за SMP. Такая рекомендация подходит? Если нет - давай проверять то, что менее вероятно, но тем не менее может решить проблему.

А тут один сектор не считать — не смешно?

А CRC ошибки ловить при обращении к винту - все еще улыбает? Если в SATA посылать вполне осознанные комманды «Ау! Здесь есть жесткий диск?» а в ответ получать мусор - я б на месте BIOS тоже расстроился. Это еще од какого-лило чтения!

Всё воткнутое в PCI не имеет отношения к загрузке.

Рассказывай! Вспомни чем занимается BIOS.

я и спрашиваю, существуют ли современные тесты

Memtest, cpuburn, mhdd . Что еще можно тестировать?

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

BIOS дает ошибки? Лог линуксового ядра можешь дать? Если да - давай.

Если бы BIOS не писался слепыми китайскими гастарбайтерами, то может и давал бы коды ошибок. Но те времена кончились во время когда 386 обходился без радиатора.

Лог ядра, как я понял, без COM-порта не получить. А с этим сложно... :-( Я понимаю, можно воткнуть карточку (PCI), BIOS её проинитит и linux с ней сразу заработает. Ещё нужно USB-COM переходник для ноута и нуль-модемный кабель.

SATAшные. Это типовая проблема - через некоторое время SATAшнурки то ли теряют контакт то ли

grub через BIOS с ними значит нормально работает, а BIOS через «шнурок» единственный сектор не может считать 10 раз подряд, да?

Если проблема _имненно_ SMP - меняй мать и проц

И получить то же самое? Спасибо, не надо. Предпочёл бы вариант с linux в ПЗУ...

А CRC ошибки ловить при обращении к винту

Нет ошибок. Точка. Ты ещё windows посоветуй переустановить. Как выглядят ошибки в syslog я видел. Так вот их там нет. И smart смотреть умею.

Рассказывай! Вспомни чем занимается BIOS

Для этого в биосе есть пункт выключения ПЗУ карт. Кроме того, если их не было там 2 года назад, то и не появились. И наконец, тогда бы с «флешки» не грузилось. И вообще много факторов. В PCI-express шина тоже уже последовательная и получить волшебные глюки из-за контакта там уже сложно, скорей просто работать не будет.

Что еще можно тестировать

over9000 функций чипсета. Какой-нибудь «Gate A20» доставшийся в наследство от 286 отвалился. Ввиду отсутствия даже DOS я об этом никогда не узнаю. Но, может быть, это жизненно важная функция в какой-то фукции BIOS (я про SMP).

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

Лог ядра, как я понял, без COM-порта не получить.

netconsole

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

Для этого в биосе есть пункт выключения ПЗУ карт.

Прикольно. Не знал что такое бывает.

BIOS через «шнурок» единственный сектор не может считать 10 раз подряд, да?

Причем здесь сектор? Может идентифицировать не может или в какой-то режим перевести. Лично у себя наблюдал такое, что когда хард определяется, он вместо своего названия выдает мусор. Делаешь ресет - все хорошо.

Вот здесь: http://pchelpforum.ru/f41/t24092/ человек решил проблему заменой харда. Притом по его словам Акронис не нашел ошибок.

over9000 функций чипсета. Какой-нибудь «Gate A20» доставшийся в наследство от 286 отвалился.

Сомневаюсь что какая-то одна функция чипсета может отвалиться. Чипсеты как раз горят (пробиваются) полностью. Ну, или шина какая-то повреждается - те же контакты; коррозия - процесс постоянный и если у тебя только не позолоченные контакты - наура.

Еще раз: замени SATA шнурок, если можешь - подмени винт, повытаскивай платы, протри резинкой контакты. Я думаю это несложная операция, займет минут 20. В любом случае - хорошая профилактика компа. А если еще и подключать все будешь поочереди - большой шанс что найдешь причину поломки.

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