NTLDR
NTLDR (скорочення від NT Loader) — завантажувач для операційних систем Windows NT та пізніших (2000/XP/Server 2003, за винятком Vista та Windows 7). NTLDR може бути запущений як з переносного пристрою (наприклад, CD-ROM або flash-накопичувача через USB), так і з жорсткого диску. NTLDR також здатний завантажувати операційні системи, що основані не на технології NT, шляхом створення відповідного завантажувального сектору в окремому файлі. Для запуску NTLDR потребується, щонайменше, присутність двох файлів в активному розділі: NTLDR, який власне містить код завантажувача, та boot.ini, в якому записані команди для формування меню вибору системи та параметрі для її запуску. Щоб завантажувати операційні системи на базі Windows NT, необхідний також файл ntdetect.com.
Тип | Завантажувач ОС |
---|---|
Розробник | Microsoft |
Операційна система | Windows NT/2000/XP/Server 2003 |
Ліцензія | Пропрієтарне ПЗ |
Процес завантаження
При завантаженні NTLDR виконує наступне:
- Переводить процесор в unreal mode («плаский» режим, 32-bit flat memory mode).
- Організовує доступ до поточної файлової системи (FAT або NTFS);
- Якщо існує файл hiberfil.sys і завантажувач знаходить образ «сплячого режиму», вміст образу завантажується в оперативну пам'ять та система відновлюється в минулий стан;
- В іншому випадку, він читає файл boot.ini та виводить користувачу відповідне меню для вибору потрібної ОС;
- якщо була вибрана не-NT система (наприклад Windows 98), тоді він завантажує файл, що вказаний в boot.ini (bootsect.dos, якщо не вказаний інший файл, що є повноцінним завантажувальним записом), та керування передається цьому файлу, або він завантажує операційну систему на базі DOS.
- якщо ж була вибрана система на базі Windows NT, тоді запускається програма ntdetect.com, яка збирає інформацію про обладнання.
- Запускає файл Ntoskrnl (ядро операційної системи), передає йому зібрану інформацію про обладнання, після чого відбувається запуск операційної системи.
Boot.ini
Як вже було відмічено, NTLDR дозволяє користувачу вибирати бажану ОС для запуску з звичайного меню; також для операційних систем Windows NT та пізніших можуть вказуватися додаткові опції завантаження ядра. Усі ці налаштування зберігаються в файлі boot.ini, який повинен знаходитися в корені того ж логічного диску, що і NTLDR.
Приклад файлу boot.ini
Для формування меню як на зображенні використовувався файл з вмістом:
[boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(3)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Windows Server 2003, Datacenter" /noexecute=optout /fastdetect multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect C:\="Microsoft Windows"
Якщо вказати в секції [boot loader] параметр timeout рівним 0, тоді меню не буде виводитися, а одразу запуститься операційна система, що вказана в параметрі default.
Для Windows NT
|
|
|
Для Windows 2000
|
|
|
Для Windows XP та 2003
|
|
|
Примітки
Посилання
- Детальний опис функції "Заборона виконання даних" (DEP) у Windows XP з пакетом поновлення 2 (SP2), Windows XP Tablet PC Edition 2005 і Windows Server 2003
- Редагування файлу Boot.ini у Windows XP
- The purpose of the Boot.ini file in Windows XP(англ.)
- Ключі файлу Boot.ini, доступні в Windows XP та Windows Server 2003