Из ранее опубликованной статьи о работе с утилитой Process Monitor, вы скорее всего уже поняли, что для каждого программного обеспечения, установленного, работающего или даже удалённого с компьютера, система будет создавать или удалять записи в реестре Windows. Поэтому жизненно важно поддерживать чистоту реестра и знать, что он находится в хорошем рабочем состоянии.
То есть, не только Windows зависит от реестра, все приложения для оперативного управления также на регулярной основе сохраняют свои настройки и запросы в ключах реестра. И сбой системы или приложения часто можно отнести к повреждённой части реестра, которая, в свою очередь, приводит к сообщению об ошибке, а иногда и краху системы.
Основные причины повреждения реестра ПК:
- повреждение реестра Windows
- неудачная установка программного обеспечения или приложения
- сбой драйвера устройства или аппаратного обеспечения.
Содержание:
Повреждение реестра Windows
Реестр — это сложная база данных, которая в некоторых случаях может быть повреждена. Однако, это происходит довольно редко. Реестр выполняется и управляется исполнительной подсистемой под названием Configuration Manager (CM). Он состоит из нескольких независимых веток, которые в редакторе реестра сведены в одном месте. Configuration Manager организует ветки и гарантирует, что всякий раз, когда компонент приложения или операционной системы считывает или изменяет значение или ключи реестра, его всегда можно восстановить, даже если во время модификации компьютер терпит крах.
Это достигается за счёт кэширования части реестра, что позволяет очень быстрый поиск, запись и совершение операций в нем. Реестр превратился из простого хранилища в структуру файла, что даёт свои преимущества, так как в настоящее время каждая операция в оперативной памяти рассматривается как транзакция и записывается в специальной схеме двойной регистрации данных. Такой подход гарантирует, что в транзакции, если задача не может быть завершена из-за сбоя системы, возможен откат. Только завершённые транзакции фиксируются в реестре.
В дополнение к транзакционной обработке на микроуровне, современные версии Windows, предлагают самовосстановление с некоторыми функциями и услугами, такими как улучшенная New Technology File System (NTFS) и инструменты автоматической проверки и ремонта дисков. Поэтому основная файловая система, на которой хранятся файлы реестра, остаётся в безопасности от повреждения, тем самым сохраняя целостность реестра.
Когда компьютер загружается, в начале процесса загрузки системы, до основного ядра (и до экрана входа в систему пользователя), запускается некоторый код, который обеспечивает надёжность реестра. При наличии несовпадений, загрузчик, прежде чем загружать ядро, выполняет автоматический ремонт и их исправление.
Если система обнаруживает проблему, где необходим процесс самовосстановления, пользователь увидит всплывающее диалоговое окно о том, что произошла системная ошибка и она ремонтируется. После завершения, компьютер перейдёт к стандартной загрузке.
Сбой при установке программного обеспечения или приложения
Как мы уже говорили, во время установки и последующей конфигурации, прикладное программное обеспечение записывает новые ключи реестра и обновляет старые необходимыми данными для его взаимодействия с Windows.
Используя такой инструмент, как Process Monitor, во время обычной установки, вы можете отслеживать тысячи записей ключей и изменений конфигурации в реестре. Даже если из этого числа вычесть оценку как правило происходящих изменений реестра, вы увидите тысячи его взаимодействий. Несмотря на достигнутые успехи в создании, изменении и удалении реестра, так что никакая транзакция не может быть завершена частично, на более старых операционных системах, не будучи в состоянии прочитать ожидаемый ключ реестра из-за ошибок записи или повреждения части реестра при отключении питания, система вызывает «синий экран смерти».
Во всех версиях Windows, реестр очень восприимчив к написанным во время установки программного обеспечения неправильным ключам. Очень часто многочисленные ключи остаются в системе даже после удаления программного обеспечения. Чаще всего это связано с ленью авторов программного обеспечения, то есть во время обработки реестр не проверяется на надёжность транзакции.
Но довольно часто поставщики программного обеспечения используют реестр для хранения и поддержки информации о лицензировании данного программного обеспечения, что часто привязано к конкретной учётной записи пользователя. В некоторых случаях практика отслеживания информации о состоянии лицензирования в реестре может быть действенной, например, большинство пробных версий программного обеспечения не позволяют пользователю для получения дополнительного пробного срока, удалить и заново переустановить то же самое программное обеспечение на том же самом компьютере.
В следующих статьях вы увидите как во время установки программного обеспечения вредоносное ПО заражает компьютер и как это можно предотвратить, хотя результат очень сильно зависит от использования ПК, данных учётной записи пользователя и параметров UAC.
В целом, за некоторый период времени, пусть это будет год или несколько лет, реестр на вашем компьютере неизбежно накопит огромное количество ненужной, часто устаревшей информации. Даже без помощи вредоносных программ, не менее серьёзные проблемы возникают от совокупного эффекта избыточно раздутого реестра, что приводит к ухудшению производительности системы, увеличению частоты ошибок приложений, системных зависаний и аварий.
Сбои драйверов аппаратных средств или устройств
Драйверы, как правило, поставляются поставщиком оборудования в виде CD, DVD, или загружаются для последующей установки и настройки устройства через интернет.
На протяжении всего срока службы ОС Windows, Microsoft реализует программу, позволяющую производителям оригинального оборудования (OEM), при условии уплаты пошлины, поставку своих драйверов для Microsoft Windows Hardware Quality Lab (WHQL). WHQL активно тестирует и проверяет совместимость драйвера с выбранной операционной системой, а потом, если драйвер функционален, Microsoft обеспечивает цифровую подпись драйвера, включая его в свой инструмент Upgrade Advisor (который заменил используемый в XP список совместимого оборудования (HCL)), и делает его доступным как часть Windows Update.
А также поставщики оборудования участвуют в различный программах Microsoft, например, «Совместимость с Windows XP», «Сертифицировано для Windows 7» и так далее, где Windows Hardware Certification Program увеличивает продажи только подтверждением того, что устройство / программное обеспечение будет совместимо с ОС.
За последние пять лет, особенно после Windows 7, драйверы оборудования стали гораздо более надёжными, чем во времена Windows XP и особенно Vista. Windows XP в основном пострадала из-за своего лоскутного характера, помните, что ОС XP появилась в 2001 году, то есть до многих инноваций, таких как Bluetooth и USB 2.0, и на всем протяжении её жизни приходилось вносить целые пакеты изменений - три основных пакета (SP) и тысячи мелких обновлений в течение периода поддержки.
Сначала, когда XP только появилась, производители программного обеспечения утверждали в Microsoft все свои драйвера. Но со временем, как XP получила широкое применение, производители OEM, для экономии денег, этот процесс сократили. Без строгих требований и проверки в Microsoft на совместимость, это привело к тому, что в некоторых случаях драйвера были просто несовместимы, а в ряде случаев подозревались в причине ухудшения ОС с точки зрения производительности и надёжности.
Windows Vista, в момент своего появления, страдала от целого ряда связанных с драйверами проблем. После длительного периода застоя (Windows XP была очень успешной и пользователи не хотели ничего менять), Vista вышла без особой поддержки OEM.
Из-за отсутствия адекватной поддержки драйверов, в первую очередь из-за Microsoft, Vista была полна переделок, таких как ядро, поддержка драйверов и модель безопасности. Таким образом, почти каждый наследованный драйвер в Vista не работал. Эти устаревшие драйверы потребовали полного переписывания, того, что производители OEM не могли сделать. Поэтому для написания драйверов под новую Windows потребовалось некоторое время, так как разработчикам пришлось получать новые необходимые навыки, а самим драйверам достичь требуемой доступности для населения.
Внимание. Как и с установкой программного обеспечения, после каждой установки оборудования, рекомендуется перезагрузить компьютер. Это эффективно создаёт точку стабильности либо нестабильности. Некоторые проблемы могут проявиться только после перезагрузки ПК. Эта точка полезный контрольно-пропускной пункт, помогающий бороться с возникшими после установки неисправностями.