Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
os / OC / ЛЕКЦИИ ПО РАЗДЕЛУ «НАСТРОЙКА ОС WINDOWS NT» КУРСА «ОПЕРАЦИОННЫЕ СИСТЕМЫ».doc
Скачиваний:
44
Добавлен:
13.04.2015
Размер:
17.01 Mб
Скачать

Раздел 2 процесс загрузки операционной системы windows 2000

В этом разделе будет рассмотрено, как происходит загрузка операционной системы Windows 2000 Professional, как пользователь может вмешаться в процесс загрузки и какие параметры он может изменять в процессе загрузки.

В начале дадим несколько определений согласно терминологии Microsoft.

Загрузочные файлы – это набор файлов, которые обеспечивают процесс загрузки Windows 2000. Эти файлы находятся на активном первичном разделе жесткого диска, как правило, на разделе С:.

Системные файлы – файлы самой операционной системы Windows 2000, находящиеся в той папке, в которую была установлена операционная система (по умолчанию С:\Winnt, или, если на этапе инсталляции этой папке было дано другое имя, – то в папке с этим именем).

Загрузочный раздел – раздел, на котором находятся СИСТЕМНЫЕ файлы, т.е. раздел, на котором расположена папка \Winnt\.

Системный раздел – раздел, на котором расположены ЗАГРУЗОЧНЫЕ файлы, т.е., обычно, раздел С:.

Как видно, в терминологии Microsoft названия файлов (загрузочные и системные) соответствуют их функциям, а названия разделов – переставлены местами по отношению к содержимому.

Рассмотрим теперь процесс загрузки Windows 2000 Professional.

Первое, что происходит при включении компьютера – это передача управления базовой системе ввода / вывода BIOS, которая производит процедуры тестирования (POST – Power On Self Test). На этом этапе проверяются аппаратные компоненты. При этом на экране отображаются сведения о том, какой на компьютере процессор, сколько в нем оперативной памяти, какие жесткие диски и дисководы подключены и т.д. Итак, первичный этап загрузки компьютера – самотестирование при включении.

После успешного завершения процедуры POST начинается второй этап – процесс инициализации ОС: BIOS ищет и загружает в память загрузочный сектор (boot sector). Порядок опроса устройств с целью поиска загрузочного сектора (флоппи–дисководы, жесткие диски, устройства CD–ROM) задается в настройках BIOS.

Современные BIOS позволяют пользователю переконфигурировать этот порядок, называемый последовательностью загрузки (boot sequence). Если, например, дисковод А: включен в последовательность загрузки первым, и в нем находится дискета, то BIOS попытается использовать эту дискету в качестве загрузочной. Если дискеты в дисководе нет или поиск окажется неудачным по другой причине, то BIOS проверяет следующее в списке устройство.

Для запуска ОС огромное значение имеет первый сектор жесткого диска, который содержит главную загрузочную запись (MBR) (MBR – Master Boot Record) и таблицу разделов (partition table). Базовая система ввода/вывода считывает главную загрузочную запись и загружает ее в память, а затем передает ей управление. Код, содержащийся в главной загрузочной записи, сканирует таблицу разделов в поисках системного раздела. Найдя системный раздел, MBR загружает в память его нулевой сектор и исполняет код, содержащийся в этом секторе. Нулевой сектор на системном разделе, так называемый загрузочный сектор раздела (partition boot sector), содержит загрузочный код операционной системы. Этот код и осуществляет запуск операционной системы по способу, определенному данной операционной системой.

Если на первом жестком диске нет системного раздела, главная загрузочная запись отобразит одно из следующих сообщений об ошибках:

«Invalid partition table» (Неверная таблица разделов);

«Error loading operating system» (Ошибка загрузки операционной системы);

«Missing operating system» (Отсутствует операционная система).

Перечисленные выше процедуры происходят при любом включении компьютера, не зависимо от того, какая операционная система установлена. Главная загрузочная запись не зависит от конкретной операционной системы. Одна и та же главная загрузочная запись служит для запуска Windows NT 2000, Windows 9x, а также MS-DOS. Что касается загрузочного сектора раздела, то он зависит как от операционной системы, так и от используемой файловой системы.

