Я запускаю 64-разрядную версию Debian Lenny на сервере HP с процессором Intel Core 2 Duo. Он загружается с LILO, а не с GRUB, потому что он имеет корневой раздел XFS. До сегодняшнего дня у него было 3 ГБ (2x 512 МБ и 2x 1 ГБ) ОЗУ ECC. Я иногда получал ошибки ECC от EDAC в одном слоте, но, поскольку у меня не было сбоев, я не слишком беспокоился.
Сегодня я попытался выполнить обновление прошивки Seagate, которое Seagate рекомендовала для двух дисков (только данные, а не /), которые находятся в массиве RAID-1 в mdadm на этой машине. Мне не удалось это сделать или даже добраться до README для этого диска, так как он загружался бесконечно. Мне это надоело и я попытался перезагрузить систему. Он завис после трех строк ... s от LILO.
Я подумал, что, вероятно, у меня плохая оперативная память из-за ошибок ECC, поэтому я пробовал много разных конфигураций (с 6 модулями DIMM, четыре упомянутых плюс 2 модуля DIMM без ECC, очевидно, не одновременно), но не смог получить его. загрузки.
Я запустил memtest86, надеясь изолировать плохую RAM. Это приводило к одной и той же ошибке каждый раз в тесте № 2 memtest86, независимо от того, какой модуль DIMM я использовал и какой слот. Он всегда возвращал 3 ошибки в первом занятом слоте ОЗУ. Я не могу разобраться в возвращаемых им ошибках, но могу указать их здесь, если это актуально.
При попытке загрузить Debian с основного диска после этого даже не отображалось слово «LILO». Просто зависает с мигающим курсором. Это, вместе с тем фактом, что каждый раз возникали ошибки памяти, заставило меня поверить в то, что что-то не так с материнской платой или процессором.
Однако, как ни странно, Knoppix успешно загружается и работает без проблем. Я не могу запустить lilo, потому что Knoppix 32-битный, а система 64-битная. Но это заставляет меня сомневаться в некоторых из вышеперечисленных вещей - конечно, Knoppix не может работать с ошибками RAM или плохим процессором?
Похоже, слот на материнской плате плохой. Если можете пропустить использование первого слота, попробуйте это и посмотрите, что произойдет. Если проблем нет, значит, проблема в значительной степени подтверждена.
Проверьте, нет ли грязных контактов, грязи в гнезде и т. Д. Возможно, вам повезет, и это что-то такое простое.
Если у вас есть запасная коробка, попробуйте вставить в нее таран, запустить memtest и посмотреть, что произойдет.
Я полностью согласен с David
анализ.
Использовали memtest86 (прямо из Ubuntu LiveCD тоже), чтобы изолировать ошибки RAM.
Эти примечания по устранению неполадок на страницах memtest86 + тоже хорошо читают.
Я подозреваю, что диск, контроллер диска или шина используются контроллером. Если вы ошиблись перед L в LILO, значит, раздел с LILO считывается успешно. Knoppix не должен иметь с этим дело, поэтому он загружается нормально. Вы можете смонтировать что-нибудь из Knoppix?
Ошибки памяти очень «ненадежны». Вот почему программное обеспечение иногда может работать даже с неисправной оперативной памятью.
Иногда биты ошибок таковы, что не вызывают ошибок. Одним из примеров может быть, если в этих местах просто хранятся дополнительные биты заполненных данных, которые были там, чтобы гарантировать выравнивание памяти, но фактически не используются программным обеспечением. Даже если он использовался для хранения реальных программ, это могут быть только те биты инструкции, которые на самом деле не являются необходимыми или декодируются процессором. Большинство современных ПК будут иметь блок управления памятью (MMU), который осуществляет перевод между физической и виртуальной памятью. Таким образом, хотя неисправная оперативная память является начальной частью памяти, она, по существу, не может использоваться программным обеспечением, которое обращается к этому конкретному блоку ОЗУ.
Однако, как говорили другие, скорее всего, это неисправный слот. Не используйте этот слот, если он окажется неисправным. Если это фиксированная область ОЗУ, вы можете даже избежать ее использования, отметив область BADMEM в ядре Linux.
Ошибки RAM вернутся и укусят вас рано или поздно.