Тарифы Услуги Сим-карты

Последовательность процесса загрузки операционной системы. Компьютер включается, но не запускается операционная система: возможные причины и способы решения проблемы

Надоело, что Windows 7,8,10 медленно загружается? ДА, чем больше времени установлена операционная система, тем больше начинает мучить эта тема. Компьютеры становятся всё мощнее и производительнее, но вместе с этим растут и запросы программ, которые разрабатываются под новое оборудование. Так, например, Windows XP загружается на порядок быстрее, чем Windows 7/10 на одинаковом оборудовании.

Так что теперь, отказаться от новых возможностей ради быстрой загрузки операционной системы? Нет, к счастью есть хитрые и не очень приёмы, которые помогут нам в решении данной проблемы. В этой статье вы узнаете как программно сократить время загрузки Windows до 20 секунд и менее.

Шаг первый, службы и процессы

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

Запускаем программу «Конфигурация системы», для этого жмём «Win+ R», пишем в окошке: msconfig и жмём Enter. Чтобы отключить временно ненужные службы, переходим в одноимённую вкладку:

Но нужно понимать какие службы можно выключить, а какие необходимо оставить рабочими. По большинству служб легко найти информацию в интернете, поэтому останавливаться подробно на этом не буду. Скажу только: не надо торопиться и отключать всё подряд, это может печально отразиться на работе операционной системы.

Пользуясь той же логикой, отключаем программы, загружаемые при старте системы, на следующей вкладке «Автозагрузка». Более подробно рассказано в отдельной статье. Для применения новых параметров запуска необходимо будет перезагрузить компьютер.

Шаг второй, реестр

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

Не редко деинсталляторы программ работают неэффективно, оставляя в реестре записи о своём присутствии и работе (параметры, регистрируемые библиотеки, привязка к определённым расширениям файлов и т.д.). Такие записи можно считать мусором, захламляющим БД. И от этого мусора необходимо избавляться, для чего стоит использовать такие утилиты как, например, Reg Organizer, CCleaner, Ashampoo WinOptimizer и другие.

Запускаем CCleaner, переходим в раздел «Реестр», нажимаем «Поиск проблем», и по окончанию — «Исправить выбранное»:

Во время такой очистки, да и просто во время работы Windows, реестр постоянно подвергается фрагментации. Значит необходимо будет выполнить ДЕфрагментацию реестра. Это можно сделать с помощью программы Defraggler , того же разработчика. Однако, сделаю важное замечание, что в некоторых случаях «чистка» реестра может затронуть и важные параметры. Поэтому обязательно предварительно , и в случае проблем в работе Windows вы сразу сможете восстановиться до предыдущего состояния.

Шаг третий, главный

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

Поскольку рассматриваемая ОС создана компанией Microsoft, то воспользуемся профилировщиком, созданным в той же компании – Windows Performance Toolkit. С недавних пор этот инструмент стал входить в состав Windows SDK . На сайте компании Microsoft можно скачать web-установщик.

Все входящие компоненты ставить необязательно, можно обойтись лишь Windows Performance Toolkit

Данный инструмент позволяет провести трассировку загрузки операционной системы с самого начала. Нам нужен исполняемый файл «xbootmgr.exe», который находится в той папке, куда вы соизволили установить Windows Perfomance Toolkit, по умолчанию он располагается в директории «C:\Program Files\Microsoft Windows Performance Toolkit\».

Посмотрите видео или продолжите чтение статьи:

Для вызова утилиты следует запустить xbootmgr.exe с параметром, например параметр «-help» отобразит список всех возможных функций. Для этого нажимаем кнопки «Win + R» или идём в меню «Пуск -> Выполнить», и в окно вводим команду:

xbootmgr –help

Путь к файлу добавлять не обязательно, если и так запускается:

Ради интереса, если хотите посмотреть, как ваша система ведёт себя при запуске в данный момент, то выполните команду:

xbootmgr -trace boot

Она перезагрузит компьютер и соберёт данные во время запуска. Результат её работы можно посмотреть в файле boot_BASE+CSWITCH_1.etl , который xbootmgr сохранит в своей папке или в папке «C:\Users\ваше_имя». В этом файле содержится вся информация о поведении программ при запуске системы, можно увидеть много интересного. Для этого нужно кликнуть по файлу два раза, чтобы открылся Анализатор:

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

Теперь перейдём к делу — запустим процесс автоматического анализа и ускорения загрузки Windows. Выполните команду:

xbootmgr -trace boot –prepsystem

В ходе оптимизации, по умолчанию, будет выполнено 6 перезагрузок и в той же директории будет сохранено 6 файлов с информацией о поведении программ при каждой перезагрузке. Весь этот процесс довольно длительный, но участия пользователя не требует. С успехом можно пообедать пока программа работает. И не забудьте сначала проверить, что есть пару Гигабайт свободного места на диске «C:»!

После перезагрузок будут появляться сообщения в белом окошке, например «Delaying for boot trace 1 of 6» с отсчётом времени:

