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

Сведения о событии с кодом 51

Поддержка Windows XP завершена

8 апреля 2014 г. корпорация Майкрософт прекратила поддержку Windows XP. Это повлияло на обновления программного обеспечения и параметры безопасности. Узнайте, что это значит для вас и какие меры по безопасности можно предпринять.

Поддержка Windows Server 2003 завершилась 14 июля 2015 г.

Корпорация Майкрософт завершила поддержку Windows Server 2003 14 июля 2015 г. Это повлияло на обновления программного обеспечения и параметры безопасности. Узнайте, что это значит для вас и какие меры по безопасности можно предпринять.

Аннотация
При записи данных на физический диск в журнале событий системы может регистрироваться следующее событие:

Код события: 51
Тип события: Предупреждение.
Источник события: Disk
Описание: Обнаружена ошибка на устройстве \Device\Harddisk3\DR3 во время работы с файлом выполнения операции страничного обмена.
Данные:
0000: 04 00 22 00 01 00 72 00
0008: 00 00 00 00 33 00 04 80
0010: 2d 01 00 00 00 00 00 00
0018: 00 00 00 00 00 00 00 00
0020: 00 52 ea 04 15 00 00 00
0028: 01 00 00 00 04 00 00 00
0030: 03 00 00 00 2a 00 00 00
0038: 02 84 00 00 00 29 06 00
0040: 2a 60 0a 82 75 29 00 00
0048: 80 00

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

Указанное событие может регистрироваться при загрузке образов с устройства хранения данных, при чтении или записи файлов локальных отображений или любых других файлов (если операции ввода-вывода при этом буферируются). При выполнении операций небуферизованного ввода-вывода данное событие не регистрируется. При устранении неполадок, связанных с возникновением события с кодом 51, следует применять те же методы, что и при устранении неполадок, связанных с возникновением событий с кодами 9 и 11.

Дополнительные сведения см. в следующих статьях базы знаний Майкрософт:
154690 Устранение неполадок при появлении сообщений об ошибках с кодами событий 9, 11 и 15
259237 Устранение неполадок при появлении сообщений с кодами 9, 11 и 15 на узле кластера
Чтобы точнее определить проблему, рекомендуется при возникновении событий, источником которых является «DISK» (события с кодом 7, 9, 11, 51 и т.п.), проанализировать двоичные данные, сопоставленные рассматриваемому событию. Дополнительные сведения о том, как это сделать, см. в следующей статье базы знаний Майкрософт:
182335 Формат данных, записываемых функцией ScsiPortLogError в журнал событий (эта ссылка может указывать на содержимое полностью или частично на английском языке.)
Поскольку в описании события с кодом 51 присутствует дополнительный блок дескриптора команд (CDB), при анализе раздела данных необходимо учитывать следующее.

Анализ раздела данных события с кодом 51

При анализе раздела данных примера, приведенного в разделе «Аннотация» данной статьи, можно сделать вывод, что сбой произошел при операции записи 128 секторов, начиная с сектора 0x2975820a, на логическое устройство (LUN) 3, что причиной сбоя явился сброс шины и что запрос будет повторен. Далее в статье перечислены основные этапы анализа данных приведенного примера.

Приведенные ниже таблицы содержат описание каждого смещения.

Windows Server 2003 и Windows XP

СмещениеДлинаЗначение
0x001Тип операции: 0x03 – чтение, 0x04 – запись, 0x0F – контроль ввода-вывода (IOCTL)
0x011Количество оставшихся попыток
0x022Объем дампа 0x0068
0x042Количество строк 0x0001
0x062Смещение до имени устройства
0x082Не используется
0x0a2Байты заполнения
0x0c4Код ошибки NTSTATUS
0x104Уникальный код ошибки
0x144Последнее значение NTSTATUS (0x00000000 – запрос будет повторен)
0x184Номер последовательности – не используется
0x1c4Код проверки ввода-вывода (к данному событию не применяется)
0x208Смещение в байтах до поврежденного сектора (если имеется)
0x288Счетчик фиксирует наступление данной ошибки
0x304Номер порта – не используется
0x341Флаги ошибки
0x353Не используется
0x3864Блок запроса SCSIstructure
0x7818Структура данных определения

Windows 2000