Рассмотрим теперь, какие загрузочные файлы обеспечивают старт Windows 2000. Программа, которая выполняет процедуру загрузки Windows 2000, называется ntldr (сокращение от NT Loader) и находится на системном разделе жесткого диска. Эта программа обеспечивает старт операционной системы в несколько этапов и на первом этапе выводит пользователю на экран меню, в котором он может выбрать желаемую операционную систему из установленных на компьютере (рис. 2.1).

Рис. 2.1.Окно выбора загружаемой ОС

В этом меню пользователь может выбрать операционную систему из числа установленных на компьютере, которую необходимо загрузить.

Информация об имеющихся в компьютере операционных системах находится в загрузочном файле boot.ini, который считывается программой ntldr на первом этапе загрузки. Файл boot.ini располагается в корневом каталоге системного раздела.

Рассмотрим, как можно управлять процессом загрузки Windows 2000 с помощью файла boot.ini.

Файл boot.ini – обычный текстовый файл, который можно редактировать в любом текстовом редакторе. Ниже приведено типичное содержимое файла boot.ini:

[boot loader]

timeout=30

default=multi(0)disk(0)rdisk(0)partition(1)\WINNT

[operating systems]

multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional RUS" / fastdetect

C:\ = "Microsoft Windows"

Видим, что файл boot.ini состоит из двух секций: [Boot Loader] и [Operating Systems]. Рассмотрим параметры, указаные в файле boot.ini.

В секции [Boot Loader] всего два параметра. Параметр Timeout=x указывает, через какое время будет запущена операционная система по умолчанию, если пользователь не сделает свой выбор самостоятельно. Величина х измеряется в секундах, т.е. в приведенном примере автоматический «старт операционной системы по умолчанию» произойдет через 30 секунд от момента появления меню на экране, если только пользователь не прервет обратный отсчет времени досрочно, выбрав какой-либо из вариантов нажав клавишу Enter.

Второй параметр в секции [Boot Loader] называется Default. Он задает, какая именно из имеющихся операционных систем, установленных на данном компьютере, будет запущена по умолчанию. Именно на строке с названием этой операционной системой стоит курсор, когда появляется загрузочное меню и именно эта система запустится по истечении времени Timeout.

В секции [Operating Systems] указываются те операционные системы, которые установлены на данном компьютере и которые можно загрузить. Каждая строка в этой секции начинается с так называемого ARC-имени (например, multi(0)disk(0)rdisk(0)partition(1)\WINNT). Рассмотрим назначение и структуру ARC-имени.

ARC (Advanced RISС Computer) имена служат для именования разделов на жестких дисках. Имя ARC состоит из нескольких частей:

scsi(*) или multi(*) – имена ARC, как правило, начинаются с элемента multi(*), а scsi(*) используется только в том случае, если на компьютере установлен контроллер SCSI с отключенной BIOS. multi(*) применяется для указания на другие жесткие диски всех типов. Знак (*) указывает на адрес адаптера устройства, с которого производится загрузка, причем нумерация начинается с нуля.

disc(*) – эта часть имени задается только в том случае, если перед ней идет scsi(*). Тогда в скобках вместо «звездочки» указывается номер диска, на котором хранятся системные файлы. Нумерация начинается с нуля. Если имя ARC начинается с переменной multi(*), значение переменной disc всегда равно нулю: disk(0).

rdisc(*) – эта переменная имеет значение, если имя начинается с multi(*) и задает номер диска, подключенного к контроллеру. Нумерация также начинается с нуля. В случае, когда в первой части имени стояло значение scsi(*) параметр rdisk(*) должен иметь значение равное нулю и будет проигнорирован.

partition(*) – эта часть имени задает раздел диска, который содержит искомые файлы. В отличие от остальных систем нумерации в ARC, нумерация разделов начинается с единицы. Параметр partition(*) одинаково применяется как в случае, если ARC-имя начиналось с scsi(*), так и в случае, если ARC имя начиналось с multi(*).

\path – задает каталог раздела, в котором хранятся системные файлы операционной системы. По умолчанию для Windows 2000 задается путь \winnt.

Таким образом, с помощью первых четырех частей ARC имени возможно задать абсолютный номер раздела на любом жестком диске в терминах КОНТРОЛЛЕР, ДИСК, РАЗДЕЛ. Такое имя для существующего диска не изменится, при добавлении в компьютер нового жесткого диска, т.е. введенная система именования является абсолютной.

Рассмотрим пример. Пусть на компьютере имеется единственный контроллер IDE, на нем – два жестких диска по 20 Гбайт каждый. На каждом жестком диске – по единственному разделу. Каковы ARC имена каждого раздела?

Первый диск. Так как контроллер единственный, то его номер – (0). Так как используется IDE контроллер, то первый параметр – multi(). Если первый параметр multi(), то параметр disk() по определению равен нулю, а параметр rdisk() нумерует диски. Так как диск первый, то параметр rdisk() должен быть равен нулю. На диске единственный раздел, следовательно, параметр partition() равен единице. Тогда полное ARC имя раздела на первом диске: multi(0)disk(0)rdisk(0)partition(1).

Аналогично для единственного раздела второго жесткого диска полное ARC имя имеет вид: multi(0)disk(0)rdisk(1)partition(1).

К записям раздела [operating systems] файла boot.ini можно добавлять переключатели, задающие выполнение дополнительных функций. Опишем некоторые из них:

 / basevideo – задает загрузку компьютера с использованием стандартного драйвера VGA. Если новый видеоадаптер работает некорректно, то для запуска Windows 2000 следует использовать этот переключатель, а затем выбирать другой драйвер.

 / fastdetect=[comx, y, z] – отключает поиск мыши, подключенной к последовательному порту. Если порт не указан, переключатель задает отключение обнаружения всех периферийных устройств, подключенных к COM–портам. Включается по умолчанию в каждую запись файла boot.ini.

 / maxmem:n – задает объем оперативной памяти, используемой Windows 2000. Этот переключатель следует использовать в случае, если есть предположение, что часть оперативной памяти неисправна.

 / noguiboot – задает запуск компьютера без отображения графического окна состояния загрузки.

 / sos – задает отображение имен загружаемых драйверов устройств. Если загрузка прерывается во время загрузки драйверов, то этот ключ можно использовать для определения драйвера, вызывающего сбой.

Если необходимо указать в файле boot.ini на операционную систему Windows 9x, то нужно внести в boot.ini следующую строку:

C:\ = "Название операционной системы".

Например, C:\ = "Microsoft Windows"

Следует отметить, что в случае загрузки системы Windows 9x не используются ARC-имена для указания разделов на жестком диске, более того, не нужно указывать раздел, на котором расположена папка \Windows. Если Windows 9x установлена на диске D: в папке \Windows, то строка в файле boot.ini

D:\Windows="Windows 9x"

будет ошибочной. Для Windows 9x строка в boot.ini должна всегда иметь вид:

C:\="Название"

и только такой синтаксис будет верным.

Связано это с тем, что после инсталляции Windows 2000 поверх Windows 9x в системном разделе (т.е., в корневом каталоге диска С:) появится еще один важнейший загрузочный файл: bootsect.dos. В этом файле хранится копия загрузочного сектора в том виде, в котором он существовал до установки Windows 2000, и, если пользователь в загрузочном меню выбирает запустить не Windows 2000, а Windows 9x, то управление передается этому загрузочному файлу и он выполняет дальнейший старт компьютера под управлением Windows 9x. Именно поэтому в файле boot.ini используется для загрузки Windows 9x систем синтаксис "С:\", который в сущности равнозначен синтаксису "С:\bootsect.dos".

Файл boot.ini расположен в корневом каталоге системного раздела. Этот файл имеет атрибуты «только чтение» (Read Only), «системный» (System) и «скрытый» (Hidden). Однако в Windows 2000 появилось новое понятие: защищаемые файлы операционной системы (protected operating system files), которые иногда называются «суперскрытыми» (super hidden) .

