Процес завантаження Windows NT 6 (Windows Vista і новіших версій) відрізняється від процесу завантаження попередніх версій Windows.
У цій статті, якщо не вказано інше, те, що сказано про Windows Vista, стосується також всіх пізніших операційних систем сімейства Windows NT. У Windows Vista завантажувальний сектор або UEFI завантажує диспетчер завантаження Windows (файл з іменем BOOTMGR або в системному, або в завантажувальному розділі), отримує доступ до сховища даних конфігурації завантаження та використовує інформацію для завантаження операційної системи. Потім BCD викликає завантажувач і, у свою чергу, переходить до ініціювання ядра Windows . Ініціалізація на цьому етапі відбувається аналогічно попереднім версіям Windows NT.
Історія Windows Vista представляє повну перебудову архітектури завантажувача операційної системи Windows. Найдавніше відоме посилання на цю переглянуту архітектуру включено в слайди PowerPoint, які розповсюджувала Microsoft під час конференції Windows Hardware Engineering Conference 2004 року, коли операційна система мала кодову назву «Longhorn». У цій документації згадується, що завантажувач операційної системи Windows зазнає значної реструктуризації, щоб підтримувати EFI та «виконати деяку серйозну переробку застарілого коду». Нова архітектура завантаження повністю замінює архітектуру NTLDR, яка використовувалася в попередніх версіях Windows NT.
Більшість кроків, що виконуються після завантаження ядра NT, включаючи ініціалізацію ядра та ініціалізацію користувацького простору, залишаються такими ж, як і в попередніх системах NT. Рефакторинг у Winlogon призвів до того, що GINA була повністю замінена постачальниками облікових даних і графічними компонентами в Windows Vista і новіших версіях.
Дані конфігурації завантаження (Boot Configuration Data)
Дані конфігурації завантаження (Boot Configuration Data — BCD) — це незалежна від прошивки база даних для даних конфігурації під час завантаження . Він використовується новим диспетчером завантаження Windows від Microsoft і замінює boot.ini, який використовувався NTLDR.
Дані конфігурації завантаження зберігаються у файлі даних, який має той самий формат, що і вулики реєстру Windows, і, в кінцевому підсумку, монтуються в розділі реєстру (з обмеженими дозволами). Для завантаження UEFI файл знаходиться за адресою /EFI/Microsoft/Boot/BCD на системному розділі EFI. Для традиційного завантаження BIOS файл знаходиться в каталозі /boot/BCD активного розділу.
Дані конфігурації завантаження можна змінити за допомогою інструменту командного рядка (bcdedit.exe), за допомогою редактора реєстру (regedit.exe), за допомогою інструментів керування Windows або за допомогою інструментів сторонніх розробників, таких як EasyBCD, BOOTICE, або Visual BCD Editor.
Дані конфігурації завантаження містять пункти меню, які представлені диспетчером завантаження Windows (Windows Boot Manager), так само як містив пункти меню, які були представлені NTLDR. Ці пункти меню можуть включати: параметри завантаження Windows Vista та новіших версій, викликом winload.exe; параметри відновлення Windows Vista та новіших версій із режиму глибокого сну, викликом winresume.exe; параметри завантаження попередньої версії сімейства Windows NT шляхом виклику її NTLDR; параметри завантаження та виконання запису завантаження з тому (Volume Boot Record).
Дані конфігурації завантаження дозволяють сторонню інтеграцію, тому будь-хто може впровадити такі інструменти, як діагностика або параметри відновлення.
Завантажувачі
bootmgr Під час запуску BIOS викликає код, що міститься в головному завантажувальному записі (MBR) жорсткого диску . Код завантаження з головного завантажувального запису (MBR) і код з запису завантаження тому (Volume Boot Record — VBR) залежать від операційної системи. У Microsoft Windows код завантаження MBR намагається знайти активний розділ (MBR становить лише 512 байт), а потім виконує код завантаження VBR активного розділу. Код завантаження VBR намагається знайти та виконати файл bootmgr з активного розділу.
UEFI викликає bootmgfw.efi із системного розділу EFI під час завантаження.
winload.exe Диспетчер завантаження Windows викликає winload.exe — завантажувач операційної системи — щоб завантажити виконавчу програму ядра операційної системи (ntoskrnl.exe) і драйвери основних пристроїв. У цьому відношенні winload.exe функціонально еквівалентний функції завантажувача операційної системи NTLDR у попередніх версіях Windows NT. У системах UEFI файл називається winload.efi і завжди знаходиться за адресою \windows\system32 або \windows\system32\boot .
winresume.exe Якщо комп'ютер нещодавно перейшов у режим глибокого сну, bootmgr замість цього викличе winresume.exe. У системах UEFI файл називається winresume.efi і завжди знаходиться за адресою \windows\system32 або \windows\system32\boot.
Розширені параметри завантаження (Advanced Boot Options) З появою в Windows Vista нового менеджера завантаження багато компонентів були змінені; одним з них є меню Advanced Boot Options, яке надає параметри для розширених режимів завантаження (наприклад, безпечний режим). Через реалізацію швидкого завантаження, в Windows 8 і новіших версіях доступ до меню додаткових параметрів завантаження за замовчуванням вимкнено. Однак доступ все ще можливий, якщо модифікувати BCD. Ось можливі режими завантаження:
Відремонтуйте свій комп'ютер — завантажує середовище відновлення Windows (WinRE або Windows RE) Безпечний режим — завантажує безпечний режим, режим завантаження з мінімальною кількістю драйверів і ресурсів, призначених для видалення шкідливих програм або заміни несправних драйверів. Безпечний режим із мережею — завантажує безпечний режим разом із мережевими драйверами. Безпечний режим із командним рядком — завантажує безпечний режим із командним рядком як оболонкою замість Windows Explorer . Провідник Windows все ще можна завантажити, ввівши explorer у командному рядку. Увімкнути журнал завантаження — дозволяє записувати ntbtlog.txt, файл, який реєструватиме процес завантаження; список драйверів, які завантажилися, і драйверів, які ні. Увімкнути відео з низькою роздільною здатністю — вимикає графічний драйвер за замовчуванням і використовує стандартний драйвер VGA. Призначений на випадок, якщо користувач змінив роздільну здатність на непридатний рівень (тобто 320×200 при низькій частоті оновлення <24 Гц, 60 Гц>) Остання відома вдала конфігурація — завантажує конфігурацію на основі останнього успішного процесу завантаження. Призначений для випадку пошкодження реєстру. Цей режим видалено в Windows 8 і новіших версіях Windows. Режим відновлення служб каталогів — режим завантаження, який використовується для перезавантаження контролера домену, якщо він не працює належним чином. Режим налагодження — завантажується під час завантаження налагоджувача ядра. Вимкнути автоматичний перезапуск у разі збою системи — вимикає функцію автоматичного перезавантаження після появи синього екрану смерті . Вимкнення драйвера захисту від зловмисного програмного забезпечення раннього запуску — ELAM попередньо перевіряє драйвери, необхідні для завантаження, на наявність підписів і фальсифікацій. Вимкнення ELAM має на меті дозволити завантаження під час помилкових перевірок драйверів, але також може дозволити завантажити підроблений драйвер. Disable Driver Signature Enforcement — вимикає налаштування ядра, які забороняють завантажувати непідписані драйвери. Звичайне завантаження Windows
До меню ABO можна отримати доступ, швидко натиснувши або утримуючи F8 перед завантаженням Windows. Починаючи з Windows 8 на UEFI, до нього можна отримати доступ, лише натиснувши Перезавантажити, утримуючи клавішу Shift .
Див. також Процес запуску Windows Технології введення/виведення Windows Vista
Примітки