При этом не нужно пытаться работать за ноутбуком, просто ждите. Будут появляться и другие сообщения. На втором этапе окошко «Preparing system» у меня провисело минут 30, при этом процессор ничем загружен не был, но потом всё-таки перезагрузка произошла и остальные этапы прошли быстро. Реально на весь процесс может уйти час.

Что же делает Xbootmgr? Он не отключает не нужные службы и процессы, как могло показаться. Xbootmgr оптимизирует загрузку таким образом, чтобы в каждый момент времени ресурсы компьютера использовались максимально. Т.е., чтобы не было такого, когда процессор загружен на 100%, а жёсткий диск отдыхает, или наоборот. Также происходит . После последней перезагрузки ничего делать не надо, Windows будет загружаться, и даже работать, быстрее.

Шаг четвёртый, опасный

В семёрке, как впрочем и в XP (хотя об этом догадываются не все), есть поддержка многоядерных процессоров. Непонятно только почему система не всегда сама в состоянии задействовать все имеющиеся ресурсы при своём запуске, а начинает их использовать только, когда уже полностью загрузилась и пользователь приступил к работе.

Значит надо помочь ей задействовать имеющиеся ресурсы в параметрах запуска системы. Для этого нужно покопаться в конфигурации. Сочетанием клавиш «Win + «R» открываем окно «Выполнить» и пишем команду msconfig , жмём «Ок». В появившемся окне конфигурирования системы выбираем вкладку «Загрузка»

Выбираем «Дополнительные параметры»

В появившемся окне выставляем на максимум параметры «Число процессоров» и «Максимум памяти». Теперь внимание! Закрываем и снова открываем программу, смотрим что значение «Максимум памяти» не сбросилось в «0». Если так, то снимаем отсюда галочку, иначе система может не запуститься вообще . Перезагружаемся, готово.

Замечание: Если вы решите добавить оперативной памяти или заменить процессор на другой (с большим количеством ядер), то вышеуказанные параметры необходимо будет изменить. В противном случае, система просто не будет использовать дополнительную память и/или дополнительные ядра процессора.

После включения вашего компьютерапроисходит тестирование апgаратного обеспечение. Рассмотрим порядок загрузки Windows. Операционная система проверяет какие именно компоненты подключены к компьютеру, и их испраdность. Если же система обнаруживает какую либо неполадку с одной из важных составляющих, тогда процесc загрузки будет остановлен и вы будите уведомлены о причине в сообщении выведенном на экране.Кроме этого имеется еще и специальная «азбука» звуковых сигналов. По количеству писков BIOS можно определить работоспособность вашего компьютера. К примеру, один короткий сигнал, значит, что тестирование уcпешно завершено. А допустим один длинный и два коротких, о том что BIOS не обнаружил видеокарту.

После этой процедуры происходит поиски загрузочного сектора, который заранее выбран в BIOS. Как правило это жесткий диск. Но и этот этап не относится к загрузке операционной системы.

Когда загрузочный сектор найден, то BIOS производит считывание содержимого с 1-го сектора диска. В нем и находится MBR (Master Boot Records), это основная загрузочная запись и конечно же таблица разделов диска.Именно с ее помощью BIOS может определить, какой раздел является активным. И с него начинается загрузка операционной системы.

В дальнейшеv по порядку загрузки Windows управление передается загрузочной записи,она находится в 1-ом секторе активного раздела. При ее помощи запускается менеджер загрузки Windows.

После этого из файла Boot Configuration Data который находится в папке (Boot) активного раздела, менеджер загрузки производит считывание конфигурации системы. Если Этот файл содержит несколько записей, то вы увидите меню в котором сможете выбрать операционную систему.

Далее происходит запуск Winload.exe, это модуль загрузки системы, компонентов ядра (Ntoskml.exe и Hal.dll), а так же системных служб и других составляющих компонентов. Ну а в это время вы увидите логотип Windows.

После происходит автоматический вход в систему. Если же у вас установлен вход в систему при помощи логина и пароля, тогда происходит загрузка процесса winlogon.exe, который выведет вам окно для ввода вашего логина и пароля.

Итак. При соблюдении ряда условий, не будет нарушен порядок загрузки Windows, а следовательно вы сможете спокойно работать за своим компьютером. Таких условий четыре, а именно:

1. В параметрах BIOS обязательно должен быть прописан диск, на котором хранится операционная система;

2. В первом секторе жесткого диска должны быть корректные MBR и таблица разделов, и один из разделов помечен как активный;

3. На активном разделе должна быть загрузочная запись а в его корневой папке должен содержаться файл bootmgr;

4. В папке Boot должен содержаться файл BCD с правильными записями о операционных системах которые установленны на жестком диске.

После включения вашего компьютера происходит тестирование апgаратного обеспечение. Рассмотрим порядок загрузки Windows .

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

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

Поиски загрузочного сектора

