Ошибки при загрузке системы Windows
Вот как протекает процесс загрузки операционной системы. После того как компьютер включен и успешно выполнена процедура начального запуска, процессор начинает выполнять инструкции BIOS, записанные в специальную энергонезависимую память CMOS. В соответствии с заложенными свойствами сразу после включения процессор обращается к начальной адресуемой ячейке микросхемы, в которой записан код BIOS. Первый набор инструкций, который выполняет процессор, называется процедурой POST (Power-On Self Test – самопроверка при включении питания). Процедура POST производит следующие действия.
1. Выполняет начальную проверку оборудования, в том числе определяет модель процессора и размер установленной оперативной памяти. Одновременно проверяется исправность оперативной памяти.
2. Получает установки системной конфигурации из памяти CMOS.
3. Устанавливает частоту шин в соответствии с настройками, содержащимися в CMOS.
4. Проверяет наличие устройств для начала загрузки ОС, например дисковода, жесткого диска и привода компакт-дисков.
5. Инициализирует видеоадаптер, клавиатуру, дисковод гибких дисков и системный динамик.
6. Выдает звуковой сигнал о прохождении проверки.
7. Инициализирует остальные устройства согласно настройкам CMOS.
8. После того как процедура POST закончена, дополнительные адаптеры (видеокарта, контроллеры жесткого диска) выполняют свой тест внутренней диагностики. В процессе прохождения POST на экран выводятся сведения о ходе проверки.
Программа BIOS заканчивает свое участие в процессе загрузки тем, что находит на жестком диске главную загрузочную запись (Master Boot Record, MBR) и передает управление ей. C этого момента вступают в дело программы, записанные на жестком диске компьютера. Коды данных приложений записаны на винчестере в виде вполне определенных файлов, своих для каждой операционной системы. Ниже описан процесс загрузки на примере системы Windows XP, для которой загрузочные файлы находятся в корневой директории диска C:, а также в папках Windows\ и Windows\System32\.
1. Загрузчик MBR передает управление загрузочной записи активного раздела, а та, в свою очередь, обращается к файлу – загрузчику операционной системы. Заметим, что MBR и загрузочная запись раздела файлами не являются – эти секторы диска не отображаются в файловой системе. А вот загрузчик операционной системы – исполняемый файл, входящий в ее состав. В операционной системе Windows данный файл носит имя ntldr (сокращение от NT loader) и обязательно должен находиться в корневой папке загрузочного диска (обычно это диск C:). Там же должен быть файл boot.ini, в котором записано, где находятся файлы операционной системы.
2. Программа ntldr читает файл boot.ini и запускает две следующие программы: ядро системы ntoskrnl.exe и программу ntdetect.com, которая собирает информацию об установленном оборудовании и сообщает ее ядру.
3. Ядро операционной системы загружает в оперативную память из файла hal.dll так называемый уровень аппаратных абстракций (Hardware Abstraction Layer, HAL).
4. Ядро и HAL запускают исполнительную систему Windows, основная часть которой содержится в файле win. com.
5. Исполнительная система Windows читает конфигурацию оборудования из реестра и в соответствии с этим запускает драйверы и службы.
6. Ядро запускает программу Session Manager (Smss.exe), которая:
· переключает Windows из текстового режима в графический;
· запускает менеджер входа в систему Logon Manager (файл systemroot\System32\Winlogon.exe);
· создает файл подкачки.
7. Менеджер входа в систему (Logon Manager, Winlogon. exe) запускает подсистему сервисов (Services. exe) и локальную систему безопасности (Local Security Authority, Lsass. exe), а затем выводит экран приветствия или входа в систему.
8. После входа пользователя в систему загружается оболочка ОС, программа Explorer. exe. Все ее настройки берутся из реестра.
9. Запускаются дополнительные программы, которые должны загружаться автоматически.
Вся загрузка операционной системы Windows, в зависимости от производительности компьютера, занимает несколько десятков секунд. О том, как продвигается процесс загрузки, можно судить по виду экрана.
Вот какие при этом могут быть неприятности.
• В начале загрузки ОС компьютер успевает вывести сообщение об ошибке и зависает. Характерными считаются сообщения о невозможности загрузить компоненты ядра или исполнительной системы, выводимые в текстовом режиме. Например, сообщения Ошибка загрузки hal.dll или ntldr is missed указывают на конкретные файлы, послужившие причиной ошибки.
• Операционная система, столкнувшись с ошибкой при своей загрузке, пытается автоматически восстановить нужные файлы или настройки. Операционные системы Windows создают и хранят резервные копии большинства системных файлов и настроек. Во многих случаях такое автоматическое восстановление в процессе загрузки выполняется совершенно незаметно для пользователя. Единственным признаком может быть то, что загрузка вдруг протекает намного дольше обычного. В другом случае на экран выводится сообщение о том, что система была восстановлена после серьезной ошибки и после перезагрузки ее работа будет продолжена.
• При возникновении неустранимой критической ошибки во время загрузки служб и драйверов компьютер может зависнуть с появлением так называемого «синего экрана смерти» (Blue Screen Of Death, BSOD). Этот экран (рис. 1.1) является развернутым сообщением об ошибке.
Рис. 1.1. «Синий экран смерти»
Сообщение BSOD начинается фразой A problem has been detected and Windows has been shut down to prevent damage of your computer (Была обнаружена проблема, и работа Windows была завершена, чтобы предотвратить повреждение вашего компьютера). Затем следуют достаточно общие рекомендации по устранению данной проблемы на английском языке. Завершается сообщение строками вида
Technical information:
*** STOP: 0x0000007B (0xF9E62640, 0xC0000034, 0x00000000, 0x00000000)
Первое число является кодом ошибки, а далее в скобках следуют параметры, смысл которых зависит от категории ошибки. По коду ошибки можно найти ее описание на сайте компании Microsoft. Там же приводятся конкретные рекомендации по поиску и устранению возможных причин данной ошибки.
• Компьютер зависает в ходе загрузки без вывода каких-либо сообщений или начинает перезагружаться. Последнее нередко связано с тем, что при сбое критически важных служб может формироваться команда на автоматическую перезагрузку машины. Пока существует ошибка, такой цикл может повторяться до бесконечности.
• В результате ошибки службы или драйвера компьютер автоматически перезагружается, а в ходе перезагрузки выводится меню дополнительных вариантов загрузки Windows. При этом по умолчанию предлагается загрузка в безопасном режиме или запуск последней удачной конфигурации. Именно так происходит перезагрузка после установки нового драйвера какого-либо устройства, если этот драйвер явился виновником ошибки. Если загрузка в безопасном режиме проходит успешно, можно попробовать найти и исправить причину сбоя, а затем перезагрузить компьютер обычным образом.
Кроме ошибок, приводящих к краху системы, существуют программные неполадки, не затрагивающие критические системные процессы. В таких случаях загрузка операционной системы проходит до конца – и на экране появляется Рабочий стол. О наличии подобных ошибок пользователь может узнать лишь спустя некоторое время, при выполнении определенных действий. Допустим, проблема возникает при запуске какой-либо сетевой службы. Подобная неполадка никак себя не проявляет до тех пор, пока вы не попытаетесь выйти в Интернет. Ошибки драйверов, необходимых для записи дисков, обнаружатся только в процессе обращения к записывающему приводу CD или DVD.
Если процесс загрузки компьютера прошел нормально или по крайней мере без критических ошибок, начинается работа операционной системы. Перейдем к описанию проблем, которые могут возникнуть при работе программ, вызываемых пользователем компьютера в процессе работы.
Ошибки программ при работе в системе Windows
Программные ошибки, проявляющиеся во время работы компьютера, обязательно связаны с обращением к какой-либо функции или команде операционной системы либо с запуском и работой прикладной программы. Внешние проявления таких ошибок могут быть сведены к некоторым типичным случаям.
• При запуске программа тут же завершает свою работу с сообщением об ошибке или без всякого сообщения. Повторные попытки запустить эту программу приводят к тому же результату.
• Сразу после запуска или в ходе выполнения каких-либо операций приложение зависает, то есть перестает реагировать на любые команды. Закрыть его удается только нажатием сочетания клавиш ALt+F4 или через Диспетчер задач (рис. 1.2):
1) запустите Диспетчер задач нажатием сочетания клавиш CtrL+ALt+DeLete;
2) на вкладке Приложения щелкните кнопкой мыши на значке зависшего приложения;
3) нажмите кнопку Снять задачу. Через некоторое время появится окно Завершение программы;
4) в окне Завершение программы нажмите кнопку Завершить сейчас. Приложение будет закрыто.
Рис. 1.2. Диспетчер задач и окно Завершение программы
• Приложение в целом работает, но при попытке выполнить определенную операцию игнорирует команду или выводит сообщение о невозможности выполнить данную операцию. Эти три случая можно считать относительно благоприятными, так как они не приводят к «падению» операционной системы – после завершения сбойной задачи компьютер продолжает нормальную работу. Следующий вариант является более серьезным, так как приводит к критическому сбою Windows.
• В ходе запуска приложения или обращения к команде меню, элементу управления какого-либо окна компьютер зависает, выводит «синий экран смерти», выключается или перезагружается.
Наконец, существуют «псевдоошибки», которые связаны со случайными изменениями в настройках операционной системы, сделанными по неосторожности или в результате постороннего вмешательства. Последнее вполне возможно, если с компьютером работает несколько пользователей, а их вмешательство в систему ничем и никак не ограничено. К счастью, исключить такие ошибки достаточно просто: все подобные настройки вполне доступны, а подробное их описание легко найти в справочной системе Windows.
Источником ошибок в работе Windows и приложений, работающих под управлением системы, могут быть неполадки как в программном, так и в аппаратном обеспечении компьютера. Ранее уже описывались возможные проблемы, проявляющиеся при поломке оборудования компьютера. Сейчас же познакомимся с другим источником – программным.
Источники программных ошибок
Причины всех программных ошибок можно свести к двум самым общим случаям.
• В первом случае нарушается физическая или логическая структура файлов, папок и дисков. Грубо говоря, где-то на диске вместо единицы записан ноль или наоборот; либо часть файла не читается вовсе. Возможно, файл был просто удален, то есть сведения о нем исчезли из файловой системы. На примере книги это опечатка, клякса или вырванная страница. Система пытается найти и прочитать очередной файл, ей это не удается, и в ходе загрузки происходит ошибка.
• Во втором случае информация формально цела, но ошибочна по содержанию. Например, для какого-либо устройства может быть установлен несовместимый драйвер или программа заражена вирусом. Сюда же стоит отнести некорректные изменения системных настроек, содержащихся в реестре.
Очевидно, что причины повреждения или утраты файлов могут быть различными. Иногда порча файлов бывает следствием аппаратных проблем – ошибок жесткого диска. Некорректное выключение компьютера (например, внезапное исчезновение напряжения в сети) также может привести к повреждению или утрате отдельных файлов. Наконец, их можно удалить или переместить совершенно случайно. Во избежание таких случайностей наиболее важным для операционной системы файлам и папкам присвоены атрибуты «скрытый» и «системный», и по умолчанию эти объекты просто не показываются в Проводнике Windows. Даже если в настройках свойств папки разрешить отображение защищенных системных папок и файлов, при попытке удаления или перемещения таких объектов будет выведено предупреждение (рис. 1.3).
Рис. 1.3. Предупреждение при попытке удаления системного файла
Возможно, кого-то данное предупреждение не остановит. Однако файл ntldr используется операционной системой. Результат его удаления проявится не сразу, а лишь при очередном обращении к нему в процессе работы. Загрузка Windows прервется в самом начале! На рис. 1.4 показано сообщение, сопровождающее такую ошибку. Положение спасет только загрузка компьютера с другого носителя, например установочного компакт-диска Windows, и копирование загрузчика обратно на жесткий диск.
Рис. 1.4. Сообщение об ошибке загрузчика ОС
Ошибки, связанные с утратой или повреждением файлов, обычно возникают на фоне полного благополучия. Они проявляются при очередном включении компьютера, даже если чуть раньше все работало совершенно нормально.
Второй случай всегда является результатом вмешательства человека. Типичная ситуация: после обновления драйверов или установки новой программы вы перезагружаете компьютер, а он при этом зависает. Оказывается, новый установленный драйвер содержит ошибки или не совсем подходит к конкретной модели оборудования. При установке отдельных игр по умолчанию заодно заменяются и некоторые компоненты операционной системы, например отдельные системные библиотеки. Подобная практика среди разработчиков приложений не приветствуется: по правилам грамотного программирования установка прикладной утилиты не должна затрагивать компоненты ОС. Тем не менее такие приложения встречаются.
Существует проблема несовместимости отдельных программ с определенными версиями операционных систем семейства Windows. В частности, это относится к запуску некоторых достаточно старых утилит на компьютерах с Windows Vista. Обычно сведения о совместимости приводятся в документации к программе или на сайте разработчика. Если таких сведений нет, остается проверять совместимость экспериментальным путем. Перед подобными экспериментами очень полезно создать резервную копию системного диска в программе типа Acronis True Image или Roxio GoBack. По меньшей мере стоит создать точку восстановления системы встроенными средствами Windows. Дело в том, что, пусть и очень редко, удаление программы может не вернуть систему в предыдущее состояние: остаются какие-либо изменения в реестре, файлы в системных папках.
Не свободна от внутренних ошибок и сама операционная система. В любом приложении есть место для ошибки, сделанной программистами. Если же код программы занимает сотни мегабайт, счет ошибок идет на десятки. Бытует шутка, что каждая новая версия Windows исправляет ошибки, допущенные в более ранних сборках. По-видимому, это неизбежно, и никакое тестирование такую проблему полностью не решает. Единственный выход – создание разработчиками «заплаток» (patches) по мере выявления недостатков и установка этих исправлений самими пользователями. Для облегчения данной процедуры задумана функция автоматического обновления системы. По ряду причин в нашей стране службу автоматического обновления большинство пользователей отключают, предпочитая скачивать и устанавливать обновления самостоятельно. Первые исправления и дополнения появляются через считаные недели после официального выхода очередной версии ОС, а спустя некоторое время разработчики выпускают пакеты обновлений, называемые сервис-паками (Service Pack, SP). Практика показывает, что операционная система оказывается «доведенной до ума» не ранее, чем появится второй пакет обновлений (SP2). К этому времени обычно к выходу в свет готова уже следующая версия Windows!
Очень часто о постороннем вмешательстве в свой компьютер пользователь даже не подозревает. Как вы догадались, речь идет о компьютерных вирусах. По статистике, больше половины всех компьютерных проблем вызывается вирусами и другими вредоносными модулями. Программа-вирус способна добавлять свой код к содержимому различных исполняемых файлов, после чего они также могут внедрять этот код в следующие файлы. В результате приложения начинают вести себя не совсем так, как ожидается. Проявления деятельности вредоносных модулей настолько разнообразны, что перечислить их все просто невозможно: компьютерным вредительством подчас занимаются весьма талантливые программисты, а их изобретательность безгранична. Придумайте любое безобразие, которое может твориться с компьютером, и наверняка окажется, что когда-то кто-то уже создал вирус с таким действием. Далее в этой главе мы познакомимся с вирусами поближе.
Сбои операционной системы
Само понятие «ошибка» предполагает определенную повторяемость. На практике встречаются ситуации, когда ошибка возникает однократно, а после перезагрузки или просто завершения давшей сбой программы компьютер продолжает работать совершенно нормально. Поскольку ошибка больше не повторяется, сказать что-нибудь о ее причинах бывает затруднительно. Как правило, всякие случайные и неповторяющиеся сбои так и остаются загадкой.
Можно только предположить, что за ними на самом деле скрываются аппаратные причины. Возможно, это неотфильтрованные выбросы напряжения питания, спровоцировавшие кратковременный сбой процессора или изменение содержимого отдельных ячеек памяти. Всерьез обсуждалось влияние космических частиц на стабильность оперативной памяти. Потоки таких частиц непрерывно бомбардируют Землю. Благодаря огромной энергии они способны пронизывать любые предметы, попадающиеся на их пути, и оставлять за собой ионизированный след. Конечно, вероятность встречи элементарной частицы с модулем памяти достаточно мала, но вполне реальна. Да и самое настоящее насекомое, залезшее в системный блок, тоже нельзя сбрасывать со счетов, особенно летом.
Так или иначе, если код программы был неправильным изначально или ошибка возникла вследствие проблем с носителем информации, программа будет «спотыкаться» каждый раз на одном и том же месте. В проявлении характерных аппаратных неисправностей тоже можно проследить какую-либо закономерность, хотя и не столь очевидную. Но даже после исключения всех объяснимых программных и аппаратных проблем остается малая доля совершенно непонятных случайных сбоев. Вероятно, со сбоями, происходящими раз в несколько недель или месяцев, следует просто смириться.
Конец ознакомительного фрагмента.
Текст предоставлен ООО «ЛитРес».
Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.
Вы ознакомились с фрагментом книги.
Для бесплатного чтения открыта только часть текста.
Приобретайте полный текст книги у нашего партнера:
Полная версия книги