Добро пожаловать на форум, Гость!
Войдите или зарегистрируйтесь!
Имя пользователя:   Пароль:  
Запомнить меня 




Начать новую тему Ответить на тему   [ Сообщений: 8 ] 
Автор Сообщение
СообщениеДобавлено: 17 июн 2010, 14:05 
Бородатый сис
Аватар пользователя
Статус: Не в сети

GeoIP: Kyrgyzstan

Сообщений: 2892
Откуда: Из серверной
Зарегистрирован: 03 мар 2010, 15:12
Благодарил (а): 19 раз.
Поблагодарили: 121 раз.
ОС: RHEL 6.7
Американские программисты очень долго не могли понять, почему их русские коллеги при зависании Windows всё время повторяют фразу “твой кролик написАл” (Your Bunny Wrote)
(с) Роман Трахтенберг


Изображение


Синий экран смерти – (англ Blue Screen of Death, BSoD) — название сообщения о критической системной ошибке в операционных системах Microsoft Windows. Существует два вида сообщений BSOD: для семейства Microsoft Windows 95/98/Me и для семейства Microsoft Windows NT/2000/XP/2003/Vista/7

Синий экран смерти впервые появился в Windows версии 3.1.

Термин «Синий экран смерти» был предложен Эриком Ноесом (англ. Erik Noyes) в 1991 году во время его работы в службе поддержки электронной службы доставки компании Charles Schwab and Co., Inc (википедия)

Например, вот так выглядит BSOD в Windows 95/98/Me

Изображение


а вот так в Windows NT/2000/XP/2003/Vista/7

Изображение


Состоит BSOD, как правило, из нескольких пунктов, которые описывают причину возникновения BSOD:

Содержимое текста на экране:
    * код ошибки и его символьное имя (например 0×0000001E, KMODE_EXCEPTION_NOT_HANDLED)
    * 4 параметра, поясняющие ошибку, предназначенные для отладочного ПО (значение параметров зависит от кода ошибки)
    * адрес места ошибки (если его возможно указать)
    * название драйвера, в котором произошла ошибка (если его возможно указать)

В рамках Windows Resource Kit синие экраны смерти называются стоп-ошибками (англ. stop error); в SDK и DDK они называются bug check screens или Stop screens.

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


Я не злопамятный, я просто часто ковыряю логи
Изображение


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 17 июн 2010, 14:06 
Бородатый сис
Аватар пользователя
Статус: Не в сети

GeoIP: Kyrgyzstan

Сообщений: 2892
Откуда: Из серверной
Зарегистрирован: 03 мар 2010, 15:12
Благодарил (а): 19 раз.
Поблагодарили: 121 раз.
ОС: RHEL 6.7
Голубые экраны вспыхивают всякий раз, когда ядро сталкивается с ситуацией, которую не может разрулить самостоятельно. Если не остановить некорректно работающий код, завершив работу всех механизмов оси в аварийном режиме, ситуация способна пустить систему в разнос.

Это, кстати, кардинально отличает NT-подобные системы от мира UNIX, впадающего в BSOD (kernel panic – в их терминологии) только в хардкорных обстоятельствах (все остальное время они просто выгружают порочный драйвер примерно так же, как NT завершает работу некорректно работающего приложения).

Конечно, если ошибка возникнет в драйвере файловой системы, то далеко на такой машине не уедешь. Подавляющее большинство сбоев приходится на драйвера, установленные вирусами, антивирусами, брандмауэрами, звуковыми и видеокартами. Причем, как показывает практика, 90% ошибок отнюдь не фатальны.

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

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

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

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


Я не злопамятный, я просто часто ковыряю логи
Изображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Устройство BSOD…
СообщениеДобавлено: 17 июн 2010, 14:09 
Бородатый сис
Аватар пользователя
Статус: Не в сети

GeoIP: Kyrgyzstan

Сообщений: 2892
Откуда: Из серверной
Зарегистрирован: 03 мар 2010, 15:12
Благодарил (а): 19 раз.
Поблагодарили: 121 раз.
ОС: RHEL 6.7
Роль палача bsod в NT-системах играет функция KeBugCheckEx, экспортируемая ядром и вызываемая из сотен (если не тысяч!) мест с теми или иными параметрами.

Что это за параметры? Обратившись к NTDDK, мы узнаем, что функция KeBugCheckEx принимает пять аргументов, первый из которых (BugCheckCode) содержит код ошибки bsod, а четыре следующих параметра – места/время/обстоятельства ее возникновения.

Перечень BugCheck-кодов можно найти в том же NTDDK. Там же содержится описание четырех аргументов, специфичных для каждого BugCheck-кода, количество которых чуть меньше сотни. Чтобы не держать в голове кучу ненужной информации о bsod, рекомендуется распечатать документацию и всегда хранить ее под рукой.

BugCheck-коды можно разделить на две большие категории. Первая содержит адрес инструкции, вызвавшей исключение (например, 1Eh: KMODE_EXCEPTION_NOT_HANDLED, 0Ah:
Код:
IRQL_NOT_LESS_OR_EQUAL, 24h: NTFS_FILE_SYSTEM)
.

Это позволяет «заглянуть» отладчиком непосредственно на место аварии, исправить пробоину и, выйдя из отладчика, продолжить плавание (естественно, для этого нужно не только знать ассемблер, но и разбираться в тонкостях драйверостроения, но это – в идеале).

Другая категория BugCheck-кодов в bsod не содержит адреса дефективной инструкции, поскольку ядро диагностирует аварийную ситуацию на поздней стадии. Найти виновника в этих случаях затруднительно. Взять хотя бы такой BugCheck-код, как C2h: BAD_POOL_CALLER. Он вызывается из функции распределения памяти, обнаружившей, что память на конкретной измене, но кто ее разрушил и когда – этого система сказать не может.

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

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

Также можно вывести на экран в ручном режиме BSOD

Операционные системы семейства NT, начиная с Windows 2000, могут быть настроены таким образом, чтобы дать пользователю возможность вручную спровоцировать «синий экран смерти». Чтобы включить эту функцию на компьютере с клавиатурой PS/2, необходимо изменить определённые настройки в системном реестре:
Запустите редактор реестра.
Найдите следующий раздел реестра:

Код:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters

В меню Правка выберите команду Добавить параметр и создайте следующую запись реестра:
    Параметр: CrashOnCtrlScroll
    Тип данных: REG_DWORD
    Значение: 1
Закройте редактор реестра и перезагрузите компьютер.

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

После появления bsod в Windows 9x/ME ОС в отдельных случаях спрашивает, следует ли продолжить работу. Во многих случаях возможно нормальное продолжение работы после bsod.

Проблемы с локализованными версиями Windows.

В локализованных версиях Windows сообщение об ошибке bsod выводится на языке локализации. Если в видеокарту не загружены символы алфавита языка, сообщение превращается в мешанину символов, так как загруженные драйверы локализации не используются при выводе BSOD.

Например, такое случается в русской версии Windows XP (в русской Windows XP Service Pack 2 и позже STOP-сообщения выдаются на английском языке).

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


Я не злопамятный, я просто часто ковыряю логи
Изображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Немного о BSOD: Коды ошибок
СообщениеДобавлено: 17 июн 2010, 14:14 
Бородатый сис
Аватар пользователя
Статус: Не в сети

GeoIP: Kyrgyzstan

Сообщений: 2892
Откуда: Из серверной
Зарегистрирован: 03 мар 2010, 15:12
Благодарил (а): 19 раз.
Поблагодарили: 121 раз.
ОС: RHEL 6.7
Давайте рассмотрим некоторые ошибки BSOD на примере следующего сообщения синего экрана:

Код:
0×00000001

0×0000000A, 0×00000009; 0×00000008; 0×00000007; 0×00000006; 0×00000005; 0×00000004; 0×00000003; 0×00000002 0×0000000D, 0×0000000B; 0×0000000C

0×0000001E, 0×0000000E; 0×0000000F; 0×00000010; 0×0000011; 0×0000012; 0×0000013; 0×0000014; 0×0000015; 0×0000016; 0×0000017; 0×0000018; 0×0000019; 0×000001A; 0×000001B; 0×000001C; 0×000001D

0×00000020, 0×0000001F

0×0000002A, 0×00000029; 0×00000028; 0×00000027; 0×00000026; 0×00000025; 0×00000024; 0×00000023; 0×00000022; 0×00000021

0×0000002B

0×0000002E, 0×0000002D; 0×0000002C

0×00000031, 0×0000002F; 0×00000030

0×00000032, 0×00000033; 0×00000034

0×00000035

0×00000036

0×0000003E, 0×00000037, 0×00000038, 0×00000039, 0×0000003A, 0×0000003B, 0×0000003C, 0×0000003D

0×0000003F

0×00000040

0×00000041

0×00000048, 0×00000045; 0×00000046; 0×00000047

0×0000004C, 0×0000004B; 0×0000004C

0×0000004D

0×0000004E

0×00000050, 0×0000004F

