Установленное поле Boot Indicator в таблице разделов означает, что данный раздел является системным (рис. 2.3 и 2.4, снятые при просмотре таблицы разделов при помощи утилиты DiskProbe, входящей в состав Windows 2000 Support Tools).
<
Устранение проблем с загрузочным сектором раздела
Существует несколько известных вирусов, способных вызывать проблемы с загрузочным сектором раздела даже тогда, когда том отформатирован для использования файловой системы NTFS. Заражение может произойти при запуске программы MS-DOS с дискеты или при запуске MS-DOS на компьютере с двойной загрузкой. Windows 2000 не может защититься от заражения, если она не запущена.
В ряде случаев повреждение загрузочного сектора раздела может привести к генерации следующей ошибки типа "синий экран": STOP 0x00000078 INACCESSIBLE_BOOT_DEVICE. Еще одним симптомом проблем с загрузочным сектором раздела является "зависание" компьютера в процессе загрузки без отображения каких-либо сообщений, при этом экран остается черным.
Даже при условии отсутствия очевидных грубых повреждений загрузочный сектор раздела может работать неправильно. Убедиться в этом можно еле-
дующим образом. Попробуйте переименовать файл NTLDR и запустить Windows 2000 с этого жесткого диска (это можно сделать, загрузив систему с дискеты Windows 2000).
Если загрузочный сектор раздела в норме, а причина неудачи — поврежденный файл загрузчика NTLDR, то в основном разделе NTFS вы увидите следующее сообщение об ошибке:
Couldn't find NTLDR
В основном разделе FAT вы увидите сообщение об ошибке:
A kernel file is missing from the disk
Информацию о замене NTLDR можно найти в главе 8.
Если, заменив имя NTLDR, вы таких сообщений об ошибках не получите, это будет говорить о том, что причина кроется в повреждении загрузочного сектора раздела. Информацию о замене поврежденных загрузочных секторов разделов можно найти в главе 8. Не забудьте переименовать файл загрузчика обратно в NTLDR, чтобы загрузочный сектор раздела мог его найти.
Как правило, файл NTLDR по умолчанию имеет атрибуты скрытый, системный и только чтение. Поскольку запустить Windows 2000 при испорченном загрузочном секторе в загрузочном разделе невозможно, можно запустить MS-DOS с загрузочной дискеты MS-DOS. Загрузив MS-DOS, можно изменить атрибуты файла (только на диске с FAT!). Для этой цели необходимо в командной строке MS-DOS (см. также описание консоли восстановления в главе 8) ввести следующую команду:
attrib -a -h -r ntldr
Выбор конфигурации (аппаратного профиля)
Если для загрузки выбрана операционная система Windows 2000, и в ней имеется только один профиль аппаратной конфигурации, то после того, как загрузчик получит информацию об аппаратных средствах компьютера, он продолжит процедуру загрузки, запустив ядро операционной системы Ntoskrnl.exe и передав ему информацию, собранную программой Ntdetect.com.
Если в Windows 2000 создано несколько профилей аппаратной конфигурации, то на экране появится следующая информация:
Меню выбора конфигурации оборудования
Данное меню позволяет выбрать конфигурацию оборудования,
которая будет использоваться при запуске Windows 2000.
Если система не запускается, то можно переключиться на использование предыдущей конфигурации системы, и тем самым обойти проблемы запуска. ВНИМАНИЕ: Изменения конфигурации системы, внесенные после последнего удачного запуска, будут потеряны.
Profile 1
Profile 2
Используйте клавиши со стрелкой для перемещения выделенной строки выбора нужного элемента, а затем нажмите клавишу ENTER. Для переключения на последнюю удачную конфигурацию нажмите клавишу ' L'.
Для выхода из этого меню и перезагрузки компьютера нажмите клавишу F3.
Выделенная конфигурация будет автоматически запущена через: 28 сек.
После этого загрузчик в течение нескольких секунд ожидает, давая пользователю возможность выбрать один из существующих профилей аппаратной конфигурации или одну из перечисленных опций (клавишей <L> или <F3>).
Первый аппаратный профиль выделен курсором. Чтобы использовать для загрузки другой аппаратный профиль, клавишами со стрелками переместите курсор к нужной опции и нажмите клавишу <Enter>.
Кроме того, пользователю предоставляется возможность выбора между конфигурацией по умолчанию и последней удачной конфигурацией.
Как правило, если не выбрана последняя удачная конфигурация, Windows 2000 загружает конфигурацию по умолчанию. При загрузке конфигурации по умолчанию загрузчик использует информацию реестра, сохраненную Windows 2000 при последней остановке системы.
Если вы выберете последнюю удачную конфигурацию, нажав сначала клавишу <L>, а затем — клавишу <Enter>, то загрузчик для конфигурирования опций запуска будет использовать информацию реестра, сохраненную в разделе HKEY_LOCAL_MACHINE\SYSTEM\Select после того, как система в последний раз была успешно загружена.
Более подробную информацию об управляющих опциях, последней удачной конфигурации (LastKnownGood) и конфигурации по умолчанию (Default) можно найти далее в этой главе.
Выбор запускаемой операционной системы
Загрузчик операционной системы отображает на экране меню, в котором можно выбрать запускаемую операционную систему. Вид этого экрана зависит от информации, которая содержится в файле Boot.ini. Например, там можно увидеть следующее:
Выверите операционную систему для запуска:
Microsoft Windows 2000 Professional RUS
Microsoft Windows 2000 Server
Microsoft Windows 98
Используйте клавиши и Ї для выделения нужной строки. Нажмите клавишу ENTER для подтверждения выбора. Выделенная система будет автоматически запущена через: 29
Для выбора особых вариантов загрузки Windows 2000 нажмите F8.
Выбор операционной системы, которую требуется запустить, ничем не отличается от аналогичного процесса при работе с другими версиями Windows NT (например, 3.51 и 4.0). Операционная система, указанная в приведенном списке первой, выбирается по умолчанию, и изначально курсор установлен на этой строке. Чтобы выбрать для запуска другую операционную систему, воспользуйтесь клавишами перемещения курсора (< > и <Ї >), выделите нужную операционную систему и нажмите клавишу <Enter>.
Если вы не выберете ни один из пунктов меню к тому моменту, когда счетчик, указанный в строке:
Выделенная система будет автоматически запущена через: 29
достигнет нуля, NTLDR загрузит операционную систему, указанную в файле Boot.ini по умолчанию. Программа установки Windows 2000 задает в качестве параметра по умолчанию копию последней инсталлированной копии Windows 2000. файл Boot.ini можно отредактировать, указав в качестве загружаемой по умолчанию операционной системы любую из установленных, отличную от последней инсталлированной версии Windows 2000. Подробную информацию о содержимом файла Boot.ini и методах его редактирования см. далее в этой главе.
Загрузка и инициализация драйверов устройств
Теперь ядро инициализирует низкоуровневые драйверы устройств, которые были загружены на стадии загрузки ядра. В случае ошибки при инициализации одного из драйверов система предпринимает корректирующее действие, основываясь на данных, определенных параметром реестра HKEY_LOCAL_ MACHINE\SYSTEM\CurrentControlSet\Services\DriverName\ErrorControl.
Далее Ntoskrnl.exe сканирует реестр, на этот раз — в поисках драйверов устройств, для которых значение раздела HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Services\DriverName\Start установлено в 0x01. Это всегда так: значение Group для каждого драйвера устройства определяет порядок в котором производится их загрузка. Раздел реестра HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Control\ServiceGroupOrder определяет порядок загрузки.
В отличие от фазы загрузки ядра, драйверы устройств, для которых значение Start установлено на 0x01, загружаются не за счет вызовов BIOS или программ ПЗУ, а с помощью драйверов устройств., загруженных на стадии загрузки ядра и только что инициализированных на этой стадии. Обработка ошибок в процессе инициализации этой группы драйверов устройств также основывается на значении параметра ErrorControl для соответствующих драйверов устройств.
Загрузка ядра
Получив информацию об аппаратных средствах компьютера и выбранном аппаратном профиле, загрузчик запускает ядро операционной системы Ntoskrnl.exe и передает ему информацию, собранную программой Ntdetect.com.
Информация о выбранном аппаратном профиле передается загрузчику, когда пользователь нажимает клавишу <Enter> в меню выбора конфигурации оборудования (Hardware Profile/Configuration Recovery). Помимо этого загрузчик может сделать выбор автоматически по истечении указанного интервала времени (или в случае, если в системе существует только один аппаратный профиль).
О начале фазы загрузки ядра Windows 2000 сигнализируют появляющиеся на экране точки, которые служат индикатором степени завершенности загрузки в память ядра Windows 2000 (Ntoskrnl.exe) и слоя (уровня) аппаратных абстракций (hal.dll). На данном этапе эти модули еще не инициализированы. Далее загрузчик просматривает реестр, извлекает информацию о заданных по умолчанию или определенных пользователем размерах невыгружаемого (резидентного) пула памяти (nonpaged pool) и реестра (registry quota) и загружает раздел HKEY_LOCAL_MACHINE\SYSTEM из файла %SystemKoof% \System32\Config\System.
На данном этапе загрузчик активизирует API для работы с реестром и создает набор управляющих параметров (control set), который будет использоваться для инициализации компьютера. Эти задачи являются подготовительными для загрузки драйверов. Значение, заданное в разделе HKEY_ LOCAL_MACHINE\SYSTEM\Select (рис. 2.1), определяет, какой набор управляющих параметров из перечисленных в разделе HKEY_LOCAL_ MACHINE\SYSTEM должен использоваться при загрузке.
<
Загрузка операционной системы
Пользователю, который "включил компьютер, но ничего не работает", обычно не до смеха, особенно если он не может самостоятельно выяснить, что случилось, и устранить неполадку. Посмотрим на вещи реально: поскольку проблемы с загрузкой возможны при работе с любой операционной системой, то и Windows 2000 не является исключением из общего правила. Несмотря на изменение названия (Windows 2000 вместо Windows NT 5.0), эта операционная система базируется на технологии NT (этот факт отражен в заставке, появляющейся при запуске систем). Именно по этой причине в процессе загрузки Windows 2000 могут возникать некоторые проблемы, с которыми сталкивались ранее пользователи операционных систем Windows NT. Тем не менее стоит порадовать пользователей и хорошими новостями: система действительно стала надежнее, стабильнее, и, кроме того, в ее состав добавлены новые средства устранения как проблем с загрузкой, так и других неполадок.
Грамотный пользователь не должен пугаться, услышав слова "boot-сектор", "главная загрузочная запись", "POST" и т. п. Чтобы по возможности быстро и с минимальными потерями выйти из ситуации, при которой возникают проблемы с загрузкой Windows 2000, необходимо знать, как происходит процесс загрузки, от момента включения компьютера и до регистрации пользователя в системе.
Загрузка остальных сервисов и драйверов
Как уже говорилось, к моменту регистрации пользователя в системе все еще могут продолжаться загрузка и инициализация некоторых сервисов и драйверов. В нескольких следующих разделах более подробно рассмотрены указанные здесь важные сведения:
Наборы управляющих параметров в реестре, которые содержат системную конфигурационную информацию, используемую в процессе загрузки. Хорошее понимание этого материала необходимо для грамотного использования конфигурации LastKnownGood.
Порядок запуска сервисов и драйверов, задаваемый через реестр (в частности, значимые элементы Start и Error Control, первый из которых задает порядок запуска сервиса или драйвера, а второй — стандартное поведение системы в случае невозможности его запуска или корректной инициализации).
Загрузка сервисов
Диспетчер сеансов (Smss.exe) запускает высокоуровневые подсистемы и сервисы (службы) Windows 2000. Информация, предназначенная для Диспетчеpa сеансов, находится в разделе реестра HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Control\SessionManager. Диспетчер сеансов исполняет инструкции, которые содержатся в следующих элементах реестра:
Параметр BootExecute
Раздел Memory Management
Раздел DOS Devices
Раздел Subsystems
происходящие при успешном запуске компьютер;
Процессы, происходящие при успешном запуске компьютер; под управлением Windows 2000, перечислены ниже:
Самотестирование при включении (Power-On Self-Test, POST)
Инициализация при запуске (Initial startup process)
Работа загрузчика (Boot loader process)
Выбор операционной системы (при наличии нескольких систем)
Опознавание аппаратных средств
Выбор конфигурации
Загрузка ядра
Инициализация ядра
Регистрация пользователя
Процесс запуска начинается, когда пользователь выполняет одно из следующих действий:
Включает компьютер (который ранее был выключен)
Выполняет перезагрузку компьютера, выбрав опцию Завершение работы (Shutdown) в диалоговом окне Вход в Windows (Enter Password) или опцию Перезагрузка (Restart) в диалоговом окне Завершение работы Windows (Shut Down Windows)
К моменту регистрации пользователя в системе компьютер уже завершает загрузку Windows 2000 и большую часть процесса инициализации. Однако полностью все процессы будут завершены только после успешной регистрации пользователя в системе.