СмещениеДлинаЗначение
0x001Тип операции 0x03 – чтение, 0x04 – запись, 0x0F – контроль ввода-вывода (Ioctl)
0x011Количество оставшихся попыток
0x022Объем дампа 0x0022
0x042Количество строк 0x0001
0x062Смещение до имени устройства
0x082Не используется
0x0a2Байты заполнения
0x0c4Код ошибки NTSTATUS
0x104Уникальный код ошибки
0x144Последнее значение NTSTATUS (0x00000000 – запрос будет повторен)
0x184Номер последовательности
0x1c4Код проверки ввода-вывода (к данному событию не применяется)
0x208Смещение в байтах до поврежденного сектора (если имеется)
0x284Код пути (Path ID)
0x2c4Код назначения (Target ID)
0x304Номер логического устройства (LUN)
0x344Тип операции 0x0028 – чтение, 0x002a – запись
0x381Состояние SCSI
0x391Состояние SRB
0x3a1Не используется
0x3b1Не используется
0x3c1Квалификатор расширенного кода ошибки (ASC)
0x3d1Расширенный код ошибки (ASC)
0x3e1Идентификатор ошибки
0x3f1Не используется
0x4010Блок дескриптора команд (CDB)

Основные анализируемые параметры

Код ошибки
В приведенном примере код ошибки указан во второй строке (начинающейся символами «0008:») и содержится в последних четырех байтах строки.
0008: 00 00 00 00 33 00 04 80
Код ошибки = 0x80040033

Данный код ошибки совпадает для всех событий с кодом 51 и равен
IO_WARNING_PAGING_FAILURE
Примечание. При анализе данных следует помнить, что для представления данных используется прямой порядок байтов.
Код окончательного состояния
В рассматриваемом примере данный код содержится в третьей строке (по смещению 0x14), начинающейся символами «0010:», и включает последние четыре байта строки.
0010: 2d 01 00 00 00 00 00 00
Код = 0x00000000

Это соответствует состоянию STATUS_SUCCESS и говорит о том, что запрос будет повторен.

Примечание. При анализе данных следует помнить, что для представления данных используется прямой порядок байтов.
Диск назначения
Данное значение используется для определения диска, при обращении к которому произошла ошибка.
0028: 01 00 00 00 04 00 00 00
Код пути = 0x0000001, Код назначения = 0x0000004
0030: 03 00 00 00 2a 00 00 00
LUN = 0x0000003

Чтобы определить диск, при обращении к которому произошла ошибка, можно также использовать символьное имя, указываемое в описании события. Например: \Device\Harddisk3\DR3. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
159865 Определение физического диска на основе информации в журнале событий (эта ссылка может указывать на содержимое полностью или частично на английском языке.)
Примечание. В описании события содержится имя диска в том виде, как оно представлено операционной системе. Используемые программные и аппаратные средства могут скрывать реальную физическую структуру, в результате чего представленное имя может не сопоставляться конкретному устройству.
Параметры блока запросов SCSI (SRB)
В приведенном примере код состояния Scsi равен 0x02 (первый байт восьмой строки), а код состояния Srb равен 0x84 (второй байт восьмой строки). Для анализа следует воспользоваться следующими таблицами:
0038: 02 84 00 00 00 29 06 00
Код состояния Scsi (0x02):
SCSISTAT_CHECK_CONDITION

Ниже приведены возможные коды состояния (данные из файла SCSI.H):
0x00 = SCSISTAT_GOOD0x02 = SCSISTAT_CHECK_CONDITION0x04 = SCSISTAT_CONDITION_MET0x08 = SCSISTAT_BUSY0x10 = SCSISTAT_INTERMEDIATE0x14 = SCSISTAT_INTERMEDIATE_COND_MET0x18 = SCSISTAT_RESERVATION_CONFLICT0x22 = SCSISTAT_COMMAND_TERMINATED0x28 = SCSISTAT_QUEUE_FULL					
Код состояния Srb (0x84):
SRB_STATUS_AUTOSENSE_VALID | SRB_STATUS_ERROR
0x00 = SRB_STATUS_PENDING0x01 = SRB_STATUS_SUCCESS0x02 = SRB_STATUS_ABORTED0x03 = SRB_STATUS_ABORT_FAILED0x04 = SRB_STATUS_ERROR0x05 = SRB_STATUS_BUSY0x06 = SRB_STATUS_INVALID_REQUEST0x07 = SRB_STATUS_INVALID_PATH_ID0x08 = SRB_STATUS_NO_DEVICE0x09 = SRB_STATUS_TIMEOUT0x0A = SRB_STATUS_SELECTION_TIMEOUT0x0B = SRB_STATUS_COMMAND_TIMEOUT0x0D = SRB_STATUS_MESSAGE_REJECTED0x0E = SRB_STATUS_BUS_RESET0x0F = SRB_STATUS_PARITY_ERROR0x10 = SRB_STATUS_REQUEST_SENSE_FAILED0x11 = SRB_STATUS_NO_HBA0x12 = SRB_STATUS_DATA_OVERRUN0x13 = SRB_STATUS_UNEXPECTED_BUS_FREE0x14 = SRB_STATUS_PHASE_SEQUENCE_FAILURE0x15 = SRB_STATUS_BAD_SRB_BLOCK_LENGTH0x16 = SRB_STATUS_REQUEST_FLUSHED0x20 = SRB_STATUS_INVALID_LUN0x21 = SRB_STATUS_INVALID_TARGET_ID0x22 = SRB_STATUS_BAD_FUNCTION0x23 = SRB_STATUS_ERROR_RECOVERY0x24 = SRB_STATUS_NOT_POWERED0x30 = SRB_STATUS_INTERNAL_ERROR	(используется драйвером порта, чтобы сообщить, что произошла ошибка, не относящаяся к подсистеме SCSI)0x38 - 0x3f = Зарезервировано для внутреннего использования драйвером порта.					
Маски состояния SRB:
0x80 = SRB_STATUS_AUTOSENSE_VALID0x40 = SRB_STATUS_QUEUE_FROZEN					
Необходимо выделить отдельные составляющие маски состояния SRB , которые объединены с кодами состояния.

