Пока же — в ожидании манны небесной — BIOS изучен вдоль и поперек, разогнано все, вплоть до вентиляторов и флопповодов, а при взгляде на холодильник на лице рождается коварная ухмылка: этот бы компрессор да в дело пустить — Celeron охлаждать… Шестьдесят кадров в секунду в «Кваке» уже не котируются — подавай ему все сто!
Дефрагментация жесткого диска после очередного сноса разложившейся Windows так ни разу и не была проведена, поскольку потратить на это дело лишних 30-40 минут просто кощунство — ведь за это время можно пройти пару уровней Max Payne! На самом видном месте разложены ярлыки к программам, предназначенным для ускорения работы ОС — всяческим TweakUI, WinBoost, TweakDUN и прочим. Правда, последний раз именно эксперименты с ними и привели к скоропостижной кончине Windows, но зато теперь драйвер системного устройства «руки юзера» глючит гораздо меньше.
Но больше всего раздражает то, что несмотря на все усилия по разгону каждый раз при включении ПК надо ждать, пока он загрузится — ну что за фигня, почти по минуте сидеть без дела приходится, теребя в руке джойстик! Так и неврастеником стать недолго!!! На скорость загрузки системы никакими настройками и хитростями заметно повлиять практически не удается.
Спасает от дурдома только режим StandBy — из него машина просыпается всего за несколько секунд, которые хоть и с трудом, но пережить все же можно. Но ведь не каждый же раз им можно пользоваться — «винда» без перезагрузки очень быстро становится неуправляемой, да и страшновато надолго оставлять без присмотра включенный в нашу отечественную сеть агрегат, который, можно сказать, является единственной радостью в жизни. Нет счастья в этом мире, короче говоря…
Это, конечно, крайний случай, и основная масса пользователей более терпелива, но именно медлительность Windows 2000 в свое время стала одной из причин непопулярности у домашнего пользователя этой довольно надежной ОС. И дело не только в повышенной требовательности к ресурсам системы — с этим еще можно было как-то справиться, прикупив побольше памяти. Особенно неприятен был чрезмерно долгий процесс ее загрузки и выключения: на вполне современных компьютерах порой приходилось ждать появления Рабочего стола по полторы минуты!
И это при том, что Windows 98 загружалась максимум секунд за тридцать, а «Миллениум», из которого почти выкорчевали DOS-составляющую, — и того быстрее. Разумеется, если бы преемник Windows 2000 был бы столь же вялым при загрузке, это стало бы серьезным фактором, препятствующим давно задуманному Microsoft переводу на платформу NT избалованных стремительностью и легкостью Windows 9x домашних пользователей. А ведь ставка разработчиками Windows XP делалась главным образом на них — именно эта категория потребителей способна сегодня принести корпорации наибольшие дивиденды.
И именно домашний пользователь придает большое значение скорости работы самой ОС
вообще и быстроте ее загрузки в частности. На рабочем месте, в принципе, не так важно — десять секунд надо ждать появления кнопки «Пуск» или три минуты: солдат спит, служба идет. Тем более что потратить эти несколько минут на загрузку системы нужно всего раз или два в день. А вот дома, когда нетерпеливому подростку хочется после школы поскорее залезть в интернет, пока родители не пришли и не увидели, что он там высматривает, — тут уже каждая секунда на счету.
И чтобы не распугать простых пользователей долгими утомительными загрузками, создатели Windows XP постарались на славу — впервые одним из приоритетных направлений при создании ОС было именно сокращение времени, необходимого на запуск системы, а так же на вывод ее из режимов StandBy и Hybernate.
Теория.
При создании Windows XP была поставлена задача добиться на типичном домашнем десктопе таких показателей:
— выход из режима Standby (S3) — не более 5 секунд;
— выход из режима Hibernate (S4) — не более 20 секунд;
— обычная загрузка до рабочего состояния — не более 30 секунд.
Разумеется, без некоторых исключений обойтись невозможно, это разработчики признали сразу. Например, ПК с дисками сверхвысокой емкости, с некоторыми SCSI-адаптерами, с RD-Ram, памятью ECC или с локализованной для использования иероглифов ОС должны грузиться чуть медленнее, но среднестатистический ПК с Windows XP никак не должен проигрывать по этому показателю системам семейства 9x. Собственно говоря, все это оказалось сегодня осуществимо на более или менее современных компьютерах — благодаря внедрению в жизнь требований технологий OnNow и ACPI . А вот что конкретно было сделано и удалось ли задуманное Microsoft или нет, мы и попробуем разобраться.
Ход полной загрузки Windows XP можно условно разделить на четыре этапа:
— загрузка основных файлов ОС в память;
— инициализация устройств;
— регистрация пользователя (Winlogon), старт системных служб и оболочки Explorer;
— загрузка дополнительного программного обеспечения.
Поскольку набор автоматически загружаемых на старте системы программ на каждом ПК разный, то завершением загрузки непосредственно операционной системы логично считать окончание загрузки ее оболочки — Проводника, когда на экране появляется Рабочий стол. Поэтому за крайние точки отсчета при измерении времени были приняты момент нажатия кнопки Power и момент появления ярлыков на Рабочем столе.
Если рассмотреть более детально получившийся в итоге серьезных усовершенствований ход загрузки Windows XP, то для условного среднего ПК она состоит из следующих процессов, часть которых протекает параллельно:
— начальная инициализация (в частности — дисков) — в Windows XP составляет около 2 секунд против 8 в Windows 2000;
— инициализация драйверов устройств — зависит от конкретной системы, порядка 4 секунд;
— новинка Windows XP — упреждающее чтение «Prefetching», при котором с диска заранее считываются еще не затребованные данные; осуществляется параллельно с инициализацией устройств — около 6 секунд;
— инициализация реестра и файла подкачки — еще пара секунд;
— инициализация видеоподсистемы и установка нужного разрешения экрана — тоже порядка пары секунд;
— регистрация пользователя и запуск служб — около 8 секунд;
— старт оболочки Explorer — 2 секунды.
Как видите, в идеале должно получаться не более 20-30 секунд, что вполне сравнимо со временем загрузки гораздо более простых систем Windows 9x. А все за счет того, что в Windows XP ускорение происходит буквально на всех этапах загрузки благодаря таким приемам, как упреждающее чтение данных, параллельная инициализация устройств, параллельное выполнение различных этапов загрузки, отложенный запуск ряда служб, исключение ряда компонентов из процесса загрузки, объединение некоторых сервисов в один общий процесс, да и при регистрации пользователя более не требуется обязательное завершение инициализации сети, а обращение к сетевым ресурсам при загрузке сведено до минимума.
Кроме того, Windows XP поддерживает спецификацию Simple Boot Flag , благодаря которой автоматически сокращается время, необходимое BIOS для проведения процедуры самотестирования POST в случае, если предыдущая загрузка ОС была успешной. Улучшен системный загрузчик ntldr, который теперь умеет кэшировать данные о файлах и директориях, чтобы сократить обращения к диску при загрузке. Это приводит к четырехкратному ускорению его работы по сравнению с Windows 2000. Причем если на ПК установлено две ОС — Windows 2000 и Windows XP, то этот эффект (но только этот — связанный с усовершенствованием ntldr) коснется и «винтукея», так как его загрузчик будет переписан более продвинутым. Кстати, благодаря новым особенностям ntldr ускорился и выход системы из спящего режима. Ну и кроме того, имеется ряд мелких доработок: например, ускорена инициализация реестра, уменьшено время на поиск PS/2-клавиатур, а если у вас имеется сетевая карта, не подключенная к сети, то это обстоятельство также более не будет вызывать задержек загрузки.
Оптимизирована управление питанием во многих аспектах, в частности, улучшена работа спящего режима Hibernation — теперь в файл-образ оперативной памяти не сбрасываются пустые страницы, алгоритм его компрессии улучшен, при записи на диск файла hyberfil.sys используется режим DMA, а запись на диск и компрессия идут параллельными процессами. Обновлен алгоритм оповещения устройств и приложений об изменении режима электропитания. В результате ускорена не только обычная загрузка, но и пробуждение ПК из спящего и ждущего режимов.
Но особого внимания заслуживает ключевой режим упреждающего чтения — Prefetching. В предыдущих системах во время загрузки при инициализации драйверов, загрузке сервисов и оболочки данные с диска в память загружались последовательно, по мере поступления запросов на них. Теперь же Windows XP параллельно с выполнением других операций заранее считывает эти данные, не дожидаясь запроса, что приводит к самому значительному эффекту. Этот интеллектуальный алгоритм упреждающего чтения применяется и к запуску программ — после первого запуска каждой программы создаются специальные сценарии их загрузки (они хранятся в папке WinntPrefetch), в которых описано, какие файлы нужно заранее поместить в память. Эти же файлы, вернее, их некий общий знаменатель — файл WinntPrefetchlayout.ini — используется затем дефрагментатором для оптимизации расположения файлов на диске, что еще больше сокращает время загрузки.
Кстати, вы можете сами проверить, насколько эффективен этот механизм применительно к загрузке ОС — отключить Prefetching можно, установив в разделе реестра HKEY_LOCAL_MACHINESYSTEM CurrentControlSetControlSession Manager Memory ManagementPrefetchParameters параметр «EnablePrefetcher» равным «0».
Непосредственно же сам протокол загрузки ОС фиксируется в файле %WinDir% Prefetchnotosboot-B00DFAAD.pf, который для большей объективности содержит сведения о последних 8 запусках ОС и обновляется каждый раз спустя 1 минуту после загрузки системы (мониторинг завершается через 10 секунд после начала загрузки оболочки Explorer, так что под него попадают и некоторые автозагружаемые программы). Если его удалить, то следующая загрузка не будет использовать упреждающее чтение и вы, скорее всего, обнаружите, что система грузится почти в два раза медленнее.
Но и это еще не все. В Windows XP появилась новая функция BootDefrag (или BootOptimize), суть которой заключается в следующем. Поскольку дефрагментация и оптимизация расположения на диске файлов, нужных системе во время загрузки, решающим образом влияет на весь процесс загрузки ОС, а пользователю часто лениво самому запускать дефрагментатор (не то чтобы даже часто, а почти всегда), то система теперь умеет сама — так сказать, без участия оператора — оптимизировать эти файлы, причем не как ей вздумается, а основываясь на данных все тех же файлов notosboot-B00DFAAD.pf и layout.ini. Правда, происходит автоматическая дефрагментация при простое системы — если пользователь 10-30 минут после загрузки ОС не производил никаких операций. А потому может случиться так, что на вашей интенсивно используемой системе файлы окажутся не оптимизированы.
Проверить, произошла ли оптимизация, можно, заглянув в реестр — если в разделе HKEY_LOCAL_MACHINESOFTWAREMicrosoft DfrgBootOptimizeFunction стоит параметр «OptimizeComplete»=»Yes», то дефрагментация была произведена. Если же этого пока не случилось, то просто перегрузите ПК и оставьте его минут на тридцать в одиночестве — Windows сама все сделает, и ускорение следующей загрузки будет заметно даже на глаз.
Только запомните, что перед оптимизацией ПК со свежеустановленной ОС должен иметь в своем багаже хотя бы три перезагрузки для накопления нужных данных. Штатный дефрагментатор Windows XP не отменяет эту оптимизацию, так что пользоваться им можно без опаски.
Если же вы сомневаетесь, работает ли вообще у вас эта функция, или хотите ее отключить, то проверьте в реестре наличие параметра, включающего BootDefrag: HKEY_LOCAL_MACHINESOFTWAREMicrosoft DfrgBootOptimizeFunction — параметр «Enable»=»Y».
В принципе, если система уже однажды оптимизирована и файлы на диске расположены должным образом, то вряд ли есть смысл оставлять эту функцию и дальше работающей — ее отключение может еще немного ускорить загрузку.
Практика.
Но, к сожалению, желаемое не всегда соответствует действительному. Для того же, чтобы выяснить, как обстоят дела в реальности, на вполне конкретных компьютерах, а не на абстрактных системах из тестовых лабораторий в Редмонде, придется самолично вооружиться секундомером и небольшой утилиткой, позволяющей максимально объективно измерять время загрузки системы и по результатам мониторинга принудительно проводить оптимизацию загрузочных файлов.
Называется она BootVis. Утилита эта примечательна во всех отношениях и вызвала своим недавним появлением настоящий фурор в некоторых сетевых конференциях. Во всех новостях утверждалось, что после ее использования система начинает грузиться на 30%, а то и на все 50% быстрее. О том, насколько это справедливо, мы еще поговорим, а пока нас интересует ее работа в части мониторинга загрузки ОС.
Помимо того, что BootVis очень наглядным образом показывает, сколько и на какой этап загрузки системы уходит времени (например, параллельность выполнения этих этапов на ее графиках наблюдается более чем отчетливо), она умеет отображать график загрузки центрального процессора при старте системы, график дисковых операций ввода-вывода, график задержек при загрузке драйверов и еще ряд данных, полезных не только для удовлетворения собственного любопытства, но и для выяснения причин заторов системы во время ее загрузки.
Аналогичная информация выводится и для режимов StandBy и Hibernate — на временной шкале прекрасно прослеживается весь процесс засыпания и пробуждения компьютера. Сведения, которые выводит программа, кстати говоря, не ограничиваются лишь графиками — еще более детальную информацию по каждому этапу загрузки ОС можно получить, если воспользоваться контекстным меню, появляющимся при щелчке правой кнопкой мыши на том или ином участке графика.
Пользоваться программой очень легко, да и инсталляции она не требует — достаточно распаковать скачанный архив в любую удобную папку или прямо на Рабочий стол. После ее запуска в меню «Trace» вы увидите четыре команды: Next Boot, Next Boot with Driver Delays, Next Standby / Resume, Next Hibernate / Resume. Это режимы тестирования, которые предлагает BootVis. Учтите только, что при тестировании времени перехода в спящий режим и возврата из него вне контроля BootVis остается считывание файла hyberfil.sys, в котором сохранено содержимое оперативной памяти, так что без секундомера все-таки не обойтись. Для нашего же случая определения времени загрузки Windows нужно выбрать режим «Next Boot», после чего программа перегрузит систему и сразу после старта ПК начнет отслеживать процесс запуска ОС.
Как только Windows полностью загрузится, на дисплее автоматически появится окно BootVis со всей собранной ей информацией. Единственное условие ее успешной работы заключается в том, что нельзя выключать Планировщик заданий, иначе программа не сможет сама запуститься.
Итак, на тестовый ноутбук Sony VAIO FX101 (Celeron 600, 128 Мб, 10 Гб UDMA/66), на котором «Миллениум» загружается секунд за 20, была установлена вторая система — Windows XP (раздел FAT32). Для начала отложим BootVis в сторонку и измерения произведем исключительно секундомером, дабы не было риска их исказить каким-то влиянием BootVis. Самая первая загрузка Windows XP оказалась и самой долгой — помимо того, что система не была никоим образом пока не оптимизирована, во время первого ее запуска еще имела место и куча всяких глупостей типа рекламного тура по Windows XP. Заняла она почти минуту, что сразу напомнило сонную Windows 2000. К слову сказать, самая первая загрузка не подвергается мониторингу со стороны ОС и не учитывается при последующей оптимизации, поскольку из-за своих особенностей не является типичной. Далее производим несколько перезагрузок ОС подряд и получаем неплохо повторяющийся, а значит объективный результат — около 40 секунд нужно для запуска не оптимизированной Windows XP на реальном и не очень отставшем от жизни ПК. Это, конечно, раза в два хуже, чем у Windows Me, но улучшения по отношению к Windows 2000 уже заметны (хотя до заявленных Microsoft 30 секунд новая система пока явно не дотягивает).
Чтобы сработала функция BootDefrag, попробуем сразу же после загрузки оставить систему в бездействии минут на 30. (Именно этого и не делают многие пользователи, не знакомые с особенностями Windows XP, из-за чего их система в течение долгого времени не показывает всех своих возможностей.) И действительно — минут через 20 простоя сама по себе возникает некая дисковая активность, очень похожая на процесс дефрагментации, длится это все минут 5.
Посмотрим, что получилось. Перегружаем ПК — и оказывается, что Рабочий стол появляется на экране уже через 27-28 секунд! Вот они, новые технологии в действии! Не исключаю, что благодаря им на некоторых ПК Windows XP станет грузиться даже быстрее Windows Me. Так что можно с определенностью сказать, что Microsoft на этот раз выполнила свои обещания — система загружается очень даже шустро.
Посмотрим далее, какой эффект даст применение столь радостно встреченной широкой публикой утилиты BootVis. Сначала проведем обычный мониторинг загрузки, чтобы выяснить, насколько ее данные совпадают с тем, что показывает наш секундомер. После нескольких тестов получаем среднее время загрузки ОС, равное 25 секундам — это на две секунды меньше итогов ручного метода, что, в общем, не так критично и можно списать на погрешности измерения и небольшое расхождение точек отсчета.
Главное — результат стабильно повторяется от загрузки к загрузке, значит, можно переходить к самому интересному эксперименту: разрешить BootVis оптимизировать систему для получения обещанного 30-процентного прироста скорости загрузки. Наши 25 секунд должны после этого чудесным образом превратиться в 15, что не просто круто, а очень круто даже для Windows Me! В меню Trace выбираем пункт «Optimize System» и в течение нескольких томительных минут ожидания наблюдаем, как после перезагрузки программа упорно шуршит жестким диском, перемещая файлы по своим хитрым алгоритмам. Когда процесс дефрагментации завершается, снова запускаем мониторинг времени загрузки в BootVis, перегружаем ПК и смотрим, что же получилось…
А получились все те же 25 секунд… Где же обещанные 30 и 50%??? Эффекта-то от программы никакого! А все дело в том, что наша тестовая система уже один раз сама себя оптимизировала — разница между 40 секундами и 27 секундами как раз и составляет те самые 30%, и больше тут уже сделать практически ничего нельзя. По крайней мере, изменения после действий BootVis слишком незначительны, чтобы быть достойными упоминания.
Слухи же о чудодейственных возможностях BootVis, видимо, пошли от тех товарищей, которые столь активно используют свой ПК, что у Windows нет ни минуты свободного времени на проведение дефрагментации загрузочных файлов.
Так что больших надежд на эту программу возлагать не стоит — механизмы, заложенные в Windows XP, и без нее прекрасно справляются с оптимизацией процесса загрузки, надо только после очередного включения ПК дать системе полчаса отдыха. BootVis же лишь делает все то же самое, но по запросу пользователя, в удобное для него время. Главное же достоинство этой программы заключается в том, что после ее применения не становится хуже, так что пробуйте — если есть желание ради призрачной надежды качать 325 кб.
Рекомендации.
Параллельно с серьезным усовершенствованием операционной системы в части управления питанием и загрузки Microsoft дает рекомендации и пользователям предпринять со своей стороны ряд усилий для того, чтобы помочь Windows XP проявить себя во всей красе.
Правда, все это отнюдь не означает, что рекомендации, подходящие к ускорению загрузки ОС, столь же благотворно скажутся на всем остальном процессе общения с Windows — например, использование NTFS не всегда оказывается оправдано на домашних системах, а пользоваться диском, имеющим всего один раздел, крайне неудобно.
Почитать первоисточник вы сможете на страницах http://www.microsoft.com, вкратце же рекомендации Microsoft сводятся к следующему:
— Использовать файловую систему NTFS — она, в отличие от FAT32, не требует помещения целой таблицы FAT в память при загрузке, что заметно на дисках более 8 Гб.
— Не использовать конвертацию FAT32 в NTFS после установки ОС — удалить все разделы FAT еще до установки ОС и разрешить ей создать файловую систему NTFS во время инсталляции.
— Использовать только один раздел на диске.
— Установить жесткий диск в качестве первого загрузочного устройства.
— Использовать все настройки CMOS Setup, позволяющие сократить время загрузки и проведения POST.
— Отключить логотипы, которые часто зашиты в системный BIOS и BIOS видеокарты.
— Отключить в CMOS Setup поиск устройств на незанятых IDE-каналах.
— Иметь последнюю версию BIOS для вашей материнской платы с поддержкой функции Simple Boot Flag и обновленный BIOS видеокарты.
— Желателен быстрый диск — от 7200 об./мин., имеющий большой буфер.
— Необходим достаточный объем оперативной памяти — от 128 Мб.
— Необходим современный процессор.
— Убедиться, что дефрагментация загрузочных файлов функцией BootDefrag была произведена и попробовать использовать утилиту BootVis — возможно, на вашей системе она все же добьется более глубокой оптимизации.
— Сократить число автозагружаемых программ и системных служб.
— Не использовать обои Рабочего стола и прочие декоративные «прибамбасы».
Но, даже воспользовавшись этими советами, вы, скорее всего, уже не получите большого прироста скорости загрузки — так, например, на моем тестовом ноутбуке отключение ряда ненужных сервисов и удаление абсолютно всех программ из автозагрузки дало выигрыш менее секунды, что, конечно же, на общем фоне смотрится очень даже бледно.
В целом же, как мы убедились — прогресс в благородном семействе Windows NT налицо, жаль только, что обладатели более привычной для многих Windows Me не могут воспользоваться для оптимизации своей системы утилитой такого же плана, что и BootVis.
Насколько мне известно, все, что им может помочь в борьбе за секунды, — это анализ протокола загрузки ОС с помощью программы Boot Log Analyzer и небольшая утилита от той же Microsoft — Devview, показывающая, какое устройство и сколько времени требует для своей инициализации при загрузке системы. Лично я после анализа собранных ею данных отключил ненужные мне COM- и LPT-порты на своем ПК, но выигрыш от этой операции составил около секунды.
Впрочем, не за секунды ли мы и боремся?
Внимание!
Читайте другие интересные статьи на эту тему в разделе ‘Статьи и Книги’.
Так же в разделе ‘Полезное’ много интересной информации
Оцените статью: Голосов
ПРАКТИЧЕСКАЯ РАБОТА
№1
ЗАГРУЗКА OC
WINDOWS
XP
Цель: изучить этапы
и варианты загрузки ОС MS
Windows
XP,
файлы, используемые в процессе загрузки,
назначение и содержание файла Boot.ini.
Теоретическая
часть
Включается тумблер
питания.
Блок питания
проводит самодиагностику. Когда все
электрические параметры в норме БП
посылает сигнал Power Good процессору. Время
между включением питания и уходом
сигнала обычно 0.1-0.5 секунд.
Таймер микропроцессора
получает сигнал Power Good.
С получением этого
сигнала таймер перестает посылать
сигнал Reset процессору, позволяя тому
включиться.
CPU
начинает выполнять код ROM
BIOS
(Base
Input/Output
System
– Базовая система ввода/вывода).
Процессор загружает
ROM BIOS начиная с адреса FFFF:0000. По этому
адресу прописан только переход на адрес
настоящего кода BIOS ROM.
Система выполняет
начальный тест аппаратных компонентов
компьютера.
Каждая ошибка,
встречающаяся на этом этапе сообщается
определенными звуковыми кодами, так
как видео система еще не инициализирована.
BIOS ищет адаптеры,
которые могут потребовать загрузки
своей BIOS.
Самым типичным
случаем в этом случае является видео
карта. Загрузочная процедура сканирует
память с адреса C000:0000 по C780:0000 для поиска
видео ROM. Таким образом загружаются
системы всех адаптеров.
ROM BIOS проверяет
выключение это или перезагрузка.
Процедура проверяет
два байта по адресу 0000:0472. Любое значение
отличное от 1234h является свидетельством
«холодного» старта.
Если это включение
ROM BIOS запускает полный POST (Power On Self Test).
Если это перезагрузка, то из POST процедуры
исключается проверка памяти.
Процедуру POST можно
разделить на три компонента:
-
видео тест
инициализирует видеоадаптер, тестирует
карту и видео память, показывает
конфигурацию или возникшие ошибки; -
идентификация
BIOS показывает версию прошивки,
производителя и дату; -
тест памяти
проверяет чипы памяти и подсчитывает
размер установленной памяти.
Ошибки, которые
могут возникнуть в ходе POST проверки,
можно разделить на критические и не
очень. Во втором случае они показываются
на экране, но позволяют продолжить
процесс загрузки. В первом случае процесс
загрузки останавливается, что обычно
сопровождается серией звуковых сигналов.
BIOS читает
конфигурационную информацию из CMOS.
Небольшая область
памяти (64 байт) питается от батарейки
на материнской плате. Самое главное для
загрузки в ней — порядок, в котором должны
опрашиваться приводы, какой из них
должен быть первым — дисковод, CD-ROM или
жесткий диск.
Если первым
является жесткий диск, BIOS проверяет
самый первый сектор диска на наличие
MBR (Master Boot Record – Главная загрузочная
запись). Для
дисковода проверяется Boot Record в первом
секторе.
Последние два байта
MBR служат признаком того, что данный
сектор есть MBR, а, следовательно, диск
является загрузочным. MBR
занимает
первый сектор на цилиндре 0, 0 головке,
512 байт размером. Если она находится, то
загружается в оперативную память по
адресу 0000:7C00, потом проверяется на
правильную сигнатуру — два последних
байта должны быть 55AAh. Отсутствие MBR или
этих проверочных байт останавливает
процесс загрузки и выдает предупреждение.
Сама MBR состоит из двух частей: системного
загрузчика (Partition
loader или Boot loader) и таблицы разделов
(партиций). Системный загрузчик получает
управление при загрузке с этого жесткого
диска, а таблица разделов (партиций)
содержит информацию о логических дисках,
имеющихся на жестком диске.
Правильная MBR
запись записывается в память и управление
передается ее коду.
Процесс установки
нескольких операционных систем на один
компьютер обычно заменяет оригинальный
загрузчик на свою программу, которая
позволяет выбрать, с какого диска
производить остальную загрузку.
Дальше Boot Loader
проверяет таблицу партиций в поисках
активной. Загрузчик дальше ищет
загрузочную запись (Boot Record) на самом
первом секторе раздела.
В данном случае
Boot Record это еще 512 байт — таблица с описанием
раздела (количество байт в секторе,
количество секторов в кластере и т.п.)
и переход на первый файл операционной
системы (IO.SYS в DOS).
После этого
управление передается операционной
системе.
Boot Record проверяется
на правильность и, если код признается
правильным, то код загрузочного сектора
исполняется как программа.
Загрузка Windows XP
контролируется файлом NTLDR, находящемся
в корневой директории системного
раздела. NTLDR работает в четыре приема:
-
начальная фаза
загрузки; -
выбор системы;
-
определение
аппаратных средств; -
выбор конфигурации.
В начальной фазе
NTLDR переключает процессор в защищенный
режим, затем загружает соответствующий
драйвер файловой системы для работы с
файлами любой файловой системы,
поддерживаемой XP (FAT-16,
FAT-32 и NTFS).
Если в корневой
директории есть BOOT.INI, то его содержание
загружается в память. Если в нем есть
записи более чем об одной операционной
системе, NTLDR останавливает работу —
показывает меню с выбором и ожидает
ввода от пользователя определенный
период времени.
Если такого файла
нет, то NTLDR продолжает загрузку с первой
партиции первого диска, обычно это C:.
Если в процессе
выбора пользователь выбрал Windows NT, 2000
или XP, то проверяется нажатие F8 и показ
соответствующего меню с опциями загрузки.
После каждой удачной
загрузки XP создает копию текущей
комбинации драйверов и системных
настроек известную как LastKnownGood
Configuration. Этот коллекцию можно использовать
для загрузки в случае, если некое новое
устройство внесло разлад в работу
операционной системы.
Если выбранная
операционная система XP, то NTLDR находит
и загружает DOS программу NTDETECT.COM для
определения аппаратных средств,
установленных в компьютере.
NTDETECT.COM строит
список компонентов, который потом
используется в ключе HARDWARE ветки
HKEY_LOCAL_MACHINE реестра.
Если компьютер
имеет более одного профиля оборудования,
программа останавливается с меню выбора
конфигурации.
После выбора
конфигурации NTLDR начинает загрузку ядра
XP (NTOSKRNK.EXE).
В процессе загрузки
ядра (но перед инициализацией) NTLDR
остается главным в управлении компьютером.
Экран очищается и внизу показывается
анимация из белых прямоугольников.
Кроме ядра загружается и Hardware Abstraction
Layer (HAL.DLL), дабы ядро могло абстрагироваться
от железа. Оба файла находятся в директории
System32.
NTLDR загружает
драйвера устройств, помеченные как
загрузочные. Загрузив их, NTLDR передает
управление компьютером дальше.
Каждый
драйвер
имеет
ключ
в
HKEY_LOCAL_MACHINESYSTEMServices. Если
значение Start равно SERVICE_BOOT_START, то устройство
считается загрузочным. Для каждого
такого устройства на экране печатается
точка.
NTOSKRNL в процессе
загрузки проходит через две фазы — так
называемую фазу 0 и фазу 1. Первая фаза
инициализирует лишь ту часть микроядра
и исполнительные подсистемы, которая
требуется для работы основных служб и
продолжения загрузки. На этом этапе на
экране показывается графический экран
со статус баром.
XP запрещает
прерывания в процессе фазы 0 и включает
их только перед фазой 1. Вызывается HAL
для подготовки контроллера прерываний.
Инициализируются Memory Manager, Object Manager,
Security Reference Monitor и Process Manager. Фаза 1 начинается,
когда HAL подготавливает систему для
обработки прерываний устройств. Если
на компьютере установлено более одного
процессора, они инициализируются. Все
исполнительные подсистемы реинициализируются
в следующем порядке:
-
Object
Manager; -
Executive;
-
Microkernel;
-
Security
Reference Monitor; -
Memory
Manager; -
Cache
Manager; -
LPCS;
-
I/O
Manager; -
Process Manager.
Инициализация
Менеджера ввода/Вывода начинает процесс
загрузки всех системных драйверов. С
того момента, где остановился NTLDR,
загружаются драйверы по приоритету.
Сбой в загрузке
драйвера может заставить XP перезагрузиться
и попытаться восстановить LastKnownGood
Configuration.
Процесс загрузки
не считается завершенным до тех пор,
пока пользователь не залогинился в
систему. Процесс инициализируется
файлом WINLOGON.EXE, запускаемым как сервис,
и поддерживается Local Security Authority (LSASS.EXE),
который и показывает диалог входа в
систему.
Это диалоговое
окно показывается примерно тогда, когда
Services Subsystem стартует сетевую службу.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
Применение сторонних утилит для настройки Windows уже давно стало традицией среди пользователей, а стоило бы знать, что множество параметров операционной системы можно настроить ее же средствами, не прибегая к сторонним и подчас платным инструментам. Чего стоит только одна PowerShell вкупе с командной строкой. Впрочем, речь сегодня пойдет не о них, а о MSConfig — замечательной во многих отношениях штатной утилите, предназначенной для управления автоматически запускаемыми процессами и процедурой загрузки Windows.
В настоящее время утилита MSConfig используется в основном при проведении различного рода диагностических работ.
Сама тулза диагностическим инструментом не является, она позволяет последовательно отключать службы, второстепенные драйвера и элементы автозагрузки, исключая их потенциально негативное влияние на работу Windows и помогая таким образом установить виновника неполадки. Другой пример использования MSConfig — включение безопасного режима Windows, также служащего для проведения диагностических и ремонтных работ.
Реже утилита используется для тестирования работы операционной системы и программного обеспечения в условиях предоставления ограниченного объема ресурсов процессора и оперативной памяти. Кроме того, MSConfig может служить в качестве инструмента управления приоритетами загрузки нескольких операционных систем, если таковые установлены на одном компьютере. Наконец, MSConfig можно использовать как своего рода лаунчер для запуска некоторых средств администрирования.
Но обо всём по порядку.
Немного истории
MSConfig впервые появилась в Windows 98 как инструмент управления режимами загрузки и запускающимися при старте операционной системы службами и приложениями. В Windows 2000 разработчики Microsoft почему-то решили ее убрать, но в XP вернули на место, где она и остается по сей день. В Windows 98 MSConfig значительно отличалась от того инструмента конфигурации, который имеется сейчас в Windows 10. Поскольку в ранних версиях системы еще не было реестра, а настройки хранились в конфигурационных файлах, в MSConfig присутствовали одноименные вкладки, предоставляющие доступ к этим файлам.
Например, переключившись на вкладку System.ini, пользователь мог настроить загрузку служб и драйверов, прописанных в файле system.ini, аналогичным образом обеспечивался доступ к системным настройкам из вкладок Win.ini, Config.sys и Autoexec.bat. Доступ к объектам автозагрузки предоставлялся на вкладке Startup, а доступ к режимам загрузки Windows — на вкладке «Общие» и только с переносом системных настроек в реестр вкладки получили соответствующие настройкам названия. После этого MSConfig почти не менялся, если не брать в расчет внешний вид окна и вкладку «Автозагрузка», инструментарий которой в Windows 8 был перемещен в Диспетчер задач.
MSConfig в Windows 10
В Windows 10 утилита MSConfig является точной копией себя же самой в Windows 8.1. Ее исполняемый файл msconfig.exe располагается в каталоге System32, запустить ее можно разными способами — одноименной командой из окошка «Выполнить».
Из командной строки и PowerShell.
Из адресной строки Проводника.
Через оснастку классической панели управления «Администрирование», а также через системный поиск.
Небольшое по размерам окошко утилиты содержит пять вкладок: Общие, Загрузка, Службы, Автозагрузка и Сервис. Четвертая вкладка Автозагрузка в Windows 10 не содержит никаких опций за исключением ссылки на Диспетчер задач.
Это своего рода рудимент и, скорее всего, в следующих версиях вкладка будет удалена.
MSConfig — Общие
Опции первой вкладки «Общие» определяют режим запуска операционной системы.
Всего режимов три:
• Обычный запуск — Стандартный запуск операционной системы, загружающейся со всеми службами и элементами автозагрузки, в том числе потенциально небезопасными. Активен по умолчанию.
• Диагностический запуск — В этом «чистом» режиме Windows 10 запускается без сторонних служб, программ, элементов автозагрузки и драйверов. Используется при удалении сомнительного программного обеспечения, которое не удается деинсталлировать в обычном режиме работы, а также получения доступа к ключевым средствам администрирования, которые по какой-то причине оказались недоступными.
• Выборочный запуск — По сути, то же самое что и диагностический запуск, только с возможностью более гибкой настройки. Так, вы можете выбрать, какой именно набор стартующих вместе с Windows модулей следует отключать, а какой нет. Для выборочного отключения в этом режиме доступны элементы автозагрузки, системные службы и альтернативная конфигурация загрузчика. Последний пункт включен по умолчанию и недоступен для управления. Активируется он только в том случае, если вы измените конфигурацию загрузки на второй вкладке — очень удобно, когда нужно быстро восстановить дефолтные параметры загрузки системы.
MSConfig — Загрузка
Пожалуй, самая интересная вкладка в оснастке MSConfig. Переключившись на нее, в верхней части окна вы увидите как минимум одну запись, содержащую название установленной системы. Если у вас установлено несколько версий Windows, количество записей будет соответствующим. Вы можете управлять записями загрузчика, выбирая одну из систем в качестве загружаемой по умолчанию. Помимо предоставления списка установленных на одном компьютере ОС Windows, ее инструменты позволяют управлять параметрами загрузки — загружать систему в безопасном режиме.
При этом предлагается на выбор использование четырех параметров.
• Параметр «Минимальная загрузка» обеспечивает работу безопасного режима с отключенными сетевыми драйверами и элементами автозагрузки, но с полноценным графическим интерфейсом.
• Если же вы выберите параметр «Другая оболочка», то единственным доступным инструментом управления в Windows 10 окажется командная строка. Интернет при этом так же работать не будет.
• Параметр «Восстановление Active Directory» загружает систему в обычном безопасном режиме с GUI и со службами активных каталогов. Используется в основном системными администраторами при решении проблем в сетевом окружении.
• Наконец, параметр «Сеть» загружает Windows 10 в безопасном режиме с GUI и с возможностью подключения к интернету.
Обратите также внимание на блок параметров «Без GUI», «Журнал загрузки», «Базовое видео» и «Информация об ОС». Непосредственного отношения к безопасному режиму они не имеют и используются в качестве дополнительных настроек.
• Без GUI — Используется при отладке системы. При загрузке Windows не отображается экран приветствия.
• Журнал загрузки — Если задействовать этот параметр, сведения о запущенных вместе с операционной системой драйверах и службах будут записаны в лог ntbtlog.txt, сохраняемый обычно в корневую папку Windows. Используется, когда нужно выяснить, на каком автозагружаемом драйвере или службе произошел сбой.
• Базовое видео — Параметр загружает только стандартный видеодрайвер Microsoft. Пригодится, если по какой-то причине у вас слетел родной драйвер видеокарты.
• Информация об ОС — Используется вместе с «Без GUI», выводит в процессе загрузки список загружаемых драйверов.
• Таймаут — Отдельный параметр, позволяющий задать период времени, в течение которого на загрузочном экране будет отображаться список установленных рядом с основной Windows систем.
На этой же вкладке имеется кнопка «Дополнительные параметры загрузки», открывающая настройки тестирования загрузки ОС в нестандартных условиях. К примеру, вы можете попробовать загрузить Windows 10 с ограниченным количеством ядер процессора и объемом оперативной памяти, проигнорировать «рекомендации» BIOS, которыми ОС руководствуется при загрузке и даже протестировать только что разработанный драйвер под новое устройство.
А так, по большому счету эти функции вам не нужны, поскольку изменение объема выделяемых ресурсов никак не отразится на скорости загрузки, что же касается блокировки PCI и прочих опций, игры с ними могут привести к падению системы или ее зависанию.
MSConfig — Службы
Здесь всё намного проще. На этой вкладке вы можете отключить все или некоторые сторонние и системные службы. Последовательное отключение служб применяется в рамках диагностики, позволяя выявить виновника проблем в работе операционной системы. «Службы» частично дублируют функционал вкладки «Общие», в чём вы можете убедиться, отключив любую службу — вариант запуска на вкладке «Общие» автоматически переключиться на «Выборочный запуск».
MSConfig — Сервис
Дополнительная вкладка, содержащая список команд для запуска наиболее часто используемых инструментов администрирования. Здесь вы найдете опции для запуска командной строки, редактора реестра, восстановления системы, разных мониторов и прочих плюшек.
Ничего руками вводить не нужно, просто выбираем необходимый элемент и жмем кнопку «Запуск».
Итог
По большому счету это всё, что следовало знать об этом полезном инструменте. Утилита MSConfig очень удобна, когда нужно загрузить Windows в безопасном режиме, быстро отключить загружающиеся вместе с операционной системой компоненты или запустить какую-нибудь системную оснастку. Что касается безопасности, навредить системе с ее «помощью» вряд ли получится, поэтому после ознакомления с основными функциями, на вооружение утилита может быть взята даже начинающими пользователями.
Загрузка…