После этой процедуры происходит поиски загрузочного сектора, который заранее выбран в BIOS. Как правило это жесткий диск. Но и этот этап не относится к загрузке операционной системы.Когда загрузочный сектор найден, то BIOS производит считывание содержимого с 1-го сектора диска. В нем и находится MBR (Master Boot Records), это основная загрузочная запись и конечно же таблица разделов диска. Именно с ее помощью BIOS может определить, какой раздел является активным. И с него начинается загрузка операционной системы. В дальнейшем по порядку загрузки Windows управление передается загрузочной записи, она находится в 1-ом секторе активного раздела. При ее помощи запускается менеджер загрузки Windows. После этого из файла Boot Configuration Data который находится в папке (Boot) активного раздела, менеджер загрузки производит считывание конфигурации системы. Если Этот файл содержит несколько записей, то вы увидите меню в котором сможете выбрать операционную систему. Далее происходит запуск Winload.exe, это модуль загрузки системы, компонентов ядра (Ntoskml.exe и Hal.dll), а так же системных служб и других составляющих компонентов. Ну а в это время вы увидите логотип Windows. После происходит автоматический вход в систему. Если же у вас установлен вход в систему при помощи логина и пароля, тогда происходит загрузка процесса winlogon.exe, который выведет вам окно для ввода вашего логина и пароля. Если произошел сбой, то компьютерная помощь на дому оперативно поможет. Итак. При соблюдении ряда условий, не будет нарушен порядок загрузки Windows, а следовательно вы сможете спокойно работать за своим компьютером. Таких условий четыре, а именно:

1. В параметрах BIOS обязательно должен быть прописан диск, на котором хранится операционная система;

2. В первом секторе жесткого диска должны быть корректные MBR и таблица разделов, и один из разделов помечен как активный;

3. На активном разделе должна быть загрузочная запись а в его корневой папке должен содержаться файл bootmgr;

4. В папке Boot должен содержаться файл BCD с правильными записями о операционных системах которые установленны на жестком диске.

BIOS (Base Input/Output System) представляет собой специальное программное обеспечение , которое встроено в микроконтроллер на материнской плате, переводится с английского языка как основная система ввода-вывода. Данный программный код обеспечивает взаимодействие операционной системы с оборудованием, позволяет совместить аппаратные различия в компьютерном оборудовании.

Какова роль BIOS?

При первоначальной загрузке компьютера БИОС с помощью встроенных программных алгоритмов тестирует аппаратное оборудование на предмет работоспособности. Микроконтроллер посылает инструкции для запуска к каждому компоненту компьютера. Взамен он должен в обязательном порядке получить ответ от устройства. Если BIOS ответ не получает, система сообщает об этом пользователю посредством выдачи сообщения на монитор или звукового сигнала.

Без данного ПО невозможна работа компьютера. Также операционная система не запустится, если конфигурация БИОС настроена неправильно, или сбились настройки в результате системных неполадок. Системные настройки BIOS позволяют выполнить:

Как попасть в BIOS?

Информацию, как попасть в БИОС, можно считать в процессе загрузки компьютера. Чаще всего выдается системой запись вида: Press DEL to enter SETUP. В этом случает для входа в систему необходимо нажать клавишу DELETE в процессе загрузки компьютера. В некоторых случаях для того чтобы войти в меню BIOS, необходимо нажать определенные сочетания клавиш. Чаще всего используются F1, F2, F10, ESC или сочетания Ctrl+Alt+Ins, Ctrl+Alt+Esc.

Следует помнить: не рекомендуется менять настройки BIOS без надобности. В системе имеются жизненно важные параметры работы аппаратного оборудования, неправильная настройка которых может вывести из строя определенные компоненты или материнскую плату в целом.

Меню настроек BIOS

Наиболее распространены системы AMI BIOS и Award BIOS . Версия AMI BIOS имеет три раздела:

  • Main позволяет менять настройки системного времени. Даты, приоритет съемных носителей, содержит информацию о системе;
  • Advanced включает параметры работы центрального процессора и параметры конфигурации встроенной аппаратуры, настройки USB-портов и питания;
  • Boot содержит параметры загрузки, в том числе и настройки безопасности в процессе загрузки.

Меню Award BIOS имеет более сложную конфигурацию. Система содержит такие разделы:

  • Standart CMOS Features позволяет настраивать системную дату и время, тип используемого дисковода, а также характеристики имеющихся накопителей.
  • Advanced BIOS Features включает множество опций, в частности, порядок опроса накопителей при загрузке, включение/отключение многопоточности процессора, параметры взаимодействия ядер, информацию о состоянии жестких дисков . Данный раздел позволяет оптимизировать работу оперативной памяти .
  • Advanced Chipset Features содержит важные настройки работы встроенного оборудования: центрального процессора, оперативной памяти и системных шин передачи данных. Изменять данные настройки самостоятельно не рекомендуется.
  • Integrated Peripherals отвечает за настройку компонентов, встроенных в материнскую плату (USB-контроллер, видеокарта и звуковая карта, сетевой контроллер и различные порты).