К ним относятся все файлы, необходимые для запуска операционной системы. По этой причине ни один пользователь, даже администратор, раскрыв после установки системы корневой каталог системного раздела с помощью «Проводника», не увидит ни файл boot.ini, ни другие файлы, необходимые для загрузки системы.

Чтобы отыскать «суперскрытый» файл, в частности файл boot.ini, требуется в настройках проводника – Сервис –> Свойства папки –> Вид – убрать галочку с параметра «скрывать защищенные системные файлы» и переместить переключатель на «показывать скрытые и системные файлы». После этой процедуры снимите с данного файла атрибут «Только чтение». На всякий случай сделайте резервную копию. И только после этого можно приступать к его редактированию.

Помимо текстового редактора, можно модифицировать boot.ini еще одним способом: открыть «Панель управления» (Control Panel), запустить приложение «Система» (System), перейти на закладку «Дополнительно» (Advanced) и нажать на кнопку «Загрузка» и «Восстановление» (StartUp / Shutdown) и в открывшемся окне можно настроить параметры «Timeout» и «Default» (рис. 2.2).

Рис. 2.2.Окно задания параметров загрузки и восстановления системы

Вернемся к изучению процесса загрузки Windows 2000. Как только пользователь в загрузочном меню сделал выбор в пользу Windows 2000, запускается еще один важнейший загрузочный файл: ntdetect.com.

Программа ntdetect.com занимается проверкой аппаратного обеспечения, установленного на компьютере. Эта программа формирует список найденного аппаратного обеспечения и передает его в ntldr для включения его в реестр (реестр будет рассмотрен в разделе 5). Затем, когда запустится ядро ОС Windows 2000, оно получит информацию о найденном оборудовании и запустит соответствующее программное обеспечение (драйверы) для обнаруженного на компьютере аппаратного обеспечения.

П

Рис. 2.3.Окно переноса ядра системы в оперативную память

осле того, как программаntdetect.com завершила свою работу, в оперативную память переносится ядро Windows 2000. В это время экран очищается и по нему начинает «заполняться» полоса прокрутки, показывающая, что ядро системы переносится в память, о чем сообщает и надпись на экране – Запуск Windows... (рис. 2.3).

На этом этапе загрузки можно вмешаться в процесс старта операционной системы, для этого, как видно из рисунка, предлагается нажать функциональную клавишу F8 для выбора особых вариантов загрузки. В случае, если загрузка ОС Windows 2000 завершается неудачей, возможно, помогут опции отладочного меню, выводимого по нажатию клавиши F8 (рис. 2.4).

Это меню будет оставаться на экране до выбора одной из опций. При загрузке в безопасном режиме (safe mode) ОС Windows 2000 использует стандартные параметры настройки (монитор VGA, без сетевых средств, с минимальным количеством драйверов, фактически запускаются только драйверы, необходимые для загрузки ОС Windows). Например, если после инсталляции нового программного обеспечения ОС Windows 2000 перестала запускаться, то вполне возможно, что загрузка в безопасном режиме позволит выполнить запуск операционной системы с минимальным количеством сервисов и драйверов. После загрузки можно изменить параметры настройки компьютера, не позволяющие выполнить корректную загрузку ОС Windows 2000, или удалить программное обеспечение, вызвавшее эти проблемы.

Рис. 2.4.Окно опций отладочного меню

Кратко опишем возможности некоторых из режимов загрузки ОС Windows 2000.

Безопасный режим (Safe Mode)

Если пользователь выбирает эту опцию, то при запуске ОС Windows 2000 загружаются только базовые файлы и драйверы, абсолютно необходимые для работы ОС Windows. Если ОС Windows 2000 невозможно загрузить даже с использованием этого режима, то, вероятнее всего, потребуется процедура восстановления поврежденной системы.

Безопасный режим с загрузкой сетевых драйверов (Safe Mode with Networking)

Если выбрана данная опция, то ОС Windows 2000 также загружается с использованием только базовых файлов и драйверов, но в дополнение делается попытка запуска сетевых служб и восстановления сетевых соединений.

Включить протоколирование загрузки (Enable Boot Logging)