0×00000051

0×00000058,  0×00000052; 0×00000053; 0×00000054; 0×00000055; 0×00000056; 0×00000057

0×00000067,  0×0000005E; 0×0000005F; 0×00000060; 0×00000061; 0×00000062; 0×00000063; 0×00000064; 0×00000065; 0×00000066

0×00000069,  0×00000068

0×0000006B,  0×0000006A

0×00000071,  0×00000070; 0×0000006F; 0×0000006E; 0×0000006D; 0×0000006C

0×00000073,  0×00000072

0×00000074

0×00000075

0×00000076

0×00000077

0×00000078

0×0000007A

0×0000007B

0×0000007D,  0×0000007C

0×0000007F,  0×4000007E

0×00000080

0×00000081

0×0000008B

0×0000008F,  0×00000090 -0

0×00000092

0×00000093

0×00000096

0×00000097

STOP! Ошибка : 0×00000001

Ответ: Это BSOD ошибка ядра (kernel). Ошибка может возникнуть из-за несовпадения KeEnterCricticalRegion и KeLeaveCriticalRegion в файловой системе.

Код:
STOP! Ошибка: 0×0000000A,  0×00000009; 0×00000008; 0×00000007; 0×00000006; 0×00000005; 0×00000004; 0×00000003; 0×00000002


Ответ: Была сделана попытка затронуть виртуальную память на внутреннем процессе IRQ уровня, который слишком высок. Если kernel debugger доступен, вы можете отследить, где именно система запнулась. Наиболее частая причина возникновения — драйвер устройства использует неверный адрес. Имейте в виду, что в 99% случаев эта ошибка возникает из-за, мягко говоря, некачественных драйверов.


Код:
STOP! Ошибка: 0×0000000D,  0×0000000B; 0×0000000C


Ответ: Попытайтесь установить взаимоисключения, используя NTOS\EX\EXLEVELS.H файл заголовков. Вы должны найти точки взаимодействия и определить, какие из них пытаются получить доступ к этому уровню в неверной последовательности.


Код:
STOP! Серьезная ошибка BSOD: 0×0000001E,  0×0000000E; 0×0000000F; 0×00000010; 0×0000011; 0×0000012; 0×0000013; 0×0000014; 0×0000015; 0×0000016; 0×0000017; 0×0000018; 0×0000019; 0×000001A; 0×000001B; 0×000001C; 0×000001D


Ответ: Это очень часто встречающаяся ошибка BSOD. Обычно исключенный адрес указывает на драйвер или функцию, которая вызвала стоп-экран. Всегда обращайте внимание не только на указанный драйвер, но и на сам адрес, содержащий эту ошибку. Обычно это код исключения 0×80000003. Эта ошибка BSOD означает, что точка прерывания или суждение была достигнута при обращении к памяти, но система загрузилась с /NODEBUG-ключа. Эта ошибка не должна появляться слишком часто. Если она появляется постоянно, убедитесь, что отладчик (debugger) подключен, и система загружается с /DEBUG switch. На неинтеловских системах, если адрес исключения 0XBFC0304, ошибка появляется вследствие кэширования процессора. Если BSOD будет появляться снова, свяжитесь с производителями. Как правило, требуется анализ второго параметра этого сообщения, который указывает на адрес драйвера/функции, которая была причиной проблемы.


Код:
STOP! Ошибка BSOD: 0×00000020,  0×0000001F


Ответ: Название ошибки указывает на поврежденный/отключенный APC счетчик. Если счетчик показывает значение, не равное нулю, то он и есть источник проблемы. Отрицательное значение указывает на то, что файловая система вызывала FsRtlEnterFileSystem большее количество раз, чем FsRtlExitFileSystem. Положительное значение — что, наоборот, FsRtlExitFileSystem было вызвано большее количество раз, чем FsRtlEnterFileSystem. Если у вас такая ситуация, проверьте всефайловые системы, установленные на машине. Сторонние перенаправители более всего подозреваются в сбое, так как они не были так тщательно протестированы, как NTFS, FAT, HPFS и RDR. Текущий IRQL должен быть равен 0. Если нет, то определенный порядок аннулирования драйверов может быть причиной возникновения ошибки. Всегда пытайтесь заметить, что вы делали или какие приложения закрывали, какие драйверы были установлены на момент возникновения синего экрана. Этот симптом указывает на серьезную проблему в драйверах третьей стороны.


Код:
STOP! Ошибка: 0×0000002A,  0×00000029; 0×00000028; 0×00000027; 0×00000026; 0×00000025; 0×00000024; 0×00000023; 0×00000022; 0×00000021


Ответ: IRP неожиданно был обнаружен в несоответствующем состоянии. Это когда поле или несколько полей были несовместимы с сохранившимся состоянием IRP. Например, IRP, который был закончен, указывался как все еще ждущий выполнения команд драйвера какого-либо устройства, 1 — адрес, на котором IRP был найден в несоответствующем состоянии.


Код:
STOP! Ошибка: 0×0000002B


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


Код:
STOP! Ошибка: 0×0000002E,  0×0000002D; 0×0000002C


Ответ: Этот стоп чаще всего вызывается ошибкой в памяти системы. Также это может случиться, когда драйвер обращается к 0×8XXXXXXX адресу памяти, который не существует. 1 — адрес виртуальной памяти, который стал причиной ошибки BSOD, 2 — физический адрес причины ошибки, 3 — регистрация статуса процессора (PSR), 4 — регистрация инструкции ошибки (FIR).


Код:
STOP! Ошибка: 0×00000031,  0×0000002F; 0×00000030


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


Код:
STOP! Ошибка: 0×00000032,  0×00000033; 0×00000034


Ответ: Параметры: 1 — код статуса системы, который описывает, почему система решила, что инициализация не прошла, 2 — указывает место внутри INIT.C, где ошибка инициализации фазы 1 произошла.


Код:
STOP! Ошибка: 0×00000035


Ответ: Драйвер высшего уровня пытался вызвать драйвер низшего уровня через IoCallDriver()-интерфейс, но в запасе не было свободного места в области стека, поэтому драйвер низшего уровня не сможет достичь нужных параметров, так как для него вообще никаких параметров нет. Это гибельная ситуация, так как драйвер высшего уровня считает, что заполнил параметры для драйвера низшего уровня (что-то он должен был сделать, чтобы вызвать драйвер низшего уровня). Тем не менее, так как для последнего драйвера нет свободного места в области стека, составитель аннулировал конец пакета. Это означает, что, скорее всего, какая-то другая память была повреждена. Параметры: 1 — адрес IRP


Код:
STOP! Ошибка: 0×00000036


Ответ: Драйвер устройства пытался удалить из системы один из объектов его устройства, но счетчик обращений этого объекта не был равен 0 — это означает, что для этого объекта все еще были невыполненные задачи (счетчик указывает номер причин, почему данный объект не может быть удален). Это ошибка вызова драйвера. Параметры: 1 — адрес объекта.


Код:
STOP! Ошибка: 0×0000003E,  0×00000037, 0×00000038, 0×00000039, 0×0000003A, 0×0000003B, 0×0000003C, 0×0000003D


Ответ: Мультипроцессорная система не симметрична. Чтобы быть симметричными, процессоры должны быть одного типа и уровня. Например, попытка использовать процессор уровня Pentium и 80486 вызовет ошибку. Кроме того, на х86-системах возможность вычислений с плавающей точкой должна быть на обоих процессорах или ни на одном.


Код:
STOP! Ошибка: 0×0000003F


Ответ: Не хватает РТЕ (page file entries). Обычно причиной является драйвер, который плохо вычищает файл подкачки (swap). Если отладчик ядра (kernel debugger) доступен, проследите, где система запнулась, и введите следующую команду: !sysptes(3)


Код:
STOP! Ошибка: 0×00000040


Ответ: Драйвер вызвал функцию IoBuildPartialMdl() и послал ей MDL, чтобы выявить часть источника MDL, но цель MDL недостаточно большая, чтобы отобразить пределы требуемых адресов. Это ошибка драйвера. Источник и цель MDL, также как длина линии адресов.Определения являются аргументами IoBuildPartialMdl() функции: IoBuildPartialMdl( IN PMDL SourceMdl, IN OUT PMDL TargetMdl, IN PVOID VirtualAddress, IN ULONG Length).


Код:
STOP! Ошибка: 0×00000041


Ответ: Если отладчик ядра (kernel debugger) доступен, команда виртуальной машины (VM) показывает различные величины: 1 — величина запроса, который не может быть удовлетворен, 2 — номер страниц, которые были использованы из nonpaged pool.


Код:
STOP! Ошибка: 0×00000048,  0×00000045; 0×00000046; 0×00000047


Ответ: Эта ошибка указывает, что I/O Request Packet (IRP), который должен быть завершен, имеет определенный в нем порядок отмены. Это означает, что пакет в таком положении, что может быть отменен. Тем не менее, пакет не относится более к драйверу, так как уже вошел в стадию завершения. 0×00000049 Означает именно то, что пишет: ошибка страницы с выключенным прерыванием. Рассматривайте эту ошибку так же, как 0×0A.

Код:
STOP! Ошибка BSOD: 0×0000004C,  0×0000004B; 0×0000004C


Ответ: Наиболее частые причины: x218 — необходимая библиотека реестра не может быть загружена. Этот файл может отсутствовать или быть поврежденным. Чтобы решить эту проблему, вам понадобится эмерженси загрузочная дискета. Драйвер может иметь поврежденный ключ реестра во время загрузки в память или память, в которую происходила загрузка этого ключа, может быть и не память на самом деле. Особенно AST EISA машины с 16М и выше памятью должны иметь доступ к памяти выше 16М, т.е. в утилите конфигурации EISA этот параметр должен быть ENABLED (разрешен). Иначе файл, который загрузится в ту память, при чтении покажет 0xffffffff. x21A, или Winlogon, или CSRSS (Windows) отключились (внезапно). Выходящий код может сказать больше. Обычно это c0000005, что говорит о том, что неподдерживаемое исключение рухнуло в том или другом процессе. Здесь вы не так много можете сделать. x221 означает, что драйвер поврежден или системная библиотека была распознана как

поврежденная. NT делает все, чтобы проверять нетронутость важных системных файлов. Синий экран показывает имя поврежденного файла. Если такое случилось, загрузитесь в любую другую систему или, если таковых нет, переустановите систему. Убедитесь, что версия файла, который был выявлен как поврежденный, совпадает с версией файла в дистрибутиве, и, если это так, то замените его с диска. Постоянные ошибки с разными именами файлов означают проблемы с железом в I/O пути драйвера.

Код:
STOP! Ошибка BSOD: 0×0000004D


Ответ: Нет больше свободного места, чтобы закончить операцию. Если отладчик (kernel debugger) доступен, печатайте следующие команды: !process 0 7, !vm(), dd(mmpagingfiles), dd @$p.

Код:
STOP! Ошибка: 0×0000004E


Ответ: Причина — поврежденная/неисправная I/O структура драйвера.

Код:
STOP! Ошибка: 0×00000050,  0×0000004F


Ответ: Появляется, когда запрошенная информация не была найдена в памяти. Система проверяет файл подкачки (page file), но отсутствующая информация была обозначена как невозможная для записи в файл подкачки. Если это случилось на Terminal Server, проверьте драйверы третьей стороны для принтера. Параметры: 1 – указывает на адрес в памяти, который допустил ошибку.

Код:
STOP! Ошибка: 0×00000051


Ответ: Что-то случилось с реестром. Если отладчик (kernel debugger) доступен, отследите ошибку. Если он вам покажет, что вы в ветке системы (CmpWorker будет присутствовать в перечне), введите следующие команды: dd CmpRegistryMutex+18 L1, !thread . Это выдаст вам ветку и место ошибки, которое обращалось к реестру. Эта ошибк может означать, что реестр получил ошибку I/O, когда пытался прочитать один из его файлов, отсюда следует, что ошибка могла быть вызвана проблемой с оборудованием или что сама система повреждена. Это также может означать, что ошибка вызвана операцией обновления, которую использует только система безопасности, и это только когда ресурсы на исходе. Если такая ошибка появилась, проверьте, является ли машина PDC или BDC и сколько аккаунтов в базе данных SAM (Менеджер Безопасности Аккаунтов), не заполнены ли соОтвет:ствующие библиотеки почти до конца.

Код:
STOP! Ошибка: 0×00000058,  0×00000052; 0×00000053; 0×00000054; 0×00000055; 0×00000056; 0×00000057


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

Код:
STOP! Ошибка: 0×00000067,  0×0000005E; 0×0000005F; 0×00000060; 0×00000061; 0×00000062; 0×00000063; 0×00000064; 0×00000065; 0×00000066


Ответ: Это означает, что реестр не может создать место, необходимое для содержания файлов реестра. Эта ошибка никогда не должна появляться, так как процесс создания такого места происходит на ранней стадии загрузки системы, и поэтому должно быть достаточно места для создания «бассейна». Указывает на NTOS\CONFIG\CMSYSINI, который потерпел неудачу.

Код:
STOP! Ошибка: 0×00000069,  0×00000068


Ответ: Инициализация I/O системы не удалась по каким-либо причинам. Больше практически никакой информации нет. Такое могло случиться, если установка приняла неправильное решение по поводу инсталляции системы или пользователь переконфигурировал систему.