В приведенном примере код состояния Srb равен 0x84, причем 0x8x — это маска состояния. Таким образом, кодом состояния SRB являются значения SRB_STATUS_AUTOSENSE_VALID и 0x04. Значению 0x04 соответствует параметр SRB_STATUS_ERROR.
Код ошибки
Если код состояния SRB содержит параметр SRB_STATUS_AUTOSENSE_VALID, то коды ошибки содержат дополнительные сведения. В приведенном примере код ошибки равен 0x06 (седьмой байт в восьмой строке), а расширенный код ошибки равен 0x29 (шестой байт в восьмой строке). Для анализа следует воспользоваться следующими таблицами:
0038: 02 84 00 00 00 29 06 00
Код ошибки 0x06:

Код ошибки представляет собой один байт, находящийся по смещению 003e. Это соответствует следующим параметрам:
0x06 = SCSI_SENSE_UNIT_ATTENTION

Ниже приведены возможные коды ошибки (данные из файла SCSI.H):
0x00 = SCSI_SENSE_NO_SENSE0x01 = SCSI_SENSE_RECOVERED_ERROR0x02 = SCSI_SENSE_NOT_READY0x03 = SCSI_SENSE_MEDIUM_ERROR0x04 = SCSI_SENSE_HARDWARE_ERROR0x05 = SCSI_SENSE_ILLEGAL_REQUEST0x06 = SCSI_SENSE_UNIT_ATTENTION0x07 = SCSI_SENSE_DATA_PROTECT0x08 = SCSI_SENSE_BLANK_CHECK0x09 = SCSI_SENSE_UNIQUE0x0A = SCSI_SENSE_COPY_ABORTED0x0B = SCSI_SENSE_ABORTED_COMMAND0x0C = SCSI_SENSE_EQUAL0x0D = SCSI_SENSE_VOL_OVERFLOW0x0E = SCSI_SENSE_MISCOMPARE0x0F = SCSI_SENSE_RESERVED					
Расширенный код ошибки (ASC) 0x29:

Расширенный код ошибки представляет собой один байт, находящийся по смещению 0x003d (шестой байт в восьмой строке), и равен 0x29. Это соответствует следующим параметрам:
0x29 = SCSI_ADSENSE_BUS_RESET

