Archlinux — KernelPanic (перевод из Wiki)

Kernel Panics

Эта статья описывает как восстановить компьютер после ошибки ядра во время загрузки. Статья посвящена простым проблемам взаимодействия ядра OS и первичных модулей загрузчика ядра (Вопросы касающиеся графического окружения, работы аппаратной части — рассматриваются в других статьях. Сэкономьте ваше время если эта статья вам не нужна)

Определение

Хорошее определение краха ядра можно найти в википедии, в которой говорится, что Kernel Panic — вывод системой информационного сообщения об неустранимом сбое в работе, который не позволяет дальнейшей безопасной работе всей ОС; термин во многом специфичный для Unix и Unix-подобных операционных систем. Его эквивалент в системах Microsoft Windows  — «синий экран смерти».

Что делать

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

Поиск проблемы

Для упрощения устранения неисправностей, убедитесь, что ядро не в тихом режиме. Удалить «тихий» режим из ядра можно в GRUB, если он у вас есть. После загрузки, проверьте вывод непосредственно перед паникой, и решите, есть ли в нем какая-то полезная информация. Вероятно что есть,большинство причин паники документировано в википедии arclinux. Убедитесь что в конфигурации загрузки указано верное расположение корня системы-  «/», и что ни одно из комплектующих компьютера не повреждено. Неплохой идеей будет запустить MemTest от c установочного диска Arch / Rescue CD или другую утилиту. Если вы считаете, что в конфигурации указан неверно, попробуйте Вариант 1 для восстановления загрузчика установки. Если вы верите что паника ядра это вина самого ядра, выполните Вариант 2 для того, чтобы переустановить существующую версию или откатить ядро.

Вариант 1: Проверка кофигурации загрузчика

Одна из возможностей — это ошибка в конфигурации загрузчика (например, / Boot / GRUB / menu.lst).

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

Вариант 2: Переустановка ядра

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

Запуск с установочного CD

Первый шаг — запуск установочного CD.Когда запустите, наберите arch, тем самым вы запустите установку arch.

# arch

Chroot в нормальный корень

После загрузки вы окажитесь в минимальной, но функциональной рабочей версии GNU/Linux окружения с несколькими простыми утилитами в комплекте.Теперь примонтируйте ваш корневой раздел в директорию /mnt.

# mount /dev/sdXY /mnt

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

# mount /dev/sdXZ /mnt/boot

Новые ядра запускают ramdisk для установки окружения ядра. После переустановки ядра вы увидите что  запуск ramdisk был спровоцирован mkinitcpio. Одна из возможностей mkinitcpio’s — знать что ядро требует из модулей для своей загрузки. Для автоопределения и работы этой системы монтируем директории в наш подмененный корень (chroot) директории /dev, /sys и /proc :

# mount -t proc none /mnt/proc
# mount -t sysfs none /mnt/sys
# mount --bind /dev /mnt/dev

Теперь делаем chroot в этот диск:

# chroot /mnt

Откат ядра

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

Давайте предположим что оно у вас уже есть:

# pacman -U /var/cache/pacman/pkg/kernel26-2.6.23.xx-x.pkg.tar.gz

Конечно, убедитесь, что вы адаптировали ядро для себя

В противном случае — проверьте ваш CD на наличие пакетов с ядром. Например, в версии 2008.06 i686 компакт-диск содержит addons/core-pkgs/kernel26-2.6.25.6-1-i686.pkg.tar.gz.

Перезагрузка

Теперь время перезагрузиться и посмотреть — имел ли какой-то смысл ваши действия по предотвращению паники ядра. Если вернулись к старому рабочему ядру — не забудьте посмотреть ARCH-NEWSPAGE, чтобы проверить, что изменилось в последней версии ядра для локализации вашей проблемы.

Оцените статью
( Пока оценок нет )
Блог админа