Код:
STOP! Ошибка: 0×0000006B,  0×0000006A


Ответ: 1 – указывает на код статуса, который решил, что инициализация NT не прошла успешно. 2 – указывает на место в NTOS\PS\PSINIT.C, где ошибка была обнаружена.

Код:
STOP! Ошибка: 0×00000071,  0×00000070; 0×0000006F; 0×0000006E; 0×0000006D; 0×0000006C


Ответ: Эти коды (SESSION1 — SESSION5) указывают место в NTOS\INIT\INIT.C, где была допущена ошибка. Параметры: 1 – указывает код статуса, который решил, что инициализация NT не прошла успешно.

Код:
STOP! Ошибка: 0×00000073,  0×00000072


Ответ: Указывает, что одна из системных библиотек повреждена или нечитаема.

Эта библиотека может быть или SOFTWARE, или SECURITY, или SAM (Менеджера Безопасности Аккаунтов).

Код:
STOP! Ошибка: 0×00000074


Ответ: Эта ошибка может показывать то, что библиотека SYSTEM, загружаемая OSLOADER/NTLDR, повреждена. Тем не менее, это практически невозможно, так как OSLOADER всегда проверяет библиотеки после загрузки и убеждается, что они не повреждены. Эта ошибк может означать, что некоторые требуемые ключи реестра и их параметры отсутствуют. Загрузка в LastKnownGood (Последней хорошей конфигурации) может решить проблему, или вам придется переустанавливать систему, или используйте Emergency Repair Disk.

Код:
STOP! Ошибка: 0×00000075


Ответ: Эта ошибка может появиться, если файлы SYSTEM библиотеки (SYSTEM и SYSTEM.ALT) не могут достичь accommodate additional data, записанные в hive между инициализациями реестра и первой фазы (когда файловые системы доступны). Эта ошибка обычно означает, что на диске нет свободного места, это может также произойти при попытке сохранить реестр на устройстве (только чтение).

Код:
STOP! Ошибка: 0×00000076


Ответ: Эта ошибка может возникнуть по причине драйвера, который не полностью вычищен после I/O операции. Параметры: 1 – адрес (процесса), 2 – число замкнутых страниц.

Код:
STOP! Ошибка BSOD: 0×00000077


Ответ: Запрошенная страница ядра не может быть прочтена. Причина может быть в плохом блоке файла виртуальной памяти или ошибке контроллера диска (очень редко когда причиной может быть нехватка ресурсов, а конкретней — резерв nonpaged pool (невиртуальной памяти) со статусом c0000009a [STATUS_INSUFFICIENT_RESOURCES]). Если первый и второй параметры кода ошибки равны 0, это означает, что место ошибки в ядре не было найдено. Значит, эта ошибка вызвана плохим оборудованием. I/O статус c000009c (STATUS_DEVICE_DATA_ERROR) или C000016AL (STATUS_DISK_OPERATION_FAILED) обычно означает, что информация не может быть прочитана из-за плохого блока в памяти. После перезагрузки автоматическая проверка диска попытается определить адрес плохого блока в памяти. Если статус будет C0000185 (STATUS_IO_DEVICE_ERROR), и виртуальная память находится на SCSI- диске, то должно быть проверено подключение и срок годности.

Код:
STOP! Ошибка: 0×00000078


Ответ: Уровень проверки HAL и тип конфигурации HAL не подходят ядру системы или типу машины. Такая ошибка, скорее всего, вызвана тем, что пользователь вручную обновил либо NTOSKRNL.EXE, либо HAL.DLL. Или на машине мультипроцессорный HAL (MP) и юнипроцессорное ядро (UP), или наоборот.

Код:
STOP! Ошибка: 0×0000007A


Ответ: Не может быть прочтена запрашиваемая ядром страница. Ошибка

вызвана плохим блоком в памяти или ошибкой контроллера диска.

Код:
STOP! Ошибка BSOD: 0×0000007B


