Операционная система Free BSD

Неисправности в процессе загрузки


Нормальному протеканию процесса начальной загрузки системы могут препятствовать следующие дефекты и ошибки:

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

Неисправности аппаратных средств

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

Дефектные блоки начальной загрузки

Как правило, в устройство управления ПЗУ машины встроена информация о том, как выполнять начальную загрузку системы.

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

В этом случае попробуйте загрузить систему с дистрибутивов, (это могут быть гибкие диски, CD-ROM) и запустить shell, не выполняя инсталляцию программного обеспечения. Если Вы сможете смонтировать свои файловые системы из этого состояния, то Вам, возможно, понадобится просто реинсталлировать блоки начальной загрузки. Если это невозможно, попробуйте с помощью дистрибутивов продолжить начальную загрузку и смонтировать корневую файловую систему. Если это удастся и система заработает, можно реинсталлировать блоки начальной загрузки обычным способом.

Повреждение файловых систем

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

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

Если Вы подозреваете, что испорчена файловая система, попробуйте загрузить систему в однопользовательском режиме. Если это сделать невозможно, значит, в системе возникли серьезные проблемы. Может быть, удастся загрузиться с дистрибутива и проверить корневой раздел с помощью fsck. Если некоторые важные файлы пропали, можно восстановить их с дистрибутива.




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

Неверная конфигурация ядра

Перестраивая и заменяя ядро, Вы каждый раз рискуете тем, что оно однажды перестанет работать, и Вы окажетесь в очень затруднительном положении. Обязательно примите меры по обеспечению возможности загрузки старого ядра на случай неожиданной проблемы. Рекомендуется держать старое ядро системы под рукой даже в повседневной работе (назовите его, скажем, kernel.super.old, и пусть оно лежит себе спокойно рядом с повседневным kernel в корневом каталоге, и ждет "своего часа").

Ошибки в сценариях запуска

Ошибки в сценариях являются самыми распространенным препятствием для успешного осуществления процесса начальной загрузки. Такие ошибки устраняются легче всего. Необходимо идентифицировать ошибку и устранить ее так же, как при отладке любого другого сценария shell, но в однопользовательском режиме.

Вопрос: Где расположены файлы конфигурации системы?

Ответ: Для FreeBSD конфигурационным файлом является /etc/rc.conf. Все параметры указываются здесь, а остальные конфигурационные файлы /etc/rc* просто его используют.

Посмотрите файл /etc/rc.conf и измените значения переменных на соответствующие вашей системе. В файле содержатся комментарии, описывающие смысл этих переменных и способ их задания.

Файл /etc/rc.local можно использовать для запуска дополнительных локальных служб или для настройки дополнительных параметров.

Файл /etc/rc.serial предназначен для инициализации коммуникационных адаптеров (например, установки характеристик работы последовательных портов).

Файл /etc/rc.i386 предназначен для настройки специфичных для архитектуры Intel параметров, таких, как эмуляция iBCS2 или характеристик системной консоли ПК.



В каталоге, указанном в файле /etc/rc.conf, вы можете создавать свои файлы автозапуска:

# Location of local startup files. local_startup=/usr/local/etc/rc.d


Каждый файл, оканчивающийся на .sh, будет запущен на выполнение в алфавитном порядке.

Это простой и понятный метод для добавления дополнительных служб без редактирования файла /etc/rc.local. Многие порты/пакаджи предполагают, что каталог /usr/local/etc/rc.d предназначен для размещения запускаемых при загрузке системы скриптов.

Вопрос: Как запретить перезагрузку по клавишам Control-Alt-Delete?

Ответ: Если вы используете драйвер консоли syscons (который является стандартным) во FreeBSD 2.2.7-RELEASE и выше, перегенерируйте и установите новое ядро со строчкой options SC_DISABLE_REBOOT

в конфигурационном файле. Если же вы используете драйвер консоли PCVT во FreeBSD 2.2.5-RELEASE и выше, то укажите следующую строку в конфигурационном файле: options PCVT_CTRL_ALT_DEL

Вопрос: Как перечитать содержимое /etc/rc.conf и перестартовать /etc/rc без перезагрузки системы?

Ответ: Перейдите в однопользовательский режим, а затем возвратитесь обратно в многопользовательский.

На консоли выполните следующее: # shutdown now (Замечание: без -r или -h)

# return # exit


Нормальному протеканию процесса начальной загрузки системы могут препятствовать следующие дефекты и ошибки:


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


Неисправности аппаратных средств

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

Дефектные блоки начальной загрузки

Как правило, в устройство управления ПЗУ машины встроена информация о том, как выполнять начальную загрузку системы.

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



В этом случае попробуйте загрузить систему с дистрибутивов, (это могут быть гибкие диски, CD-ROM) и запустить shell, не выполняя инсталляцию программного обеспечения. Если Вы сможете смонтировать свои файловые системы из этого состояния, то Вам, возможно, понадобится просто реинсталлировать блоки начальной загрузки. Если это невозможно, попробуйте с помощью дистрибутивов продолжить начальную загрузку и смонтировать корневую файловую систему. Если это удастся и система заработает, можно реинсталлировать блоки начальной загрузки обычным способом.

Повреждение файловых систем

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

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

Если Вы подозреваете, что испорчена файловая система, попробуйте загрузить систему в однопользовательском режиме. Если это сделать невозможно, значит, в системе возникли серьезные проблемы. Может быть, удастся загрузиться с дистрибутива и проверить корневой раздел с помощью fsck. Если некоторые важные файлы пропали, можно восстановить их с дистрибутива.

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

Неверная конфигурация ядра

Перестраивая и заменяя ядро, Вы каждый раз рискуете тем, что оно однажды перестанет работать, и Вы окажетесь в очень затруднительном положении. Обязательно примите меры по обеспечению возможности загрузки старого ядра на случай неожиданной проблемы. Рекомендуется держать старое ядро системы под рукой даже в повседневной работе (назовите его, скажем, kernel.super.old, и пусть оно лежит себе спокойно рядом с повседневным kernel в корневом каталоге, и ждет "своего часа").

Ошибки в сценариях запуска

Ошибки в сценариях являются самыми распространенным препятствием для успешного осуществления процесса начальной загрузки. Такие ошибки устраняются легче всего. Необходимо идентифицировать ошибку и устранить ее так же, как при отладке любого другого сценария shell, но в однопользовательском режиме.


Содержание раздела