Як завантажується комп`ютер з windows xp

Відео: якщо не завантажується WINDOWS XP, що робити?

Сьогодні проведемо короткий лікнеп - розповімо про те, як же насправді завантажується комп`ютер під управлінням операційної системи Windows XP.

Процес завантаження комп`ютера здавалося б вивчений нами до дрібниць: кнопка - BIOS - операційна система - логін ... А ти замислювався коли-небудь про те що ж насправді відбувається в цей час всередині твого комп`ютера? Можеш по кроках розповісти як працює комп`ютер? Упевнений, що немає. Тому сьогодні проведемо короткий лікнеп - розповімо про те, як же насправді завантажується комп`ютер.

Ця стаття розглядає роботу Windows XP, в інших системах процес, природно, дещо відрізняється.

Чи включається тумблер живлення.
Блок живлення проводить самодіагностику. Коли всі електричні параметри в нормі БП посилає сигнал Power Good процесора. Час між включенням харчування та доглядом сигналу зазвичай 0.1-0.5 секунд.

Таймер мікропроцесора отримує сигнал Power Good.
З отриманням цього сигналу таймер перестає посилати сигнал Reset процесора, дозволяючи тому включитися.

CPU починає виконувати код ROM BIOS.
Процесор завантажує ROM BIOS починаючи з адреси FFFF 0000. За цією адресою прописаний тільки перехід на адресу справжнього коду BIOS ROM.

Система виконує початковий тест заліза.
Кожна помилка, що зустрічається на цьому етапі повідомляється певними звуковими кодами (в минулому Біканов, зараз вже ймовірно більш сучасно - голосом), так як відео система ще не инициализирована.

BIOS шукає адаптери, які можуть зажадати завантаження свого BIOS-а.
Найтиповішим випадком в цьому випадку є відео карта. Завантажувальна процедура сканує пам`ять з адреси C000 0000 по C780: 0000, щоб пошуку відео ROM. Таким чином завантажуються системи всіх адаптерів.

ROM BIOS перевіряє вимкнення це чи перезавантаження.
Процедура два байта за адресою 0000: 0472. Будь-яке значення відмінне від 1234h є свідченням "холодного" старту.

Якщо це включення ROM BIOS запускає повний POST (Power On Self Test). Якщо це перезавантаження, то з POST процедури виключається перевірка пам`яті.
Процедуру POST можна розділити на три компоненти:

  • Відео тест ініціалізує відео адаптер, тестує карту і відео пам`ять, показує конфігурацію або виникли помилки.
  • Ідентифікація BIOS-а показує версію прошивки, виробника і дату.
  • Тест пам`яті перевіряє чіпи пам`яті і підраховує розмір встановленої пам`яті.



Помилки, які можуть виникнути в ході POST перевірки можна розділити на смертельні і не дуже :). У другому випадку вони показуються на екрані, але дозволяють продовжити процес завантаження. Ясно, що в першому випадку процес завантаження зупиняється, що зазвичай супроводжується серією біп-кодів.

BIOS читає конфігураційну інформацію з CMOS.
Невелика область пам`яті (64 байт) живиться від батарейки на материнської плати. Найголовніше для завантаження в ній - порядок, в якому повинні опрашиваться приводи, який з них повинен бути першим - дисковод, CD-ROM або вінчестер.

Якщо першим є жорсткий диск, BIOS перевіряє найперший сектор диска на наявність Master Boot Record (MBR). Для дисковода перевіряється Boot Record в першому секторі.
Master Boot Record - перший сектор на циліндрі 0, 0 голівці, 512 байт розміром. Якщо вона знаходиться, то завантажується в пам`ять за адресою 0000: 7C00, потім перевіряється на правильну сигнатуру - два останні байти повинні бути 55AAh. Відсутність MBR або цих перевірочних байт зупиняє процес завантаження і видає попередження. Сама MBR складається з двох частин - системного завантажувача (partition loader або Boot loader), програми, яка отримує управління при завантаженні з цього жорсткого диска-таблиці розділів (партіцій), яка містить інформацію про логічних дисках, наявних на жорсткому диску.

Правильна MBR запис записується в пам`ять і управління передається її коду.
Процес установки декількох операційних систем на один комп`ютер звичайно замінює оригінальний лоадер на свою програму, яка дозволяє вибрати з якого диска проводити решту завантаження.

Далі Boot Loader перевіряє таблицю партіцій в пошуках активною. Завантажувач далі шукає завантажувальний запис (Boot Record) на самому першому секторі розділу.
В даному випадку Boot Record це ще 512 байт - таблиця з описом розділу (кількість байт в секторі, кількість секторів в кластері і т.п.) і перехід на перший файл операційної системи (IO.SYS в DOS).


Операційна система




Управління передається операційній системі. Як же вона працює, як проходить процес завантаження?

Boot Record перевіряється на правильність і якщо код визнається правильним те код завантажувального сектора виконується як програма.
Завантаження Windows XP контролюється файлом NTLDR, що знаходиться в кореневій директорії системного розділу. NTLDR працює в чотири прийоми:

  1. Початкова фаза завантаження
  2. вибір системи
  3. визначення заліза
  4. вибір конфігурації

