Лабораторная работа 1. Загрузчик ОС Windows NT/2K/XP

advertisement
Загрузчик ОС Windows NT/2K/XP
В корневой директории системного раздела жесткого диска с установленной ОС Windows
NT / 2000 / XP находятся загрузочные файлы ntldr, boot.ini, ntdetect.com, ntbootdd.sys и
bootsect.dos, необходимых для загрузки установленных на компьютере операционных
систем.
Раздел диска или диск, на котором располагается папка Winnt для Windows NT или
Windows для XP и системные файлы, необходимые для работы ОС (в том числе
ntoskrnl.exe, ядро Windows) принято называть загрузочным. Загрузочный раздел может не
совпадать с системным разделом, и, поэтому при запуске ПК необходимо, чтобы
загрузчик Windows без труда нашел системные файлы.
При включении ПК ход загрузки операционной системы проходит в несколько этапов:
1. BIOS компьютера считывает и загружает в оперативную память главную
загрузочную запись Master Boot Record (MBR), в которой находится таблица
разделов диска и небольшая программа — эта программа находит начальный адрес
системного раздела на диске и загружает в память копию его загрузочного сектора
(сектор 0), а затем, если раздел помечен как "активный" в таблице разделов,
передает управление другой программе — загрузчику Windows из только что
перенесенного в память загрузочного сектора.
2. В нулевом секторе жесткого диска находится загрузочный код, который распознает
файловую систему, а затем находит, загружает в память и запускает следующую
специальную программу из корневой директории системного диска — ntldr (от NT
Loader), предназначенную для инициализации загрузки самой операционной
системы, задания некоторых параметров ее работы и для вывода меню вариантов
загрузки в мультизагрузочной системе. После этого уже начинается выполнение
обычных программ из файлов, находящихся на диске, что и приводит к полной
загрузке всей операционной системы и к возможности запускать прикладные
программы.
При загрузке NTLDR выполняет следующие шаги:
1. Переводит процессор в «плоский» 32-битный режим работы (32-bit flat memory
mode);
2. Организует доступ к текущей файловой системе (FAT или NTFS);
3. Если присутствует файл hiberfil.sys и загрузчик обнаруживает образ «спящего»
режима, содержимое образа загружается в оперативную память и система
восстанавливается в предыдущее состояние.
4. В противном случае, он читает файл boot.ini и выводит пользователю
соответствующее меню для выбора запускаемой ОС:
o если была выбрана не-NT система (например Windows 98), тогда он
загружает файл, указанный в boot.ini (bootsect.dos, если не указан иной
файл, являющийся полноценной загрузочной записью), и управление
передаётся этому файлу, либо он загружает операционную систему на базе
DOS.
o если же была выбрана система на базе Windows NT, то запускается
программа ntdetect.com, которая собирает информацию о составе
оборудования.
5. Запускает файл Ntoskrnl.exe (ядро операционной системы), передавая ему
собранную информацию о составе оборудования, после чего происходит запуск
операционной системы.
NTLDR позволяет пользователю выбрать желаемую операционную систему для запуска
из обычного меню; также, для операционных систем Windows NT и более поздних, могут
быть указаны дополнительные опции загрузки ядра. Все эти настройки хранятся в файле
boot.ini, который должен находиться в корне того же логического диска, что и NTLDR.
Функции файла boot.ini:
 управление содержимым меню выбора операционной системы во время загрузки
ПК;
 управление самим процессом загрузки системы, а также задание некоторых
параметров ее дальнейшего функционирования.
Файл boot.ini составлен по стандарту ini-файлов. Он содержит разделы с названиями в
квадратных скобках и параметры в каждом из разделов. В boot.ini предусмотрены разделы
[boot loader] и [operating systems], но можно добавить и другие разделы, они системой
будут проигнорироваться — это нередко используется для того, чтобы временно
закомментировать тот или иной параметр. Редактирование файла производится в любом
текстовом редакторе. Кроме того, возможны специальные способы редактирования через:
MSCONFIG.EXE или BOOTCFG.EXE. Для работы со скрытым файлом boot.ini,
находящимся в корневой директории загрузочного диска, необходимо снять с него
атрибут "только чтение", иначе текстовый редактор не сможет сохранить внесенные в
boot.ini изменения.
Пример файла 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 2008, Enterprise
RU" /noexecute=optout /fastdetect
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP
Professional RU" /noexecute=optin /fastdetect
C:\="Microsoft Windows"
Секция [boot loader]
 timeout= — время ожидания, пока пользователь выберет вариант загрузки (задаётся
в секундах).
 default= — ОС по умолчанию. То есть та ОС, которая будет выбрана по истечении
времени «timeout», если пользователь не сделает никакого выбора.
 redirect= — имя порта.
 redirectbaudrate= — скорость порта.
Секция [operating systems] содержит информацию об установленных ОС и откуда и как их
загружать.
 scsi(x) — указывается при использовании контроллера SCSI с отключённым BIOS,
где x — номер адаптера, с которого будет производиться загрузка.
 multi(0) — порядковый номер адаптера, с которого осуществляется загрузка.
(multi(*) или scsi(*) или signature(*)).
 disk(0) — обычно равен 0 (в случае использования multi(*)).
 rdisk(n) — порядковый номер жёсткого диска, с которого осуществляется загрузка.
От 0 до 3.
 partition(n) — порядковый номер раздела жёсткого диска, с которого загружается
ОС. Нумерация начинается с 1.
Файл boot.ini может также содержать другие секции: [multiboot] и [flexboot].
Вопросы
1. Что такое MBR? Как восстановить MBR?
2. Что произойдет, если в файле boot.ini указать в секции [boot loader] параметр
timeout равным 0?
3. Для записи чего используется формат ARC (Advanced RISC Computing)?
Каковы его правила?
4. Что означают параметры /bootlog, /fastdetect[=<порт>], /safeboot:<значение>,
если их указать в файле boot.ini?
5. Как называется файл протоколирования загрузки? Где он сохраняется? Какая
информация содержится в файле протоколирования загрузки?
6. Напишите параметры в файле boot.ini для операционной системы, которая
установлена на втором разделе второго физического жесткого диска.
Download