В общем виде меню BIOS включает такие разделы (возможные названия блоков указаны в скобках):

  • общие параметры (STANDARD CMOS SETUP или MAIN);
  • свойства BIOS (ADVANCED или BIOS FEATURES SETUP);
  • свойства чипсетов (CHIPSET FEATURES SETUP или Chip Configuration);
  • свойства интегрированного оборудования (INTEGRATED PERIPHERALS или I/O Devices Configuration);
  • свойства слотов PCI (PNP/PCI CONFIGURATION или PCI CONFIGURATION);
  • управление питанием (POWER MANAGMENT SETUP или POWER);
  • пароли системы (SUPERVISOR PASSWORD или USER PASSWO RD);
  • сохранение и восстановление настроек (SAVE SETUP, LOAD SETUP DEFAULTS или LOAD BIOS DEFAULT);
  • выход из конфигурации (EXIT).

Этот небольшой кусок информации, в принципе все что нужно на первом этапе знакомства с БИОСом компьютера, мы продолжим цикл статей про сей инструмент и расскажем много интересной информации. Спасибо.

Многие начинающие пользователи спрашивают у поисковика – как настроить БИОС для того, что бы загрузиться с компакт диска. А так же, если необходимо загрузиться с флешки. В первую очередь загрузка из под BIOS требуется в тех случаях, когда вам нужно и сделать это можно только переустановкой операционной системы (Windows). А так же, если у вас есть загрузочный образ с утилитами, например для разделения жесткого диска на разделы и тут, естественно, тоже не обойтись без загрузки с диска или флешки через БИОС . В общем, поводов для загрузки с диска очень и очень много так, что начну уже рассказ о настройке BIOS.

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

Еще одной ключевой особенностью UEFI является возможность работы с жесткими дисками огромных объемов, размеченных по стандарту GPT (Guid Partition Table). Последний не поддерживается ни одной модификацией BIOS, так как имеет 64-битные адреса секторов.

Загрузка ПК на базе UEFI, как и в случае с BIOS, начинается с инициализации устройств. Но при этом, данная процедура происходит гораздо быстрее, так как UEFIможет определять сразу несколько компонентов одновременно в параллельном режиме (BIOSинициализирует все устройства по очереди). Затем, происходит загрузка самой системы UEFI, под управлением которой выполняется какой-либо набор необходимых действий (загрузка драйверов, инициализация загрузочного накопителя, запуск загрузочных служб и т.д.), и только после этого осуществляется запуск операционной системы.


Может показаться, что такая многоступенчатая процедура должна увеличить общее время загрузки ПК, но на самом деле все происходит наоборот. С UEFI система запускается гораздо быстрее, благодаря встроенным драйверам и собственному загрузчику. В итоге, перед стартом, ОС получает исчерпывающую информацию об аппаратной начинке компьютера, что позволяет запускаться ей в течение нескольких секунд.

Несмотря на всю прогрессивность UEFI, все же существует ряд ограничений, сдерживающих активное развитие и распространение этого загрузчика. Дело в том, что для реализации всех возможностей нового загрузочного интерфейса требуется полноценная его поддержка со стороны операционных систем. На сегодняшний день в полной мере использовать возможности UEFI позволяет только Windows 8. Ограниченную поддержку нового интерфейса имеют 64-разрядные версии Windows 7, Vista и Linux на ядре 3.2 и выше. Так же возможности UEFI используются в загрузочном менеджере BootCamp компанией Apple в собственных системах Mac OS X.

Ну а как же происходит загрузка компьютера с UEFI, если на нем используются неподдерживаемая операционная система (WindowsXP, 32-битная Windows 7) или файловая разметка (MBR)? Для таких случаев в новый загрузочный интерфейс встроен модуль поддержки совместимости (Compatibility Support Module), по сути, представляющий из себя традиционную BIOS. Именно поэтому, можно видеть, как многие современные компьютеры, оснащенные системными платами с UEFI, загружается традиционным способом в режиме эмуляции BIOS. Чаше всего это происходит потому, что их владельцы продолжают использовать разделы HDD с традиционной MBR и не хотят переходить к разметке GPT.

Заключение

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

Но при этом говорить о полном отказе в ближайшее время от базовой системы ввода/вывода пока преждевременно. В первую очередь нужно вспомнить, что до сих пор большинство компьютеров находятся под управлением WindowsXP и 32-битной Windows 7, которые не поддерживаются UEFI. Да и жесткие диски, размеченные по стандарту GPT в большинстве своем можно встретить разве что в новых моделях ноутбуков на базе Windows 8.

Так что до тех пор, пока большинство пользователей в силу своих привычек или еще каких-либо причин, будут привязаны к старым версиям ОС и традиционным способам разметки винчестеров, BIOS так и будет оставаться основной системой для начальной загрузки компьютера.

После включения компьютера в его оперативной памяти нет операционной системы. Само по себе, без операционной системы, аппаратное обеспечение компьютера не может выполнять сложные действия, такие как, например, загрузку программы в память. Таким образом мы сталкиваемся с парадоксом, который кажется неразрешимым: для того, чтобы загрузить операционную систему в память, мы уже должны иметь операционную систему в памяти.

Решением данного парадокса является использование специальной маленькой компьютерной программы , называемой начальным загрузчиком , или BIOS (Basic Input/Output System). Эта программа не обладает всей функциональностью операционной системы, но её достаточно для того, чтобы загрузить другую программу, которая будет загружать операционную систему. Часто используется многоуровневая загрузка, в которой несколько небольших программ вызывают друг друга до тех пор, пока одна из них не загрузит операционную систему.

В современных компьютерах процесс начальной загрузки начинается с выполнения процессором команд, расположенных в постоянной памяти (например на IBM PC - команд BIOS), начиная с предопределённого адреса (процессор делает это после перезагрузки без какой бы то ни было помощи). Данное программное обеспечение может обнаруживать устройства, подходящие для загрузки, и загружать со специального раздела выбранного устройства (чаще всего загрузочного сектора данного устройства) загрузчик ОС .

Начальные загрузчики должны соответствовать специфическим ограничениям, особенно это касается объёма. Например, на IBM PC загрузчик первого уровня должен помещаться в первых 446 байт главной загрузочной записи , оставив место для 64 байт таблицы разделов и 2 байта для сигнатуры AA55, необходимой для того, чтобы BIOS выявил сам начальный загрузчик.

История

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

Псевдо-ассемблерный код начального загрузчика может быть столь же простым, как и следующая последовательность инструкций:

0: записать в регистр P число 8 1: проверить что устройство считывания с перфолент может начинать считывание 2: если не может, перейти к п. 1 3: прочитать байт с устройства считывания с перфолент и записать его в аккумулятор 4: если перфолента закончилась, перейти к п. 8 5: записать значение, хранимое в аккумуляторе, в оперативную память по адресу, хранящемуся в регистре P 6: увеличить значение регистра P на единицу 7: перейти к п. 1

Данный пример основан на начальном загрузчике одного из миникомпьютеров , выпущенного в 1970-х годах фирмой Nicolet Instrument Corporation.

0: записать в регистр P число 106 1: проверить что устройство считывания с перфолент может начинать считывание 2: если не может, перейти к п. 1 3: прочитать байт с устройства считывания с перфолент и записать его в аккумулятор 4: если перфолента закончилась, перейти к п. 8 5: записать значение, хранимое в аккумуляторе, в оперативную память по адресу, хранящемуся в регистре P 6: уменьшить значение регистра P на единицу 7: перейти к п. 1

Длина загрузчика второго уровня была такой, что последний байт загрузчика изменял команду, расположенную по адресу 6. Таким образом, после выполнения пункта 5 стартовал загрузчик второго уровня. Загрузчик второго уровня ожидал заправки в устройство считывания перфолент длинной перфоленты, содержащей операционную систему. Различием между загрузчиком первого уровня и загрузчиком второго уровня были проверки на ошибки считывания с перфоленты, которые часто встречались в то время, и, в частности, на используемых в данном случае телетайпах ASR-33.

Некоторые операционные системы, наиболее характерными из которых являются старые (до 1995 года) операционные системы компьютеров Macintosh производимых Apple Computer , настолько тесно связаны с аппаратным обеспечением компьютеров, что на данных компьютерах невозможно загрузить какую либо другую операционную систему. В данных случаях обычно разрабатывается начальный загрузчик, который работает как загрузчик стандартной ОС , а затем передает управление альтернативной операционной системе. Apple использовала данный способ для запуска A/UX версию Unix , а затем он использовался различными бесплатными операционными системами.

Устройства, инициализируемые BIOS

Загрузочное устройство - устройство, которое должно быть проинициализировано до загрузки операционной системы. К ним относятся устройства ввода (клавиатура , мышь), базовое устройство вывода (дисплей), и устройство, с которого будет произведена - дисковод , жесткий диск , CD-ROM , флэш-диск , SCSI -устройство, сетевая карта (при загрузке по сети; например, при помощи PXE).

Загрузочная последовательность стандартного IBM-совместимого персонального компьютера

Загружается персональный компьютер


Wikimedia Foundation . 2010 .

Что означают слова «мой компьютер не запускается»?

Каждый сетевой администратор постоянно сталкивается с ситуацией, когда пользователи, жалующиеся на неполадки, произносят туманную фразу, которая может слегка испортить настроение: «Компьютер не запускается!» Обычно при этом пользователи сообщают, что нечто непредвиденное произошло в процессе загрузки - либо во время самотестирования компьютера (Power On Self Test, POST), либо во время процедур начальной загрузки Windows. Для диагностики и устранения подобных проблем администратор должен понимать, что происходит в процессе загрузки.

Термин «сбой в процессе загрузки» относится и к аппаратным проблемам, и к проблемам операционной системы. Во времена компьютеров с MS-DOS, POST занимал больше времени, чем загрузка операционной системы, и аппаратура была источником большинства проблем при начальной загрузке. За последние годы аппаратное обеспечение стало более надежным, а благодаря развитым функциям BIOS возможности мониторинга, диагностики и управления оборудованием стали значительно шире. Поэтому в ситуации сбоя во время загрузки пользователи, скорее всего, сталкиваются именно с проблемой операционной системы. Давайте последовательно изучим процесс начальной загрузки, наблюдая, что происходит на каждом этапе, и уясним смысл каждого появляющегося сообщения об ошибке. Для удобства будем предполагать, что используются Windows 2000 или более поздние версии.

Включение питания

Не жалуется ли пользователь, что ничего не происходит, когда он нажимает кнопку питания? Если да, то сначала проверьте кабель.

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

Если дело не в вилке, то, возможно, в источнике бесперебойного питания - тоже уязвимом аппаратном компоненте системе. Источники бесперебойного питания стоят недорого, но замена аккумуляторов в них - утомительная и трудоемкая задача.

Проверка оборудования и BIOS

Если пользователь видит сообщение об ошибке в процессе POST или если компьютер просто зависает, прежде чем запускается операционная система, значит, проблема в оборудовании или в BIOS. Система выводит на экран сообщения об ошибках оборудования и BIOS и подает характерные звуковые сигналы. Некоторые ошибки BIOS выводятся в виде чисел и некогда все производители BIOS использовали одни и те же числа (те, что придумали в IBM), но теперь все изменилось. Теперь, чтобы интерпретировать номер ошибки, администратору требуется документация, пришедшая вместе с компьютером. Также можно поискать ее на Web-сайте производителя BIOS. Однако, скорее всего, на экране появится текст, а не числа, например Hard drive controller failure («Ошибка контроллера жесткого диска») или забавное сообщение Keyboard error, press F1 to continue («Ошибка клавиатуры, нажмите F1 для продолжения»).

Возможно, появится сообщение об ошибке, относящейся к проблемам с памятью. Когда-то память имела дополнительный компонент, называвшийся «чип четности», и частью теста BIOS была проверка на четность. Компоненты памяти больше не содержат чип четности, поскольку теперь в этом нет необходимости: производители памяти так продвинулись по пути совершенствования своих продуктов, что ошибки памяти стали крайне редки. Тем не менее после добавления в компьютер памяти при последующей загрузке может появиться сообщение об ошибке памяти. Сообщение содержит примерно такой текст: Mismatched memory information («Несоответствие параметров памяти»). В действительности это сообщение является подтверждением того, что система видит установленную память, но обнаружила, что она не соответствует общему количеству, записанному в CMOS.

Чтобы решить эту проблему, можно попробовать перезагрузить компьютер и войти в режим настройки BIOS. По своему опыту знаю, что стоит только нажать клавиши, необходимые для вызова окна BIOS, как сразу же автоматически выполняется корректный подсчет памяти, и все, что остается сделать, это выйти из программы настройки BIOS. Вход в программу настройки BIOS вызывает проверку счетчика памяти и его регулировку относительно имеющейся физической памяти.

Если после добавления в компьютер памяти система выдала сообщение об ошибке, в котором не говорится о разночтении в подсчете объема памяти, значит, проблема оказалась серьезнее. Система не распознает новую память. Эта ситуация почти всегда вызвана неаккуратными действиями при установке памяти, такими как использование неверного слота. В то же время мне доводилось видеть, как проблема вызывалась установкой памяти неверного типа (например, установкой плат памяти DRAM в старый компьютер с Enhanced Data Output, EDO), когда материнская плата не была предназначена для установки памяти смешанного типа, SIMM и DIMM, или когда материнская плата не воспринимала смешивание плат памяти с разными скоростями. Некоторые материнские платы при добавлении памяти нуждаются в изменении положения двухпозиционных переключателей и перемычек, хотя такие требования становятся все менее распространенными. Чтобы избежать подобных проблем, всегда перед добавлением памяти проверяйте документацию материнской платы.

Если во время POST обнаруживается ошибка жесткого диска, значит, работа предстоит немалая. Вообще-то я обнаружила, что в половине случаев проблема оказывается в контроллере, а не в самом диске, и замена контроллера позволяет диску нормально выполнять загрузку с сохранением всех данных неповрежденными (все гениальное просто!). Если контроллер жесткого диска первоначальной комплектации выходит из строя, не нужно сразу бежать за новой материнской платой. Достаточно купить новый контроллер. Вместо поиска встроенной микросхемы прочитайте в документации к материнской плате, что необходимо сделать, чтобы BIOS видел новую плату.

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

Управление передается записи Master Boot Record

Далее компьютер начинает загрузку операционной системы. Во время установки программа загрузки Windows помещает данные на первый сектор главного раздела компьютера (загрузочный сектор). Эти данные - не что иное, как Master Boot Record, MBR (главная загрузочная запись), которая содержит исполняемые команды. Программа установки также копирует два файла, инициирующие начальный этап загрузки Windows, - Ntldr и Ntdetect - в корневой каталог загрузочного диска. Кроме того, Windows Setup копирует boot.ini, файл, содержащий параметры загрузки, в корневой каталог загрузочного диска.

Кроме исполняемых команд, MBR содержит таблицу, определяющую расположение главных разделов диска. При установке Windows необязательно делать так, чтобы системный раздел и загрузочный раздел совпадали, хотя это распространенный подход. Загрузочные файлы Windows расположены в системном разделе, а файлы операционной системы - в загрузочном (логика именования отстала от жизни).

Системный раздел содержит файлы привязки к аппаратным компонентам, которые необходимы для загрузки Windows, включая MBR. Этот раздел должен быть главным разделом и отмечается как активный. Это всегда диск 0, поскольку именно к этому диску обращается BIOS, чтобы передать процесс загрузки файлу MBR. Загрузочный раздел содержит файлы операционной системы (папка \%systemroot%) и файлы поддержки операционной системы (\%systemroot%System).

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

Запуск Ntldr

Код загрузочного сектора считывает Ntldr в память, чтобы запустить процесс начальной загрузки операционной системы. В Ntldr хранится доступный только для чтения код NTFS и FAT. Он начинает работать в реальном режиме, и первая выполняемая им задача заключается в переключении системы в некоторую форму защищенного режима. Более подробно об этих режимах рассказано во врезке «Реальный режим против защищенного». Этот первоначальный вариант защищенного режима не может в полной мере выполнять аппаратно-зависимых преобразований, которые обеспечивают защиту оборудования, - данная функция становится доступной, когда операционная система загрузится полностью.

Теперь вся физическая память доступна операционной системе, и компьютер работает как 32-разрядная машина. Ntldr делает возможной постраничную загрузку и создает таблицы страниц. Затем Ntldr считывает boot.ini из корневого каталога и, если на машине многовариантная загрузка или если выполнена настройка boot.ini на отображение меню, на экране появляется меню выбора вариантов загрузки. Если Ntldr отсутствует или поврежден, система выдаст сообщение об ошибке Ntldr is missing. Press Ctrl-Alt-Del to restart.

Не стоит зря тратить время, выполняя предложенное действие: после очередного цикла система вернется к тому же сообщению. Необходимо заменить Ntldr. Если создан загрузочный флоппи-диск, можно использовать его для копирования Ntldr в корневой каталог основного загрузочного диска (обычно C). Если Ntldr отсутствует, следует просто скопировать его. Если файл имеется на жестком диске, возможно, он поврежден. Для того чтобы заменить его, сначала нужно изменить его атрибут «только для чтения». Если загрузочного флоппи-диска под рукой нет, придется запустить программу Setup с компакт-диска Windows и выбрать Repair.

Запуск Ntdetect

Ntldr запускает Ntdetect, который запрашивает BIOS системы о данных конфигурации устройств. Система отправляет информацию, которую Ntdetect собирает в реестр и помещает в подразделы HKEY_LOCAL_MACHINEHARDWARE DESCRIPTION.

Если возникнет какая-нибудь проблема с Ntdetect (утрата или повреждение), возможно, система не выдаст никакого сообщения об ошибке. Обычно в таком случае процесс загрузки просто останавливается. Единственным действенным средством при утрате или повреждении файла Ntdetect является его замена. Необходимо воспользоваться для загрузки загрузочным флоппи-диском, затем скопировать Ntdetect с этого флоппи-диска в корневой каталог жесткого диска. Или же запустите Setup с компакт-диска Windows и выберите Repair.

Запуск Ntoskrnl и загрузка HAL

После того как Ntdetect закончит выполнение подпрограмм проверки оборудования, он передает процесс загрузки обратно файлу Ntldr, который запускает ntoskrnl.exe и загружает.dll-файл Hardware Abstraction Layer (HAL). (Оба файла расположены в папке \%systemroot%system32.) Ntoskrnl - это главный файл ядра Windows и исполнительных подсистем. Он содержит Executive, Kernel, Cache Manager, Memory Manager, Scheduler, Security Reference Monitor и другие. Именно Ntoskrnl приводит в действие Windows. Для работы Ntoskrnl необходим файл hal.dll, который содержит код, позволяющий оборудованию взаимодействовать с операционной системой.

На экране может появиться сообщение об ошибке, говорящее о наличии проблемы с Ntoskrnl, но почти всегда это сообщение фиктивно и появляется потому, что ссылка на папку в boot.ini не совпадает с именем папки, в которую были установлены системные файлы Windows.

Как правило, это означает, что кто-то переименовал папку \%systemroot% или создал новую папку и переместил в нее файлы Windows. В таком случае нужно переместить файлы обратно в то место, которое указано в boot.ini. Если boot.ini. был кем-то отредактирован, следует исправить эту ошибку.

Загрузка драйверов и служб

Теперь Ntldr загружает низкоуровневые системные службы и драйверы устройств, но службы не инициализируются - это происходит позже. На этом фаза начальной загрузки завершается и начинается процесс основной загрузки (load sequence или kernel phase).

При загрузке системных служб и драйверов устройств Ntldr следует определенному порядку. В процессе установки Windows драйверы и системные службы копируются на компьютер, а информация о них записывается в реестр. Данные в реестре представляют собой шестнадцатеричную запись, оканчивающуюся числом в круглых скобках. Это число и определяет порядок, в котором Ntldr загружает драйверы и системные службы. Для примера следует открыть реестр и перейти в раздел HKEY_LOCAL_MACHINESYSTEM CurrentControlSetServices. На экране появится длинный список служб и драйверов устройств. Выберите любой подраздел и взгляните на данные типа REG_DWORD под именем Start.

  • (0) означает, что служба загружается во время фазы основной загрузки.
  • (1) означает, что служба загружается во время фазы инициализации (следующая фаза).
  • (2) означает, что служба загружается во время фазы загрузки, предназначенной для служб.
  • (3) означает, что служба включена, но не инициализируется (запуск службы осуществляется вручную через оснастку Services консоли Microsoft Management Console (MMC)).
  • (4) означает, что служба отключена.