Ниже приведены расширенные коды ошибок (данные из файла SCSI.H):
0x00 = SCSI_ADSENSE_NO_SENSE0x02 = SCSI_ADSENSE_NO_SEEK_COMPLETE0x04 = SCSI_ADSENSE_LUN_NOT_READY0x0C = SCSI_ADSENSE_WRITE_ERROR0x14 = SCSI_ADSENSE_TRACK_ERROR0x15 = SCSI_ADSENSE_SEEK_ERROR0x17 = SCSI_ADSENSE_REC_DATA_NOECC0x18 = SCSI_ADSENSE_REC_DATA_ECC0x20 = SCSI_ADSENSE_ILLEGAL_COMMAND0x21 = SCSI_ADSENSE_ILLEGAL_BLOCK0x24 = SCSI_ADSENSE_INVALID_CDB0x25 = SCSI_ADSENSE_INVALID_LUN0x27 = SCSI_ADSENSE_WRITE_PROTECT0x28 = SCSI_ADSENSE_MEDIUM_CHANGED0x29 = SCSI_ADSENSE_BUS_RESET0x2E = SCSI_ADSENSE_INSUFFICIENT_TIME_FOR_OPERATION0x30 = SCSI_ADSENSE_INVALID_MEDIA0x3a = SCSI_ADSENSE_NO_MEDIA_IN_DEVICE0x3b = SCSI_ADSENSE_POSITION_ERROR0x5a = SCSI_ADSENSE_OPERATOR_REQUEST0x5d = SCSI_ADSENSE_FAILURE_PREDICTION_THRESHOLD_EXCEEDED0x64 = SCSI_ADSENSE_ILLEGAL_MODE_FOR_THIS_TRACK0x6f = SCSI_ADSENSE_COPY_PROTECTION_FAILURE0x73 = SCSI_ADSENSE_POWER_CALIBRATION_ERROR0x80 = SCSI_ADSENSE_VENDOR_UNIQUE0xA0 = SCSI_ADSENSE_MUSIC_AREA0xA1 = SCSI_ADSENSE_DATA_AREA0xA7 = SCSI_ADSENSE_VOLUME_OVERFLOW					
Квалификатор расширенного кода ошибки (ASCQ) 0x00:

Квалификатор расширенного кода ошибки представляет собой один байт, находящийся по смещению 0x003C (пятый байт в строке “0038”). Поскольку в данном примере он равен 0x00, то он не относится к конкретному коду ASC. Общий список квалификаторов расширенных кодов ошибки слишком велик и в данной статье не приводится. Дополнительные сведения см. в файле SCSI.H из набора DDK.

Примечание. Все значения кодов ASC и ASCQ, превышающие 0x80, определяются производителями оборудования и не приводятся в наборе Microsoft DDK. За дополнительными сведениями обращайтесь к производителю оборудования.
Параметры блока дескриптора команд (CDB)
Блок CDB начинается с предпоследней строки рассматриваемого примера:
0040: 2a 60 0a 82 75 29 00 00
0048: 80 00
Байты по смещению 0x40 представляют собой код блока CDB, байты по смещению 0x43 – 0x46 представляют собой номер начального сектора, а байты по смещению 0x47 – 0x49 представляют собой число секторов, участвующих в данной операции.

Примечание. Данные блока CDB не используют прямой порядок байтов. Анализируя данный раздел, следует помнить, что его формат данных отличается от формата данных прочих разделов.

0x2a = запрос на запись
0x0a827529 = начальный сектор
0x0080 = число секторов

Ниже приведены коды блока CDB (данные из файла SCSI.H):
0x00 = SCSIOP_TEST_UNIT_READY0x01 = SCSIOP_REZERO_UNIT0x01 = SCSIOP_REWIND0x02 = SCSIOP_REQUEST_BLOCK_ADDR0x03 = SCSIOP_REQUEST_SENSE0x04 = SCSIOP_FORMAT_UNIT0x05 = SCSIOP_READ_BLOCK_LIMITS0x07 = SCSIOP_REASSIGN_BLOCKS0x07 = SCSIOP_INIT_ELEMENT_STATUS0x08 = SCSIOP_READ60x08 = SCSIOP_RECEIVE0x0A = SCSIOP_WRITE60x0A = SCSIOP_PRINT0x0A = SCSIOP_SEND0x0B = SCSIOP_SEEK60x0B = SCSIOP_TRACK_SELECT0x0B = SCSIOP_SLEW_PRINT0x0C = SCSIOP_SEEK_BLOCK0x0D = SCSIOP_PARTITION0x0F = SCSIOP_READ_REVERSE0x10 = SCSIOP_WRITE_FILEMARKS0x10 = SCSIOP_FLUSH_BUFFER0x11 = SCSIOP_SPACE0x12 = SCSIOP_INQUIRY0x13 = SCSIOP_VERIFY60x14 = SCSIOP_RECOVER_BUF_DATA0x15 = SCSIOP_MODE_SELECT0x16 = SCSIOP_RESERVE_UNIT0x17 = SCSIOP_RELEASE_UNIT0x18 = SCSIOP_COPY0x19 = SCSIOP_ERASE0x1A = SCSIOP_MODE_SENSE0x1B = SCSIOP_START_STOP_UNIT0x1B = SCSIOP_STOP_PRINT0x1B = SCSIOP_LOAD_UNLOAD0x1C = SCSIOP_RECEIVE_DIAGNOSTIC0x1D = SCSIOP_SEND_DIAGNOSTIC0x1E = SCSIOP_MEDIUM_REMOVAL0x23 = SCSIOP_READ_FORMATTED_CAPACITY0x25 = SCSIOP_READ_CAPACITY0x28 = SCSIOP_READ0x2A = SCSIOP_WRITE0x2B = SCSIOP_SEEK0x2B = SCSIOP_LOCATE0x2B = SCSIOP_POSITION_TO_ELEMENT0x2E = SCSIOP_WRITE_VERIFY0x2F = SCSIOP_VERIFY0x30 = SCSIOP_SEARCH_DATA_HIGH0x31 = SCSIOP_SEARCH_DATA_EQUAL0x32 = SCSIOP_SEARCH_DATA_LOW0x33 = SCSIOP_SET_LIMITS0x34 = SCSIOP_READ_POSITION0x35 = SCSIOP_SYNCHRONIZE_CACHE0x39 = SCSIOP_COMPARE0x3A = SCSIOP_COPY_COMPARE0x3B = SCSIOP_WRITE_DATA_BUFF0x3C = SCSIOP_READ_DATA_BUFF0x40 = SCSIOP_CHANGE_DEFINITION0x42 = SCSIOP_READ_SUB_CHANNEL0x43 = SCSIOP_READ_TOC0x44 = SCSIOP_READ_HEADER0x45 = SCSIOP_PLAY_AUDIO0x46 = SCSIOP_GET_CONFIGURATION0x47 = SCSIOP_PLAY_AUDIO_MSF0x48 = SCSIOP_PLAY_TRACK_INDEX0x49 = SCSIOP_PLAY_TRACK_RELATIVE0x4A = SCSIOP_GET_EVENT_STATUS0x4B = SCSIOP_PAUSE_RESUME0x4C = SCSIOP_LOG_SELECT0x4D = SCSIOP_LOG_SENSE0x4E = SCSIOP_STOP_PLAY_SCAN0x51 = SCSIOP_READ_DISK_INFORMATION0x52 = SCSIOP_READ_TRACK_INFORMATION0x53 = SCSIOP_RESERVE_TRACK_RZONE0x54 = SCSIOP_SEND_OPC_INFORMATION0x55 = SCSIOP_MODE_SELECT100x5A = SCSIOP_MODE_SENSE100x5B = SCSIOP_CLOSE_TRACK_SESSION0x5C = SCSIOP_READ_BUFFER_CAPACITY0x5D = SCSIOP_SEND_CUE_SHEET0x5E = SCSIOP_PERSISTENT_RESERVE_IN0x5F = SCSIOP_PERSISTENT_RESERVE_OUT0xA0 = SCSIOP_REPORT_LUNS0xA1 = SCSIOP_BLANK0xA3 = SCSIOP_SEND_KEY0xA4 = SCSIOP_REPORT_KEY0xA5 = SCSIOP_MOVE_MEDIUM0xA6 = SCSIOP_LOAD_UNLOAD_SLOT0xA6 = SCSIOP_EXCHANGE_MEDIUM0xA7 = SCSIOP_SET_READ_AHEAD0xAD = SCSIOP_READ_DVD_STRUCTURE0xB5 = SCSIOP_REQUEST_VOL_ELEMENT0xB6 = SCSIOP_SEND_VOLUME_TAG0xB8 = SCSIOP_READ_ELEMENT_STATUS0xB9 = SCSIOP_READ_CD_MSF0xBA = SCSIOP_SCAN_CD0xBB = SCSIOP_SET_CD_SPEED0xBC = SCSIOP_PLAY_CD0xBD = SCSIOP_MECHANISM_STATUS0xBE = SCSIOP_READ_CD0xBF = SCSIOP_SEND_DVD_STRUCTURE0xE7 = SCSIOP_INIT_ELEMENT_RANGE					
pagefile sys
Свойства

Номер статьи: 244780 — последний просмотр: 01/25/2006 15:08:00 — редакция: 14.1

Microsoft Windows Server 2003, Standard Edition (32-bit x86), Microsoft Windows Server 2003, Enterprise Edition (32-bit x86), Microsoft Windows Server 2003, Web Edition, Microsoft Windows Server 2003, Enterprise x64 Edition, Microsoft Windows XP Professional, Microsoft Windows XP Home Edition, операционная система Microsoft Windows 2000 Server, Microsoft Windows 2000 Advanced Server, Операционная система Microsoft Windows 2000 Professional

  • kberrmsg kbinfo kbenv KB244780
Отзывы и предложения