Ответ: В процессе инсталляции I/O системы драйвер загрузочного устройства, возможно, не смог инициализировать устройство, с которого система пыталась загрузиться, или файловая система, которая должна была прочитать это устройство, либо не смогла инициализироваться, либо просто не распознала информацию на устройстве как структуру файловой системы. В случае составителя первый аргумент — адрес уникодовой структуры информации, которая является ARC именем устройства, с которого была попытка загрузиться. Во втором случае первый аргумент — адрес объекта устройства, которое не может быть смонтировано. Если эта ошибка возникла при начальной инсталляции системы, она может означать, что система была установлена на диск или SCSI-контроллер, которые ею не поддерживаются. Имейте в виду, что некоторые контроллеры поддерживаются только драйверами из виндовских библиотек (WDL), которые должны быть установлены с помощью выборочной установки. Эта ошибк может произойти после установки нового SCSI- адаптера или контроллера или после изменений системной партиции. В этом случае на x86-системах нужно отредактировать BOOT.INI, на ARC-системах — запустить Setup. Для большей информации, как должен быть изменен BOOT.INI, смотрите Windows NT Advanced Server (Administrators Guide). Если аргумент указывает на ARC имя стринга (string), формат первых двух (это только в этом случае) длинных слов будет: USHORT Length; USHORT MaximumLength; PVOID Buffer;. Например, если первое длинное слово содержит что-то типа 00800020, где 20 — длина Уникодового стринга (Unicode string), и следующее длинное слово будет содержать адрес буфера. Если аргумент указывает на объект устройства, формат первого слова будет: USHORT Type;. Значит, первое слово содержит 0003, где Type-код всегда будет 0003.

Код:
STOP! Ошибка: 0×0000007D,  0×0000007C


Ответ: Не хватает памяти, чтобы загрузить Windows (необходимо 5 Мб).

Код:
STOP! Ошибка: 0×0000007F,  0×4000007E


Ответ: Эта ошибка означает, что произошло непредвиденное прерывание в режиме ядра, или вид прерывания, которое ядро не разрешает иметь или получить (захват (a bound trap)), или вид прерывания, которое влечет за собой немедленную «смерть» (двойная ошибка (double fault)). Первое число в интервалах кода бага — число прерывания (8 = double fault). Использование отладчика ядра (kernel debugger), KB и !TRAP в подходящем фрейме (который будет EBP, что идет вместе с процедурой KiTrap–at минимум на x86 машинах) покажет, откуда прерывание взялось. В общем, баг появляется, когда процессор допускает ошибку, с которой ядро не может справиться. Чаще всего она возникает из-за плохого RAM, из-за разгона процессора. Попробуйте отменить в BIOS sync negotiation (синхронная передача данных).

Код:
STOP! Ошибка: 0×00000080


Ответ: HAL должен сообщить всю конкретную информацию, которую имеет, и предложить пользователю обратиться к поставщику оборудования за поддержкой.

Код:
STOP! Ошибка: 0×00000081


Ответ: Примечание: текстовая форма setup’a больше не использует проверку багов (bugcheck), чтобы выйти из серьезных ошибок. Поэтому вы никогда не столкнетесь с 0×85. Все проверки багов были заменены на более дружелюбные и, где возможно, более информативные сообщения об ошибках. Тем не менее, некоторые составители ошибок просто были

заменены нашими bugcheck-экранами, и код для этих состояний ошибок такой же, как и был. 1: Не прошла инициализация видео. Эта ошибка имеет собственный экран, и пользователю предоставляется только 2 варианта. Это означает, что файл vga.sys (или другой драйвер в зависимости от машины) поврежден или что мы не поддерживаем данное оборудование. 2. Инициализация клавиатуры провалилась. Теперь используются 2 разных экрана в зависимости от ошибок, которые тут могли появиться. Это может означать, что диск, содержащий драйверы для клавиатуры (i8042prt.sys или kbdclass.sys), поврежден или машина имеет неподдерживаемую клавиатуру. Также это может означать, что dll раскладка клавиатуры не может быть загружена.

Код:
STOP! Ошибка:: 0×0000008B


Ответ: Эта ошибка возникает в процессе загрузки, когда контрольная сумма MBR, которую посчитала система, не совпадает с контрольной суммой загрузчика. Обычно это означает вирус. Некоторые вирусы не могут быть определены/найдены. Загрузитесь с дискеты с вирус-сканером (убедитесь, что дискета защищена от записи!).

Код:
STOP! Ошибка: 0×0000008F,  0×00000090


Ответ: Это сообщение появляется, если инициализация фазы 1 менеджера Plug and Play не прошла на стадии инициализации ядра (kernel-mode Plug and Play Manager failed). Вот здесь происходят практически все инициализации включая конфигурацию среды (реестр и т.д.) драйверов для вызова I/O впоследствии.

Код:
STOP! Ошибка: 0×00000092


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

Код:
STOP! Ошибка: 0×00000093


Ответ: Эта ошибка появляется, когда код ядра (kernel code), такой, как сервер, перенаправитель (redirector), другие драйверы и т.д. пытаются закрыть handle, который не является действительным.

Код:
STOP! Ошибка: 0×00000096