Загрузка операционной системы

Ntoskrnl начинает загрузку операционной системы. Инициализируется ядро Windows и загружаются и инициализируются подсистемы. Эти действия формируют базовые элементы, необходимые для завершения загрузки операционной системы. Загрузочные драйверы, которые модуль Ntldr загрузил ранее, теперь инициализируются, вслед за чем инициализируются оставшиеся драйверы и службы. Когда инициализируются драйверы первого уровня, может возникнуть проблема в виде ошибки STOP или Blue Screen of Death. Это почти всегда бывает в процессе первой загрузки после обновления какого-либо драйвера. Во время инициализации драйвера файлом Ntoskrnl операционная система отторгает его.

Для решения проблемы необходимо перезагрузить компьютер, нажать F8 для отображения меню дополнительных возможностей (Advanced Options) и выбрать вариант загрузки последней успешной конфигурации (Last Known Good Configuration), соответствующей предыдущей версии драйвера.

Теперь ядро Windows и исполняющие модули работоспособны. Программа Session Manager Subsystem (smss.exe) настраивает пользовательскую среду. Система выполняет сверку с реестром, для того чтобы иметь возможность начать загрузку оставшихся драйверов и программного обеспечения, которые необходимо добавить. Ядро операционной системы также загружает файлы kernel32.dll, gdi32.dll и user32.dll, которые обеспечивают программное обеспечение пользователя доступом к Win32 API.

Регистрация компьютера в домене

В то время когда загрузка ядра и инициализация драйверов еще не закончилась, компьютер регистрируется в домене. Используя учетную запись компьютера (уникальное имя с собственным паролем), компьютер открывает защищенный канал к контроллеру домена (DC). Все это происходит до того, как на экране появляется диалоговое окно для регистрации пользователя в системе.

Учетные записи компьютера используются между клиентскими компьютерами (включая автономные серверы) и контроллерами доменов. В пределах одного домена один и тот же процесс происходит с участием нескольких DC. Поэтому важен порядок, в котором включаются компьютеры после штатного отключения. Защищенный канал используется компьютерами для обмена информацией, необходимой для аутентификации и авторизации. Учетные записи компьютера повышают безопасность сети, гарантируя, что пытающийся отправить важную информацию компьютер действительно является членом домена.

В качестве дополнительной меры безопасности компьютеры (как и пользователи в сети с усиленной настройкой системы безопасности) должны периодически менять пароли. По умолчанию интервал смены пароля составляет 30 дней. Когда настает время менять пароль, компьютер генерирует новый пароль и отправляет его по защищенному каналу (доступ к которому он получил, используя предыдущий пароль) на ближайший DC. В дальнейшем для доступа к защищенному каналу компьютер должен использовать новый пароль.

DC немедленно обновляет свою базу данных и реплицирует изменение пароля компьютера на другие DC домена. Пароли учетных записей компьютера содержат отметку о событии первостепенной важности (Announce Immediately), поэтому они не дожидаются следующей репликации DC по расписанию. Иногда эти события могут вызывать заметное снижение производительности. Если у многих или у всех компьютеров домена срок действия паролей заканчивается в один и тот же день, работа, которую должны будут выполнить контроллеры домена, сразу же затормозит другие важные задачи DC, такие как аутентификация пользователей или выполнение запланированных репликаций. Ситуация может осложниться еще и в том случае, если DC предоставляет другие услуги, такие как, например, услуги сервера DNS. Можно изменить способ обслуживания паролей компьютера для домена, для организационной единицы (OU) и для индивидуального компьютера, хотя стремление повысить производительность путем настройки компьютеров по одному неэффективно. В следующей статье я планирую рассказать о методах изменения процедуры регистрации компьютера в домене.

Загрузка служб регистрации пользователя

Подсистема Win32 запускает winlogon.exe, которая выводит на экран диалоговое окно регистрации пользователя и загружает процесс Local Security Authority (lsass.exe). Начинается процесс регистрации, и пользователь должен ввести имя и пароль в диалоговом окне Windows Log On To. Если пользователь указывает правильные имя и пароль, система завершает процесс регистрации, и пользователь может начинать работать. В этот момент загрузка Windows окончена, а текущие параметры загрузки сохраняются в так называемой последней успешной конфигурации (Last Known Good Configuration). Нужно иметь в виду, что успешная регистрация пользователя необходима для сохранения Last Known Good Configuration.

Действительно, сбои во время загрузки мешают всем - и пользователям, и администраторам. Однако, если досконально разобраться в процессе загрузки, проблемы становятся менее устрашающими и администраторам удается без труда решить их.

Реальный режим против защищенного

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

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

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

Кэти Ивенс ([email protected]) - редактор Windows & .NET Magazine. Является соавтором более 40 книг по компьютерной тематике, включая «Windows 2000: The Complete Reference»