У початковій фазі NTLDR перемикає процесор в захищений режим. Потім завантажує відповідний драйвер файлової системи для роботи з файлами будь-якої файлової системи, яку підтримує XP.
Якщо хто забув, то наша улюблена ОСь може працювати з FAT-16, FAT-32 і NTFS.

Якщо в кореневій директорії є BOOT.INI, то його вміст завантажується в пам`ять. Якщо в ньому є записи більш ніж про одну операційній системі, NTLDR зупиняє роботу - показує меню з вибором і чекає вводу від користувача певний період часу.
Якщо такого файлу немає, то NTLDR продовжує завантаження з першої партіціі першого диска, звичайно це C: .

Якщо в процесі вибору користувач вибрав Windows NT, 2000 або XP, то перевіряється натискання F8 і показ відповідного меню з опціями завантаження.
Після кожної вдалої завантаження XP створює копію поточної комбінації драйверів і системних налаштувань відому як Last Known Good Configuration. Цей колекцію можна використовувати для завантаження в разі якщо якесь нове пристрій внесло розлад у роботу операційної системи.

Якщо обрана операційна система XP, то NTLDR знаходить і завантажує DOS-івську програму NTDETECT.COM для визначення заліза, встановленого в комп`ютері.
NTDETECT.COM будує список компонентів, який потім використовується в ключі HARDWARE гілки HKEY_LOCAL_MACHINE реєстру.

Якщо комп`ютер має більше одного профілю устаткування програма зупиняється з меню вибору конфігурації.

Після вибору конфігурації NTLDR почне завантажувати ядра XP (NTOSKRNK.EXE).
У процесі завантаження ядра (але перед ініціалізацією) NTLDR залишається головним в управлінні комп`ютером. Екран очищається і внизу показується анімація з білих прямокутників. Крім ядра завантажується і Hardware Abstraction Layer (HAL.DLL), щоб ядро могло абстрагуватися від заліза. Обидва файли знаходяться в директорії System32.

NTLDR завантажує драйвера пристроїв, помічені як завантажувальні. Завантаживши їх NTLDR передає управління комп`ютером далі.
Кожен драйвер має ключ в HKEY_LOCAL_MACHINE SYSTEM Services. Якщо значення Start одно SERVICE_BOOT_START, то пристрій вважається завантажувальним. Для кажого такого пристрою на екрані друкується точка.

NTOSKRNL в процесі завантаження проходить через дві фази - так звану фазу 0 і фазу 1. Перша фаза ініціалізує лише ту частину мікроядра і виконавчі підсистеми, яка потрібна для роботи основних служб і продовжити завантаження. На цьому етапі на екрані показується графічний екран з статус баром.
XP дізейбліт переривання в процесі фази 0 і включає їх лише перед фазою 1. Викликається HAL для підготовки контролера переривань. Ініціалізувалися Memory Manager, Object Manager, Security Reference Monitor і Process Manager. Фаза 1 починається коли HAL готує систему для обробки переривань пристроїв. Якщо на комп`ютері встановлено більше одного процесор вони не започатковано. Всі виконавчі підсистеми реініціалізіруются в наступному порядку:

  1. Object Manager
  2. Executive
  3. Microkernel
  4. Security Reference Monitor
  5. Memory Manager
  6. Cache Manager
  7. LPCS
  8. I / O Manager
  9. Process Manager

Ініціалізація Менеджера введення / виводу починає процес завантаження всіх системних драйверів. З того моменту де зупинився NTLDR завантажуються драйвера за пріоритетом.
Збій у завантаженні драйвера може змусити XP перезавантажитися і спробувати відновити Last Known Good Configuration.

Останнє завдання фази 1 ініціалізації ядра - запуск Session Manager Subsystem (SMSS). Підсистема відповідальна за створення користувацького оточення, що забезпечує інтерфейс NT.
SMSS працює в режимі користувача, але на відміну від інших додатків SMSS вважається довіреною частиною операційної системи і "рідним" додатком (використовує лише виконавчі функції), що дозволяє їй запустити графічну підсистему і login.

SMSS завантажує win32k.sys - графічну підсистему.
Драйвер перемикає комп`ютер в графічний режим, SMSS стартує всі сервіси, які повинні автоматично запускатися при старті. Якщо всі пристрої і сервіси стартували вдало процес завантаження вважається вдалим і створюється Last Known Good Configuration.

Відео: Як перевстановити windows XP через BIOS

Процес завантаження не рахується завершеним до тих пір, поки користувач не залогінився в систему. Процес ініціалізується файлом WINLOGON.EXE, що запускаються як сервіс і підтримується Local Security Authority (LSASS.EXE), який і показує діалог входу в систему.
Це діалогове вікно показується приблизно тоді, коли Services Subsystem стартує мережеву службу.


Поділися в соц. мережах:

По темі: