Таверна "На перекрестке"

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Синий экран смерти!

Сообщений 1 страница 4 из 4

1

Рассмотрим некоторые ошибки, возникающие в системе и приводящие к появлению синего экрана "смерти".

Итак, стоп-ошибки Windows.

0x0000007A: KERNEL_DATA_INPAGE_ERROR
Не может быть прочитана запрашиваемая ядром страница памяти.
Ошибка вызвана плохим блоком в памяти или ошибкой контроллера диска.
Параметры:
1. тип
2. статус ошибки (обычно I/O код статуса)
3. текущий процесс
4. адрес
Windows NT 2000 XP
Решение STOP 0x00000077 и 0x0000007A сообщений.
Эти STOP сообщения относятся к ситуациям, когда Windows NT не может загрузить информацию о виртуальной памяти в рабочую память из-за проблем с оборудованием или програмного обеспечения.
Возможные причины:
- Повреждённый блок на жёстком диске.
- Некорректное завершение оборудования SCSI.
- Плохое соединение жёсткого диска с контроллером.
- Ошибка контроллера жёсткого диска.
- Недостаток свободного места.
Применяется к следующим системам:
Windows XP
Windows 2000
Windows NT
Stop 0x0000007A or KERNEL_DATA_INPAGE_ERROR
Причина:
Stop 0x7A сообщение указывает, что страница памяти не была найдена и не может быть загружена в память. Это может быть из-за несовместимых дисков, контроллеров, firmware (BIOS) или оборудования.
Параметры:
1. Lock type value (0x00000001, 0x00000002, 0x00000003, or page table entry (PTE) address).
2. I/O код статуса
3. Если тип лока 0x00000001, этот параметр указывает на текущий процесс. Если тип лока 0x00000003, этот параметр указывает на адрес виртуальной памяти.
4. Адрес виртуальной памяти, который не может быть загружен в память.
Причина может быть выявлена через второй параметр (I/O код статуса), используя следующую информацию:
0xC000009A, или STATUS_INSUFFICIENT_RESOURCES: нехватка nonpaged pool ресурсов.
0xC000009C, или STATUS_DEVICE_DATA_ERROR: плохой кластер на жёстком диске.
0xC000009D, или STATUS_DEVICE_NOT_CONNECTED: неисправный кабель, зависание, или контроллер не смог получить доступ на жёсткий диск.
0xC000016A, или STATUS_DISK_OPERATION_FAILED: плохой кластер на жёстком диске.
0xC0000185, или STATUS_IO_DEVICE_ERROR: неправильное завершение процесса или неисправный кабель SCSI оборудования, или два устройства пытались использовать одно и то же IRQ.
Для большей информации о других возможных статусов, смотрите Ntstatus.h файл Windows XP Professional Driver Development Kit (DDK).
Решение:
Используйте один из предложенных методов для решения этой проблемы:
Просканируйте жёсткий диск антивирусной программой.
Просмотрите Журнал событий (Event Viewer) для получения дополнительной информации, какое оборудование стало причиной ошибки.
Такое может произойти, когда запрошенная страница информации ядра не может быть прочитана из виртуальной памяти, или master boot record заражён вирусом, или из-за несовместимых дисков, контроллеров, firmware (BIOS), оборудования.
Плохой кластер на жёстком диске. Ошибка номера 0x7А зачастую является причиной плохого кластера в месте виртуальной памяти, или ошибка контроллера диска, или в ОЧЕНЬ редких случаях, когда не хватает свободного места на диске.
Если первый и второй параметры равны нулю, то причиной является неисправное оборудование. Если I/O статус равен C0000185 и виртуальная память на SCSI жёстком диске, вы должны проверить рабочее состояние кабелей и завершение SCS.
I/O код статуса 0xC000009C или 0xC000016A обычно указывает, что информация не может быть считана с жёсткого диска из-за плохого кластера.
Если возможно, то перезагрузите компьютер, Autochk автоматический запуститься и попытается выявить плохие кластеры. Если по какой либо причине Autochk не просканирует диск, запустите Autochk вручную. Если диск отформатирован на NTFS, запустите Chkdsk /f /r на системной партиции. Вы должны перезагрузить компьютер до того, как сканирование начнётся. Если вы не можете загрузить компьютер из-за этой ошибки, используйте Консоль (Command Console) и запустите Chkdsk /r .
Повреждённая память - random access memory (RAM), Level 2 (L2) SRAM cache, или RAM видео адаптера - ещё одна возможная причина этой ошибки.
Проверьте, если все карты адаптеров хорошо закреплены в слотах. Что контакты нигде не отходят.
Отключите caching в BIOS и проверьте, решит ли это проблему.
Если вы недавно установили новое оборудование, отключите и отсоедините его.
Если это не решит проблему, то повреждена материнская плата.
Проверьте обновления на сайте поставщика вашего оборудования. Проверьте, чтобы ваш диск и его контроллер использовали одинаковые дополнительные установки. Если необходимо, установите медленней скорость передачи данных.
Так же вы можете установить драйвера для контроллеров, которых нет в библиотеках установочного диска Windows XP Professional. Для этого в начале установки нужно нажать F6, когда во время установки на экране появится:
Press F6 if you need to install a third party SCSI or RAID driver
Примечание:
Эта ошибка схожа с STOP: 0x00000077

0x0000000A: IRQL_NOT_LESS_OR_EQUAL
Была сделана попытка затронуть виртуальную память на внутреннем процессе IRQ уровня, который слишком высок. Если kernel debugger доступен, вы можете отследить, где именно система запнулась.
Наиболее частая причина возникновения - драйвер устройства использует неверный адрес.
Параметры:
1 - адрес, по которому выполнено ошибочное обращение
2 - IRQL, который использовалcя для обращения к памяти
3 - тип доступа к памяти: 0 = операция чтения, 1 = операция записи
4 - адрес инструкции, которая затребовала доступ к памяти по адресу
Примечание: Эта ошибка возникает в 99% из-за "кривых" драйверов. Некоторые из них в Windows XP вы можете обнаружить, используя утилиту verifier.exe: Start (Пуск) => Run (Выполнить) => verifier.exe
Windows NT:
Microsoft Windows NT Server 4.0 Terminal Server Edition
Microsoft Windows 2000 Server
Microsoft Windows 2000 Advanced Server
Microsoft Windows 2000 Professional
Microsoft Windows NT Server 3.5
Microsoft Windows NT Server 3.51
Microsoft Windows NT Server 4.0
Microsoft Windows NT Workstation 3.5
Microsoft Windows NT Workstation 3.51
Microsoft Windows NT Workstation 4.0
Microsoft Windows NT Advanced Server 3.5
Microsoft Windows NT Server, Enterprise Edition 4.0
Microsoft BackOffice Small Business Server 4.0
Одна из самых часто возникающих ошибок Windows NT - STOP 0x0000000A. Этот STOP может быть вызван как Программным Обеспечением, так и проблемой с оборудованием. Для выявления причин вы должны разобрать этот STOP, используя дебагер. Тем не менее, некоторые выводы можно сделать, рассмотрев параметры STOP сообщения и сообщения сопутствующего этот STOP.
Дополнительная информация:
STOP 0x0000000A показывает, что процесс ядра или драйвер пытались обратиться к памяти, к которой у них нет разрешения обращаться. Самая обычная причина - это плохой или повреждённый указатель (pointer), который указывает на неправильный участок в памяти. Указатель (pointer) - это переменная, которая используется программой, для указания на блок в памяти. Если переменная имеет неправильное значение, тогда программа пытается обратиться к памяти, к которой не должна обращаться. Когда это происходит в программе пользователя, она генерирует нарушение доступа. Когда это происходит в режиме ядра, она генерирует STOP 0x0000000A сообщение.

