Yandex
Обновяване на предпочитанията за бисквитки

Как се стартира сървърът

Дори опитни системни администратори понякога изпитват затруднения да разберат всички стъпки, които се извършват по време на стартирането на сървъра. Ето защо решихме да разгледаме този процес в детайли. За по-голяма яснота нека разгледаме стартирането на сървъра с 64-битов процесор Intel; в режим Legacy; разделяне на диска на MBR; зареждащ модул GRUB2.

Стартиране


Сървърът може да се включи по различни начини, като основният е натискането на бутона за включване. Има и други възможности, като например активиране чрез мрежа или външни устройства. Първите методи изискват интелигентен подход и изпращане на команди чрез шини за данни.

Нулиране


Първият етап от стартирането на оборудването е да се активира захранването и да се зададе сигнал за нулиране на процесора. Генераторът на честота на процесора се спира и регистрите се нулират до първоначалните стойности, зададени от производителя.

При включване на захранването настъпват временни промени, които могат да доведат до временно превишаване на допустимите граници на изходното напрежение, което има отрицателен ефект върху процесора. Поради това сигналът за нулиране не се премахва, докато захранването не се стабилизира.

Стабилизиране


След като напрежението се стабилизира, се задава сигналът Power Good. Това показва, че дънната платка може да стартира всички компоненти на сървъра. След това чипсетът се обръща към всички свързани устройства, сигналът за нулиране се изчиства и се стартира генераторът на честота на процесора.

Какво е BIOS


Това е система, която осигурява управление на софтуерния интерфейс за взаимодействие с хардуер и устройства. Основната задача на BIOS е да инициализира и проверява хардуера веднага след стартирането на сървъра.

BSP


Когато сървърът се включи, се активира само едно ядро на един процесор - базовото процесорно ядро (BSP). Другите ядра остават в режим на готовност. След като сигналът Reset изчезне, регистрите на процесора се настройват в определено състояние, така че процесорът да може да функционира в специален 32-битов начален процесорен режим.
В този режим процесорът може да изпълнява инструкции, предназначени за 32-битови системи и да използва 4 GB адресно пространство.

Reset Vector


Когато сигналът за нулиране е активиран, броячът на инструкциите на процесора сочи към адрес 0xFFFFFFFFFFF0, който е известен като вектор за нулиране. Това е първата инструкция, която процесорът декодира и изпълнява.

В режим Legacy тази инструкция е Far Jump към сегмента от паметта, съдържащ кода на BIOS. След като тя бъде изпълнена, процесорът влиза в 16-битов реален режим и започва да изпълнява кода на BIOS.

Real Mode


Това е режим на съвместимост за старите 16-битови процесори, който предлага достъп само до 16-битови инструкции и ограничава долното адресно пространство на паметта до 1 MiB.

BIOS, който съдържа изпълним код, се съхранява на външно устройство с ограничена скорост на достъп. Той инициализира RAM паметта и копира кода си от ROM в нея, за да ускори работата. BIOS е съвместим с по-старите процесори, така че изпълнява всички операции в 16-битов режим.

POST - разрешаване на автоматичното тестване


POST е критичен етап от работата на BIOS. Той може да бъде кратък или пълен тест. Пълното тестване включва проверка на всички налични контролери и тестване на цялата оперативна памет, което може да отнеме значително време.

Опростеното тестване при включване ускорява процеса на зареждане и включва само минимално необходимите стъпки:

  • проверка на целостта на софтуера на BIOS в ROM паметта с помощта на механизма за проверка на контролната сума;
  • откриване и инициализиране на основните контролери, системните шини и свързаните устройства;
  • определяне на размера на оперативната памет и тестване на първия сегмент (64 килобайта);
  • прехвърляне на управлението към зареждащия модул.

Показването на текущия POST код се счита за най-информативния метод за получаване на данни за възможни неизправности. Ако тестовете са успешни, кодовете се сменят бързо, но в случай на повреда POST спира, като показва идентификатора на неуспешния тест. Съвременните дънни платки са оборудвани със светодиодна индикация, която помага да се идентифицира повреден компонент.

Успешното стартиране на зареждането се съпровожда от звуков сигнал. Продължителността и броят на звуковите сигнали също могат да се използват за идентифициране на проблем в системата.

В редки случаи можете да използвате външно устройство - POST карта. Дънните платки предават информация за POST теста чрез шини за данни, а POST картата обработва тази информация и показва резултатите на наличните индикатори.

BIOS Setup Utility


Това е специално меню за конфигуриране в BIOS. За да го отворите, натиснете Del и F2 по време на POST. Комбинацията от необходимите клавиши винаги се показва по време на зареждане.
Един от важните параметри тук е Boot Priority (Приоритет на зареждане), който определя последователността на проверка на устройствата за информация за зареждане. Веднага щом бъде намерено подходящо устройство, контролът се прехвърля към зареждащото устройство и операционната система започва да се зарежда.

Буутлоудър


В наследен режим зареждащото устройство се нарича Master Boot Record (MBR) и заема първите 512 байта от диска, където може да се прочете основният код за зареждане - от 0 до 445 байта;
таблица на дяловете - от 446 до 509 байта; магическо число 0xAA55 - от 510 до 511 байта.

Ако числото 0xAA55 липсва, това означава, че MBR записът на този диск не е намерен, и BIOS преминава към проверка на следващия диск.

Когато BIOS намери MBR запис, той се копира в RAM паметта на адрес 0x7C00 и след това BIOS прави скок до този адрес. След това кодът на втория етап започва да се зарежда в паметта и управлението се предава на него. Тази част от данните заема 31 KB от паметта; в съвременните системи тя може да бъде разширена до 1 MB.

Зареждат се драйверите на файловата система; търси се третият етап; кодът се зарежда в оперативната памет и към него се предава управлението.

Задачите на третия етап са да се конфигурират минимално средата и зареждащото устройство:
поставяне на процесора в защитен режим; зареждане на инсталираните разширения на GRUB2; намиране на четвъртия етап и предаване на управлението му.

Защитеният режим е режим на съвместимост, предназначен за работа с процесори x86. Процесорът може да изпълнява 32-битови инструкции, а адресното пространство е разширено до 4 GB. В Protected Mode са въведени важни нововъведения: адресиране на страницирана памет; виртуална памет; защитни пръстени.

На четвъртия етап системата вече функционира в 32-битов режим. Ако е необходимо, от диска се зареждат разширения за графичния потребителски интерфейс, след което се обработва файлът grub.cfg и се появява познатото меню за избор на операционна система.

Ядро на операционната система


GRUB2 използва стандарта Multiboot за зареждане на изпълнимия файл на ядрото. Проверява се магическото число 0x1BADB002 в началото на ядрото и се проверява контролната сума, за да се провери съвместимостта със спецификацията. Ядрото се зарежда в операционната система и поема управлението.

Въпреки че зареждащото устройство може да използва файлови системи и графични драйвери, зареденото ядро не получава всички тях наведнъж. То освобождава пълния потенциал на сървъра и поставя процесора в Long Mode.

Long Mode


Основният режим на работа на 64-битовите процесори, който позволява изпълнението на 64-битови инструкции и използването на съответните регистри с общо предназначение.

Ядрото конфигурира адресирането на паметта на базата на страници. Зарежда необходимите драйвери и инициализира хардуера. Конфигурира графици за управление на паметта и изпълняваните процеси. Открива и стартира инициалния процес.

След като всички AP са инициализирани, планиращият процесор стартира специален "празен" процес. Сървърът става достъпен по мрежата и на екрана на конзолата се показва покана за вход.

Проблеми със сървъра при включване - как да поправя ситуацията?


  • Сървърът изобщо не се стартира - проверете захранването, производителността и целостта на компонентите.
  • Появява се син екран на смъртта (BSOD) - проверете съвместимостта на хардуера или стартирайте диагностика на операционната система.
  • Сървърът се стартира успешно, но някои услуги не работят - прегледайте регистрите, вероятно става въпрос за проблем с конфигурацията или неправилна конфигурация.
  • Мрежовата комуникация със сървъра не успява - проверете мрежовите настройки, хардуера и връзката.

Резюме


Стартирането на сървър със зареждане на операционна система е комплексен и сложен процес с много фини детайли. Преминаването му е своеобразна еволюция, която вашият подопечен трябва да завърши успешно.
04 Jul 2024, 19:21:45