Поговорим о том, как средствами ОС, самостоятельно оценить её здоровье. Что её беспокоит, о чём она говорит нам, но мы её не слышим.
Где то читал статью, о интересном наблюдении. Практически у каждого из нас бывало чувство. Что чего-то хочется, а что не знаю. Кто то угадывает, поел Мороженку и доволен. А кто то, не солоно нахлебавшись, закрывает холодильник. Объясняется это тем, что наш организм, на понятном для него языке. Пытается сообщить, что ему не хватает каких, то витаминов или минералов. Примерно так и с ОС. У ОС, есть понятный для неё и квалифицированных специалистов язык, а точнее журнал. Где ОС записывает, что пошло не так, или что ей не хватает. В принципе, это можно сравнить и с амбулаторной (медицинской картой). Где система записывает все ее недуги. Или если хотите, личный дневник. В общем сравнений много. И этот журнал нам в помощь. Данную, часть хочется закончить словами, "нет таблетки от всех болезней". Анализ системного журнала, это лишь один из инструментов, который может помочь.
Просмотр сообщений о системных и программных событиях Windows и других программ.
Именно так, системная программа Windows, говорит о себе. Эта программа поможет нам читать журнал, в котором хранятся записи, о событиях в её работе. Данный журнал содержит очень много информации. Я не находил и скорее всего не найду какого-то мануала, по использованию данной информации. В статье я постараюсь пояснить, как можно использовать, журнал событий для поиска проблем в ОС и обозначу некий алгоритм, для решения этих проблем. Приведу примеры (и скорее всего буду дополнять их) решения той, или иной ошибки или проблемы.
Команда для Run или cmd eventvwr.msc
Для запуска Просмотр событий используем:
- Win + R ->в окне eventvwr.msc
- Кнопка или поле поиск. Рядом с кнопкой пуск. В поле Поиск -> пишем просмотр событий -> выбрать в списке первое найденное, Просмотр событий.
- Win10-11 клик правая кнопка мыши по кнопке Пуск -> выбрать Просмотр событий.
Хочу предупредить, что в данной статье, мы очень много будем работать с правкой реестра windows.
Реестр Windows (англ. Windows Registry), или системный реестр — иерархически построенная база данных параметров и настроек в большинстве операционных систем Microsoft Windows.
wikipedia 2023 год
Правка реестра, очень опасное занятие. Неверная правка, может привести к неработоспособности ОС в целом или частично. В связи с чем, как минимум:
- Нужно уметь делать его копию (backup), что бы в случае неудачи, вернуть всё обратно.
- Иметь загрузочную флэшку или флэшку восстановления и уметь ей пользоваться.
- Если вы игнорируете предыдущие пункты, то надо быть готовым, к тому, что бы в случае чего переустановить ОС.
Раз мы упомянули про backup реестра, то научимся это делать. Для ручного создания копии реестра необходимо:
Если вы ещё не открыли редактор реестра, сделайте это. Для этого:
- нажимаем кнопки Win + R в поле выполнить пишем regedit.
- в поле поиск, возле кнопки Пуск пишем regedit
- так же через CMD. В окне терминала пишем regedit
Если вы собираетесь сохранить все ветки реестра. Жмём на Компьютер правой кнопкой мыши, в следующем подменю Экспортировать. В появившемся окне проводника выбираем место где будет сохранена копия и пишем имя файла копии.
Если нужна копия только ветки реестра. Нажмите на ветку реестра правой кнопкой и выберите Экспортировать.
Создать полную копию реестра, довольно просто, но это не практично. Дело в том, что реестр живой и он постоянно меняется. Если после создания копии реестра, вы установили пару программ или поработали с офисом и вдруг вам понадобилось, восстановить реестр. Есть шанс , что ваши программы или документы исчезнут, или будут работать некорректно. По этой причине, лучше делать бэкап ветки реестра, в которую вносите изменения.
Для восстановления данных, нажмите на копию реестра правой кнопкой мыши и выберите Слияние.
Как, я уже говорил, реестр постоянно меняется. От обновления к обновлению ОС меняет названия служб, системных файлов, функционал той или иной службы. Расположение системных файлов и т.д. Другими словами, я хочу донести до вас, что реестр и сама ОС в постоянном цикле изменений. Есть конечно части кода ОС, более стойкие к изменчивости, но всё это до поры до времени. Помните строку из заголовка "почему доп. препараты могут навредить вашей ОС" Так вот доп. препараты это: оптимизаторы, твики, улучшайзеры, разнообразные чистильщики и т.д. Практически все они работают с реестром. Т.к. именно в нём хранятся параметры, которые нельзя изменить из пользовательского интерфейса. Возможно, я допускаю, что мне, с большим опытом работы в ОС windows, легче это понять. Что не будет программы от сторонних разработчиков, которая будет излечивать, очищать или ускорять вашу ОС без последствий. Если уж Microsoft допускает ошибки в обновлениях, что говорить, о стороннем разработчике. Которого мало того, не посвящают в планы MIcrosoft, об изменениях в ОС . Так еще и пытаются закрыть всяческие лазейки для таких программ. Придумывают тонны текста в соглашении, что бы обезопасить вас, от роковой ошибки и себя от необоснованных обвинений. Я не защитник Microsoft, но логическое заключение для себя, сделал уже давно. Сторонний разработчик, не посвященный во все необходимые тонкости работы системы. Не может сделать программу, которая за пару тройку кликов улучшит работу ОС. ОС Которая не стоит на месте и постоянно меняется. А вот запутать вас, данный разработчик вполне может. Втюхать бесполезный очиститель памяти, попутно с дефрагментатором или удалятором тайного раздела Microsoft, который с его слов вообще нафиг не нужен вам, а места на диске занимает. Вот это, ему по силе.
Приступаем к анализу журнала событий
Для облегчения дальнейших действий и документирования, создайте текстовый документ в удобном для вас месте. Скопируйте туда команду для терминала CMD вместе с пояснением.
Команда очищает весь журнал событий
for /F "tokens=*" %1 in ('wevtutil.exe el') DO wevtutil.exe cl "%1"
Выполните эту команду сохраните, закройте текстовый документ и перезагрузите компьютер. Таким образом мы уберем события, которые уже не актуальны (события попали в журнал, но причины их появления, могут уже отсутствовать). Подождем некоторое время после загрузки ОС. Так как службы, которые запускаются вместе с Windows, и имеют пометку " Тип запуска - Автоматически (отложенный запуск)", запускаются позднее .
После открытия журнала, необходимо дождаться сообщения в верхней части окна. Текст его будет "Последние обновление: ДАТА ВРЕМЯ". Это сообщение говорит о том, что журнал прочитан или обновлен. При этом в левой верхней части окна, должно быть выделено Просмотр событий (Локальный)
Слайды👇
1 Настраиваемые представления. Во вкладке Действие, можно создать своё представление. Где можно выбрать, какие события будут в нем отображаться. Microsoft уже создала для нас Представление с именем События управления, им и будем пользоваться.
Окно 2 список событий при выборе которых в окне 3 будет отображаться подробная информация о событии. Окно 4 Уровень их 5: критический, ошибка, предупреждение, сведения, аудит успеха. В События управления мы увидим только 3 из них.
Окно 5 отметка времени события. Окно 6 источник события. окно 7 код события. Поиск решения проблемы, будем осуществлять по информации из окон 3 и 7. Сам же поиск в поисковике Яндекс. За одно покажу, как я пользуюсь поисковиком.
Алгоритм поиска решения проблемы
Критические события редко возникают. Если эти события возникают часто, то скорее всего у вас есть какой-то драйвер или приложение, которое вешает ОС в плоть до перезагрузки. В связи с чем регистрируется событие с приблизительным текстом. " неожиданное завершение работы" или "работа ОС восстановлена после неожиданного (не правильного) завершения работы".
Самые частые ошибки уровня ошибка и предупреждение.
Моя ОС Windows 10 x64 Pro активирована цифровой лицензией, так как ноутбук покупался с предустановленной ОС. Ключ продукта я не вводил из за эксперимента для другой статьи. Кому интересна тема OEM активации можете почитать тут.
ОС установлена с USB флешки, дистрибутив официальный от MSDN. Система чистая. Установил только драйвер для видеокарты от Nvidia с оф сайта, так как windows ставила устаревшие версии. Программа для скриншотов и браузер хром. Разбираем первую ошибку.
Тут все просто. 1 уровень Предупреждение, Источник не понятный. В пояснение 2 говориться, что на сетевом адаптере Broadcom нет линка, мол проверьте кабель. Иду в настройки адаптера и вижу, что у меня есть сетевой интерфейс Broadcom NetLink (TM) и к нему действительно не подключен кабель. Оно и не мудрено, Интернет у меня по WiFi. Жму правой кнопкой на проблемный адаптер и выбираю отключить. Проблема решена больше это событие не произойдет.
Следующая ошибка 1 уровень предупреждение Источник Wininit. В пояснение 2 Много текста и даже есть ссылка на поддержку Microsoft. Идем туда. На страничке много текста вот вырезка от туда.
Сведения о AppInit_DLLs
Инфраструктура AppInit_DLLs позволяет легко подключать системные API, позволяя загружать пользовательские библиотеки DLL в адресное пространство каждого интерактивного приложения. Приложения и вредоносные программы используют библиотеки DLL AppInit по одной и той же основной причине, что заключается в перехвате API; После загрузки пользовательской библиотеки DLL он может подключить хорошо известный системный API и реализовать альтернативные функции. Только небольшой набор современных допустимых приложений использует этот механизм для загрузки БИБЛИОТЕК DLL, а большой набор вредоносных программ использует этот механизм для компрометации систем. Даже законные AppInit_DLLs могут непреднамеренно вызывать взаимоблокировки системы и проблемы с производительностью, поэтому использование AppInit_DLLs не рекомендуется.
В конце говориться, что использование AppInit_DLLs не рекомендуется.
Еще вырезка.
Механизм AppInit_DLLs не является рекомендуемым подходом для законных приложений, так как это может привести к взаимоблокировкам системы и проблемам с производительностью.
Механизм AppInit_DLLs по умолчанию отключен при включенной безопасной загрузке.
Использование AppInit_DLLs в классическом приложении Windows 8 — это сбой сертификации классических приложений Для Windows.
В общей массе говориться, что надо исключить использование этого AppInit_DLLs. Выделяем мышкой текст из пояснения, жмем Ctrl + Ins (или как вы привыкли) для копирования.
Идем в Яндекс и вставляем Shift + Ins в строку поиска.
Первый результат у нас с сайта Microsoft, туда и заглянем. Если заметили, в результатах поиска, Яндекс выделяет жирным шрифтом текст, который совпадает с текстом, что мы написали в поиске.
Почитав тексты по ссылке, нашел как в реестре отключить AppInit_DLLs
У меня x64 по этому мне надо править две ветки
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows
для x86
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows]
"AppInit_DLLs"=""
"LoadAppInit_DLLs"=dword:00000000
для x64
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows]
"AppInit_DLLs"=""
"LoadAppInit_DLLs"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows]
"AppInit_DLLs"=""
"LoadAppInit_DLLs"=dword:00000000
Копирую из текста ветки без [ и ] и вставляю в блокнотик
Описание правки я взял из текста Microsoft и указал, что прежние значения были 1, а изменить надо на 0. Такое документирование будет полезно и удобно. Ошибку, что мы сейчас разбираем, довольно распространенное явление и может пригодиться нам в будущем. Из текста выше. Нам надо найти параметр "LoadAppInit_DLLs" и присвоить значение 0 "=dword:00000000". Открываем редактор реестра regedit. Открываем если закрыли, блокнот и копируем первую ветку.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows
В редакторе, в поле, выделяем весть текст в месте с Компьютер и вставляем Shift + Ins то, что мы скопировали в блокноте. Нашу первую ветку.
Жмём Enter
В поле 1 расположены ветки реестра. Можете сделать бекап этой ветки, а можете и не делать, ведь у нас все задокументировано. В поле 2 параметры ветки и нужный нам LoadAppInit_DLLs с значением 1. Кликаем по LoadAppInit_DLLs дважды, что бы отредактировать его значение.
1 Имя изменяемого параметра 2 поле со значением. Пишем там 0. 3 Жмем ОК. То же самое делаем с второй веткой. После перезагрузки наша ошибка уже не будет регистрироваться в журнале событий.
Идём далее
Три ошибки DistributedCOM с кодом события 10016. В пояснении к предупреждению, текст одинаковый. За исключением одной строчки.
Windows.SecurityCenter.SecurityAppBroker
Windows.SecurityCenter.WscBrokerManager
Windows.SecurityCenter.WscDataProtection
Статья не окончена. Продолжение следует.
👉Подписываемся, ставим лайки и комментируем, что бы увидеть еще больше, интересных публикаций.