Чтобы выявить какой процесс или драйвер пытался обратиться к некерной памяти, посмотрите на параметры, указанные на STOP экране. Например, в этом STOP сообщении:
STOP 0x0000000A(0xWWWWWWWW, 0xXXXXXXXX, 0xYYYYYYYY, 0xZZZZZZZZ)
IRQL_NOT_LESS_OR_EQUAL
** Адрес 0xZZZZZZZZ основывается на -
Четыре параметра имеют следующие значения:
0xWWWWWWWW адрес, который был указан некорректно
0xXXXXXXXX IRQL, который требуется, чтобы иметь доступ к памяти
0xYYYYYYYY Тип доступа, 0=Читать, 1=Писать
0xZZZZZZZZ адрес инструкции, которая пыталась обратиться к памяти 0xWWWWWWWW
Если последний параметр (0xZZZZZZZZ) указывает на область адресов системных устройств, згачит, драйвер какого устройства был запущен во время ошибки. Этот драйвер обычно указан на третьей линии STOP экрана:
** Адрес 0xZZZZZZZZ основывается на -
Если специфический драйвер, сделайте поиск в Microsoft Knowledge Base на слово "0x0000000A" и имя драйвера. Если вы не найдёте никаких подходящих статей, свяжитесь с Microsoft Product Support.
Windows 2000:
Microsoft - "Stop 0x000000D1" Error Message in Tcpip.sys
Microsoft Windows 2000 Server
Microsoft Windows 2000 Advanced Server
Microsoft Windows 2000 Professional
Когда TCP/IP связь программно разъединилась или была удалена, в то время как операция получения была в процессе, Ваш компьютер может "зависнуть" и появиться следующее сообщение:
STOP: 0x000000D1 (0xFF8BA000, 0x00000002, 0x00000001, 0xF3AAA40E)
DRIVER_IRQL_NOT_LESS_OR_EQUAL
Решение:
Для решения этой проблемы установите последний SP для Windows 2000. Для дополнительной информации обратитесь к следующей статье:
260910 How to Obtain the Latest Windows 2000 Service Pack
Microsoft подтверждает, что это их ошибка и сообщает, что впервые она была разрешена в SP1.
WindowsXP:
http://support.microsoft.com/default.as … us;Q314063
Возникновение ошибки при "Быстром переключении пользователей" (Fast Switch Between Users):
IRQL_NOT_LESS_OR_EQUAL
Stop 0x0000000A (0x0227001d, 0x00000002, 0x00000000, 0x804eba3a)
первый параметр может меняться в зависимости от компьютера.
Проблема может появиться, если вы используете ПО и драйвера Netropa Corporation для клавиатуры, чтобы добавить ей дополнительные функции.
Решение: обновите драйвера клавиатуры. Драйвера Netropa Corporation можно найти по адресу: http://www.netropa.com/download/mmkbd/download.html
Вы можете выяснить, почему соответствующая программа не завершилась корректно.
Для этого:
Старт (Start) => Выполнить (Run) => msinfo32.exe => Среда Программного Обеспечения (Software Environment) => Системная Информация (System Information) => просмотрите список программ, выясните, которая относиться к клавиатуре. Обычно эта программа загружается со следующей ветки реестра:
HKEY_LOCAL_MACHINESoftwareMicrosoft WindowsCurrentVersionRun
После того, как вы обнаружили программу, которая не завершилась корректно, используйте Autodump + утилиту, чтобы сгенерировать код ошибки.
Возникновение ошибки при переходе (Upgrade) на Windows XP:
При апгрейде с 98 или МЕ на ХР может возникнуть эта ошибка.
Ошибка чаще возникает из-за несовместимого оборудования или драйвера.
Решение:
1. Перезагрузите компьютер и посмотрите - предложит ли вам вернуться на предыдущую операционную систему. Если да, то выбирайте эту опцию. Если нет, то пропустите пункт 2 и переходите на пункт 3.
2. Когда компьютер загрузиться в 98 или МЕ, удалите любые антивирусы и сторонние загрузчики (такие, как Roxio GoBack и др.), после этого "вычистите загрузчик", используя информацию следующих статей:
267288 чистка загрузчика в Windows Millennium Edition
192926 чистка загрузчика в Troubleshooting for Windows 98
Потом перезагрузите компьютер и попытайтесь сделать апгрейд снова. Если и после этого не удастся это сделать, то скорее всего проблема в оборудовании.
3. Уберите (т.е. совсем вытащите) из компьютера всё ненужное оборудование (звуковую карту, USB оборудование, принтеры, модемы и сетевые карты и т.д.), оставьте минимум (монитор, видео карта, клавиатура и мышь, флоппи и CD-ROM)
4. Если и после этого Вы продолжаете получать эту ошибку, возможно, Вам необходимо обновить BIOS. Свяжитесь с производителем материнской платы и выясните, если есть какие-либо обновления для BIOS.