При выборе этой опции Windows 2000 будет записывать протокол загрузки в файл %SystemRoot%\Ntbtlog.txt. Действие этой опции аналогично включению параметра / bootlog в файле boot.ini. При использовании любого из трех видов безопасного режима журнал создается автоматически.

Включить режим VGA (Enable VGA Mode)

После выбора данной опции компьютер загружается с использованием стандартного драйвера VGA. Аналогичный результат дает применение параметра / basevideo в файле boot.ini.

Загрузка последней удачной конфигурации (LastKnownGood Configuration)

При выборе этой опции ОС Windows 2000 запускается с использованием информации реестра, сохраненной после того, как система в последний раз была успешно загружена. Следует отметить, что эта опция позволяет исправить только ошибки конфигурирования системы, однако не всегда. Использовать ее рекомендуется лишь в тех случаях, когда точно известно о допущенной конфигурационной ошибке. Использование этой опции не поможет исправить проблемы, вызванные отсутствием или повреждением системных файлов или драйверов. Кроме этого, следует помнить, что все изменения, внесенные после последнего успешного запуска ОС Windows 2000, в случае применения этой опции будут потеряны.

Восстановление службы каталогов (Directory Services Restore Mode (Windows 2000 domain controllers only))

Как следует из ее названия, данная опция предназначена для восстановления службы каталогов Active Directory на контроллерах доменов. Этот вариант применим только к Windows 2000 Server, но не к Windows 2000 Professional.

Режим отладки (Debugging Mode)

Загрузка в режиме отладки, позволяющая администратору отследить ошибки в программах. Этот вариант также применим только к Windows 2000 Server, но не к Windows 2000 Professional.

Обычная загрузка (Boot Normally)

Задает закрытие окна с дополнительными вариантами загрузки и продолжает обычную загрузку.

Если выбран обычный режим загрузки операционной системы ОС Windows 2000, то далее этот процесс зависит от того, сколько операционная система имеет профилей аппаратной конфигурации. В случае если система имеет только один профиль аппаратной конфигурации, то, после того как загрузчик получит информацию об аппаратных средствах компьютера, он продолжит процедуру загрузки, запустив ядро операционной системы ntoskrnl.exe, передав ему информацию, собранную программой ntdetect.com.

Если в ОС Windows 2000 создано несколько профилей аппаратной конфигурации, то на экране появится информация, содержащая список

профилей (рис. 2.5).

Эта опция нужна в первую очередь для переносных компьютеров. Такой компьютер может иметь динамически меняющуюся аппаратную конфигурацию. Например, иметь внешнюю сетевую плату, которая используется, если компьютер подключен к офисной сети, а в случае работы вне офиса такое устройство не используется. Для таких устройств имеет смысл создавать аппаратные профили, которые будут учитывать текущую аппаратную конфигурацию переносного компьютера. Для стационарной системы аппаратные профили как правило не используются.

Далее следует этап загрузки в память ядра ОС Windows 2000 и основных ее модулей. Пользователь уже не может повлиять на этот процесс.

Рис. 2.5. Окно выбора профиля аппаратной конфигурации

Теперь ядро системы берет на себя управление загрузкой.

В системах ОС Windows 2000 об инициализации ядра сигнализирует появление графической заставки (рис. 2.6).

На стадии инициализации ядро выполняет следующие операции:

инициализирует низкоуровневые драйверы устройств, загруженные на предыдущей стадии;

загружает и инициализирует остальные драйверы устройств;

запускает программы, например проверку дисков chkdsk;

загружает и инициализирует целый ряд служб необходимых для старта Windows 2000.

В частности, на этом этапе происходит инициализация графического интерфейса пользователя, и затем появляется предложение о входе в систему (рис. 2.7).

После ввода имени пользователя и пароля инициализация ядра завершается и начинается старт системы (рис. 2.8).

Рис. 2.6. Графическая заставка инициализации ядра

Рис. 2.7.Окно входа в систему

Рис.2.8.Окно старта системы

К этому моменту ОС Windows 2000 может еще продолжать инициализацию сетевых драйверов (рис. 2.9).

После выполнения этого шага ОС Windows 2000 загружена и готова к работе с данным пользователем.

Рис. 2.9.Окно инициализации сетевых драйверов