Ответ: Это сообщение появляется, когда KeRemoveQueue удаляет очередь данных, flink- или blink-поле равно 0. Это практически всегда вызывается неправильным применением кода работающей нити текущего объекта, но неправильное применение любой очереди может привести к этому. Правило — ввод данных в очередь может быть произведен только однажды. Когда предмет удаляется из очереди, его flink-поле равно 0. Этот баг возникает, когда происходит попытка удалить данные, flink- или blink-поля которых равны 0. Для того, чтобы разрешить этот баг, вам необходимо выяснить очередь, на которую он ссылается. Если эта очередь одна из ЕХ работающих очередей (ExWorkerQueue), тогда объект, который удаляется — WORK_QUEUE_ITEM. Этот баг подразумевает, что это и есть причина. Параметры бага помогают выявить драйвер, который неправильно использует очередь.

Код:
STOP! Ошибка: 0×00000097


Ответ: MmLoadSystemImage была вызвана, чтобы загрузить bound image. Это не поддерживается ядром. Убедитесь, что bind.exe не был запушен на

картинке. KeBugCheckEx (параметры): 1 — адрес данных в очереди, flink/blink-поле которых ноль; 2 — адрес на ссылающуюся очередь — обычно это одна из ExWorkerQueues очередей; 3 — начальный адрес ExWorkerQueue-массива — это поможет выявить, когда очередь в STOP-ошибкае одна из ExWorkerQueue очередей, и, если это так, то офсет из этого параметра выявит очередь; 4 — если это ExWorkerQueue-очередь (как это бывает обычно), то это адрес работающей рутины, которая бы вызывалась, если бы работающий элемент был действительным — может быть использовано, чтобы выявить драйвер, который неправильно использует рабочую очередь.


Я не злопамятный, я просто часто ковыряю логи
Изображение


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 17 июн 2010, 19:13 
Красноглазик
Аватар пользователя
Статус: Не в сети

GeoIP: Kyrgyzstan

Сообщений: 659

Зарегистрирован: 26 мар 2010, 11:43
Благодарил (а): 1 раз.
Поблагодарили: 5 раз.
интересно, спасибо!


OS: Gentoo Linux 3.6.6, KDE 4.9.3/Fluxbox


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 17 июн 2010, 22:21 
Бытовой хакер
Аватар пользователя
Статус: Не в сети

GeoIP: Kyrgyzstan

Сообщений: 1077
Откуда: Чолпон-Ата
Зарегистрирован: 02 мар 2010, 13:21
Благодарил (а): 18 раз.
Поблагодарили: 14 раз.
ОС: Maui 2
Респект, интересная статейка .


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 30 дек 2010, 01:35 
Юзер
Аватар пользователя
Статус: Не в сети

GeoIP: Kyrgyzstan

Сообщений: 37
Откуда: От туда
Зарегистрирован: 31 окт 2010, 22:30
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
СПС


Информация - самый ходовой товар ©®SelerOk™


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 02 июн 2015, 02:18 
Юзер
Аватар пользователя
Статус: Не в сети

GeoIP: Uzbekistan

Сообщений: 7

Зарегистрирован: 17 апр 2011, 06:23
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
подскажите - как сделать перезагрузку вместо BSoD?

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

помогите с этой темой
мне очень нужно
у меня форекс робот и частенько выскакивает синий экран
железо почистил и т.д. - не помогло!

просто меня не будет дома и я автоматизировал запуск ОС + автостарт моих программ
но есть одно "но"
я не смогу нажать "Reset" при появлении синего экрана, т.к. меня не будет дома
P.S.:
свойства компьютера / advanced / startup and recovery / system failure - установить галку на "автоматическая перезагрузка" - не напоминайте про эту чушь (у меня и так голова болит) - это не помогает!


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
   Похожие темы   Автор   Ответов   Просмотров   Последнее сообщение 
Перенесенная ^_^

в форуме Linux

root

3

38

02 мар 2010, 16:15

Gen1us2k Перейти к последнему сообщению

Нет новых непрочитанных сообщений в этой теме Установка и настройка 3G USB модема Huawei E1550

[ На страницу: 1, 2 ]

в форуме Linux

O1H2K3

12

13010

15 мар 2011, 17:26

Raven Перейти к последнему сообщению

Нет новых непрочитанных сообщений в этой теме Компания Google начала выплату вознаграждений за выявлени...

в форуме Новости *nix

[Ботя]

0

463

17 июн 2015, 01:30

Гость Перейти к последнему сообщению



Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Собрано Raven. Русская поддержка phpBB
phpBB SEO