0x000000BE: ATTEMPTED_WRITE_TO_READONLY_MEMORY
Драйвер попытался записать в read-only (только чтение) память. Обычно возникает после установки неисправного драйвера оборудования, системного сервиса, BIOS`a. Если имя драйвера указано в ошибке, попытайтесь исправть проблему отключением, удалением или откаткой драйверов.
Windows 2000:

Применяется к следующим системам:
Windows 2000 Datacenter Server
ATTEMPTED_WRITE_TO_READONLY_MEMORY
Обычная причина: плохой или повреждённый драйвер неправильно функционирует.
Решение:
1. Отключите драйвер, указанный на стоп-экране или все, только что установленные драйвера. Если вы не можете загрузить компьютер, попробуйте воспользоваться Last Known Good Configuration или загрузиться в безопасном режиме (safe mode). И после этого отключите или удалить все новоустановленные драйвера и программное обеспечение.
Для большей информации смотрите статью Safe mode startup options. Если ваш компьютер не запускается в безопасном режиме, воспользуйтесь Recover a system that will not start.
Важно:
Когда вы используете Last Known Good Configuration, системные установки с последеней успешной загрузки, будут утеряны.
2. Попытайтесь заменить драйвер хорошей копией с инсталляционного диска или скачать новую версию с сайта производителя.

0x000000C1: SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION
Драйвер попытался записать в неверный адрес памяти.
Примечание: Эта ошибка возникает в 99% из-за "кривых" драйверов. Некоторые из них в Windows XP вы можете обнаружить, используя утилиту verifier.exe: Start (Пуск) => Run (Выполнить) => verifier.exe
Windows NT/2000/XP:Драйвер попытался записать в неверный адрес памяти.
Примечание: Эта ошибка возникает в 99% из-за "кривых" драйверов. Некоторые из них в Windows XP вы можете обнаружить, используя утилиту verifier.exe: Start (Пуск) => Run (Выполнить) => verifier.exe
Windows NT/2000/XP:
Эта ошибка схожа с ошибками:
0x0A IRQL_NOT_LESS_OR_EQUAL, указывает, что драйвер затронул память на DISPATCH_LEVEL уровне или выше.
0xBE ATTEMPTED_WRITE_TO_READONLY_MEMORY, драйвер пытался записать в память "только чтение".
0xC1 SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION, драйвер попытался записать в неверный адресс памяти.
0xC4 DRIVER_VERIFIER_DETECTED_VIOLATION, обычно фатальная ошибка.
0xC5 DRIVER_CORRUPTED_EXPOOL, указывает на то, что драйвер попытался обратиться к неверной памяти на процессе IRQL, который слишком высок.
0xC6 DRIVER_CAUGHT_MODIFYING_FREED_POOL, драйвер пытался получить доступ к высвобожденному сектору памяти.
0xC7 TIMER_OR_DPC_INVALID, указывает, что таймер ядра или DPC был обнаружен в памяти, где его не должно было быть. Такая ситуация обычно возникает, когда драйвер не отменил таймер или the Delayed Procedure Call (DPC) перед тем как освободить память занятую таймером или DPC.
0xC9 DRIVER_VERIFIER_IOMANAGER_VIOLATION, I/O нарушение инструмента проверки драйверов.
0x50 PAGE_FAULT_IN_NONPAGED_AREA, указание на неверную системную память.
Решение:
Используйте Driver Verifier для выявления ошибок и повреждённых драйверов. Переустановите свежие драйвера.

STOP 0x000000C5 DRIVER_CORRUPTED_EXPOOL
Процесс ядра или драйвер попытались неверно произвести операцию с памятью. Обычно причиной являются неисправные драйвера или софт.

Применяется к следующим системам:
Microsoft Windows 2000 Server
Microsoft Windows 2000 Advanced Server
Microsoft Windows 2000 Datacenter Server
Microsoft Windows 2000 Professional
Microsoft Windows XP 64-Bit Edition
Microsoft Windows XP Home Edition
Microsoft Windows XP Professional

Решение:
Windows 2000 содержит много различных встроенных фич, которые усиливают процесс распределение басеина памяти (pool allocation process). Эти фичи могут помочь вам установить корневую причину ошибки простым дебагом (debugging).

Следуйте следующим шагам:
BAD_POOL_CALLER (0xC2)
Текущая нить неправильно обращается к памяти. Обычно, это из-за неверного уровня IRQL или двойного освобождения одного и того же места памяти, и т.д.

1 - тип нарушения обращения к бассеину.
6 - адрес освобождаемого бассеина, который уже был освобождён.
7 - адрес освобождаемого бассеина, который уже был освобождён.
8 - переметр 2 - это IRQL расположения, параметр 3 - тип
9 - переметр 2 - это IRQL высвобождения, параметр 3 - тип

Parameter 1 = 0x1, 0x2, or 0x4 : заголовок басейна повреждён
Parameter 2 = указатель на заголовок
Parameter 3 = первая чать содержания заголовка
Parameter 4 = 0

Parameter 1 = 0x6 : попытка освободить пямять, которая уже свободна
Parameter 2 = резерв (__LINE__)
Parameter 3 = указатель на заголовок
Parameter 4 = содержание заголовока

Parameter 1 = 0x7 : попытка освободить пямять, которая уже свободна
Parameter 2 = резерв (__LINE__)
Parameter 3 = указатель на заголовок
Parameter 4 = 0

Parameter 1 = 0x8 : попытка освободить пямять используя неверный IRQL
Parameter 2 = текущий IRQL
Parameter 3 = тип басейна памяти
Parameter 4 = его размер

Parameter 1 = 0x9 : попытка освободить пямять используя неверный IRQL
Parameter 2 = текущий IRQL
Parameter 3 = тип басейна памяти
Parameter 4 = его адрес

Parameter 1 = 0x40 : попытка освободить пользовательский адрес для ядра
Parameter 2 = адрес начала
Parameter 3 = начало системного места
Parameter 4 = 0

Parameter 1 = 0x41 : попытка освободить неиспользуемый адрес
Parameter 2 = адрес начала
Parameter 3 = рамка физической страницы
Parameter 4 = наибольшая рамка

Parameter 1 = 0x50 : попытка освободить неиспользуемый адрес
Parameter 2 = адрес начала
Parameter 3 = Start offset in pages from beginning of paged pool
Parameter 4 = размер в байтах

Parameter 1 = 0x99 : попытка освободить неверный адрес памяти (или повреждение заголовка)
Parameter 2 = освобождаемый адрес
Parameter 3 = 0
Parameter 4 = 0

После того, как вы выяснили детальную информацию по ошибке, воспользуйтесь дебагером.
E:bin>i386kd -z K:DOWNLOADmemory.dmp
Loading Dump File [K:DOWNLOADmemory.dmp]
Full Kernel Dump File...

0: kd> !reload GOOD HOUSEKEEPING DONE HERE
0: kd> dd kibugcheckdata l8 DUMPING THE ERROR
8047fba0 000000c2 00000007 00000b68 815bade0
8047fbb0 815bade8 e1007000 00000000 818988c0
0: kd> kv DUMPING STACK

ChildEBP RetAddr Args to Child
bdce0348 be11dc84 e1fff000 a08d0008 000007f8 banshee!vH3ImageTransferMm32
bdce037c be116f18 be85fd78 00000001 bdce03dc banshee!vMmXferNative
bdce03ac be113eec e1fff000 e25e2a38 bdce03dc banshee!vPutBits
bdce03e8 a008e47f e1ff86f8 e25e2a38 e1fef908 banshee!DrvCopyBits
bdce0430 a008e899 be113d40 bdce04d8 e1ff86f8 win32k!OffCopyBits
bdce04e4 a008e4d1 e1ff86f8 e25e2a38 00000000 win32k!SpBitBlt

Документация ошибки указывает, что память была освобождена. Это явно из линии:
Parameter 1 = 0x7: Attempt to free pool which was already freed.
Так же видно, что видео карта в процессе записи, поэтому мы должны продолжать работу над ошибкой. Во-первых, мы должны выявить, если этот компьютер мультипроцессорный:
0: kd> ~1 SWITCH PROC
1: kd> kv DUMPING STACK
ChildEBP RetAddr Args to Child
bde81b7c 8046894d 815bade8 00000000 be03bb2b ntkrnlmp!ExFreePoolWithTag
bde81b88 be03bb2b 815bade8 be03ca94 815bade8 ntkrnlmp!ExFreePool
00000128 00000000 00000000 00000000 00000000 BADDRIVER
Предыдущий текст указывает, что память была освобождена драйвером имя_драйвера. Это может быть корневой причиной.
Теперь выявим драйвер.
1: kd> !drivers
Loaded System Driver Summary

Base Code Size Data Size Driver Name Creation Time
80400000 139f40 (1255 kb) 4f3c0 (316 kb) ntoskrnl.exe Tue Dec 07 14:05:26 1999
80062000 ffe0 ( 63 kb) 3d60 ( 15 kb) hal.dll Tue Nov 02 20:14:22 1999
ed410000 1760 ( 5 kb) 1000 ( 4 kb) BOOTVID.dll Wed Nov 03 20:24:33 1999
ed49c000 1b00 ( 6 kb) 680 ( 1 kb) gameenum.sys Sat Sep 25 14:35:57 1999
ed080000 a000 ( 40 kb) 20c0 ( 8 kb) VIDEOPRT.SYS Sat Nov 06 16:55:20 1999
bfdcf000 1d480 ( 117 kb) 7520 ( 29 kb) mga64m.sys Mon Nov 29 20:47:46 1999
bfdbc000 11600 ( 69 kb) 1600 ( 5 kb) el90xnd5.sys Fri Oct 29 17:54:34 1999
ed090000 3a60 ( 14 kb) 5980 ( 22 kb) banshee.sys Fri Oct 29 19:00:56 1999
ed5df000 2e0 ( 0 kb) 4a0 ( 1 kb) audstub.sys Sat Sep 25 14:35:33 1999
ed370000 33e0 ( 12 kb) a40 ( 2 kb) raspti.sys Fri Oct 08 16:45:10 1999
ed0c0000 c5e0 ( 49 kb) 20e0 ( 8 kb) parallel.sys Fri Oct 22 18:00:54 1999
ed5e0000 580 ( 1 kb) 540 ( 1 kb) swenum.sys Sat Sep 25 14:36:31 1999
be552000 72a60 ( 458 kb) 13c40 ( 79 kb) mga64d.dll Tue Nov 30 04:33:19 1999
be113000 36f00 ( 219 kb) 7a20 ( 30 kb) banshee.dll Tue Nov 30 04:31:18 1999
be031000 FFFF ( FF kb) FFFF ( F kb) BADDRIVER.sys Mon Feb 30 23:22:43 2000

TOTAL: 7f8dc0 (8163 kb) 172140 (1480 kb) ( 0 kb 0 kb)

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

Microsoft Debugging Tools
http://www.microsoft.com/ddk/debugging/default.asp

0

2

Простите! И кому вот весь этот текст помог?

Ау, отзовитесь!!!!

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

Удачи!

0

3

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

0

4

MOHAX написал(а):

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

Ага, следуя твоей логике. каждый раз, когда у машины спустилось колесо, требуется покупать новую.
"Синий экран" это всего лишь способ известить пользователя об имеющихся неисправностях, которые нужно и можно устранить.

0