Проблемы с загрузкой Windows 2000/XP.


    Прежде чем "потрошить" операционную систему, убедитесь, что у вас исправно оборудование!

Процесс загрузки операционной системы.
Решение проблем с помощью консоли восстановления
Пример "ремонта" BSOD
Использование точек восстановления
Поиск проблемного драйвера

  • Процесс загрузки операционной системы.

  •     Процесс загрузки любой ОС начинается со считывания в память первого сектора жесткого диска, содержащего загрузочный код (Master Boot Record, MBR) и таблицу разделов (Partition Table). Программный код загрузочной записи, просматривает таблицу разделов в поисках загружаемого системного раздела. Найдя такой раздел, MBR загружает в память его первый сектор и исполняет код, содержащийся в нем. Загрузочный сектор раздела (partition boot sector), содержит загрузочный код установленной на данном разделе операционной системы. В системах Win2k/XP этот код находит файл загрузчика ntldr, который всегда находится в корневом каталоге системного диска, загружает его в память и передает управление ему .
        NTLDR начинает выполнение c переключения процессора в защищенный режим с использованием 32-разрядной модели памяти с плоской адресацией (после включения питания процессор (CPU) всегда запускается в реальном режиме).
    Затем загрузчик считывает расположенный в корневом каталоге системного диска файл Boot.ini и отображает на экране меню (boot loader screen - BLS) для выбора загружаемой ОС. Записи в boot.ini позволяют загрузчику найти дальнейшие компоненты загружаемой системы и определяют нужные параметры начальной загрузки. Пример содержимого boot.ini:

    [boot loader]
    timeout=10
    default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(3)\WINNT="MS Windows 2000 Server" /fastdetect
    multi(0)disk(0)rdisk(0)partition(1)\WINNT="MS Windows 2000 Professional" /fastdetect


    Параметр timeout задает время ожидания выбора загружаемой ОС в секундах, default - определяет, что загружать по умолчанию. В секции [operating systems] - список загружаемых ОС и параметры их загрузки. Пути задаются в ARC-виде (Advanced RISC Computer), где:
    multi(0) - номер контроллера HDD. 0 - Primary, 1 - Secondary.
    disk(0) - для IDE всегда равен 0, для SCSI - номер логического устройства (LUN)
    rdisk(0) - для SCSI всегда равен 0, для IDE - номер физического диска.
    partition(1) - номер раздела с установленной OC. Номера разделов начинаются с "1"
    \WINNT - имя каталога с установленной OC.

        Далее - в кавычках указывается строка названия ОС, отображаемая загрузчиком в меню выбора, и ключ по умолчанию - /fastdetect, означающий, что не нужно производить распознавание устройств PnP при начальной загрузке. При определении причины, по которой не грузится ОС, полезно использовать ключи:
    /BOOTLOG - записывать протокол загрузки в файл %SytemRoot%\ntbtlog.txt В нашем случае - C:\WINNT\ntbtlog.txt. /SOS - выводить в процессе загрузки имена загружаемых драйверов. Выводимая информация по содержанию похожа на ту же, что записывается в ntbtlog.txt. Однако запись в файл журнала может и не сработать, например, при ошибке типа "STOP: 0x0000007B Inaccessible Boot Device".
    Начало файла журнала или списка загружаемых модулей по /SOS:
    Loaded driver \WINNT\System32\ntoskrnl.exe
    Loaded driver \WINNT\System32\hal.dll
    Loaded driver \WINNT\System32\BOOTVID.DLL
    Loaded driver ACPI.sys
    Loaded driver \WINNT\system32\DRIVERS\WMILIB.SYS
    Loaded driver pci.sys
    Loaded driver isapnp.sys
    ....
    BOOTVID.DLL обеспечивает выдачу информации на экран при возникновении критических ошибок системы, и для русскоязычных систем, делает это не очень хорошо - русский текст в сообщениях выдается в неправильной кодировке и нечитаем. Однако в Интернете можно найти пропатченную BOOTVID.DLL для вашей системы с нормальной кодировкой и заменить ею существующую в \WINNT\System32\ и WINNT\System32\dllcache. Для проверки можно искусственно вызвать "синий экран" (BSOD), убив сервис winlogon, с помощью FAR или PSkill.exe.

        Можно добавить в меню загрузки свои строки с желательными параметрами, просто скопировав элемент описания ОС и заменив /fastdetect на нужный вам ключ. Желательно, также отразить этот вариант загрузки в выводимом названии:
    multi(0)disk(0)rdisk(0)partition(3)\WINNT="MS Windows 2000 Server-BOOTLOG" /bootlog

        Версии загрузчиков Windows 2000 и Windows XP значительно отличаются, в первую очередь, по оптимизации программного кода для увеличения скорости загрузки (Fast Boot в XP), но в остальном они очень похожи.
        После выбора ОС, NTLDR загружает в память находящийся в корневом разделе файл ntdetect.com, который собирает информацию о физических устройствах, подключенных на данный момент к компьютеру и возвращает полученную информацию загрузчику NTLDR, после чего загрузчик запускает ядро операционной системы Ntoskrnl.exe и hal.dll из каталога установленной ОС, и передает ему информацию, собранную модулем ntdetect.com. Программный код ядра выполняется в привилегированном режиме процессора и имеет прямой доступ к аппаратной конфигурации, а также, обеспечивает программный интерфейс доступа (HAL.DLL) к аппаратным ресурсам для других программ.
        С этого момента на экране появляется графическая заставка с индикатором загрузки.
    Ядро создает ключ HKLM\HARDWARE , используя информацию, полученную от загрузчика NTLDR. Этот ключ содержит данные об аппаратных средствах, распознавание которых осуществляется каждый раз при запуске системы. В состав этих данных входит информация об аппаратных компонентах на системной плате и о ресурсах, используемых конкретными аппаратными устройствами.
        До этого момента причину, по которой может не загружаться система, установить довольно просто - отсутствие или повреждение загрузочных секторов, вышеперечисленных файлов, каталогов или реестра, естественно, при исправном оборудовании. Дальше все значительно сложнее. Начинается загрузка в память и инициализация драйверов и системных служб, информация о которых хранится в разделе реестра
    HKLM\SYSTEM\CurrentControlSet\Services
    Каждому драйверу соответствует свой ключ, в составе которого имеется параметр Start, определяющий, на каком этапе загрузки системы производится загрузка и инициализация данного драйвера или службы. Значения Start:
    0 - BOOT - драйвер загружается загрузчиком.
    1 - SYSTEM - драйвер загружается в процессе инициализации ядра.
    2 - AUTO - служба запускается автоматически при загрузке системы.
    3 - MANUAL - служба запускается вручную.
    4 - DISABLE - отключено.
    Сами файлы драйверов хранятся в каталоге %SystemRoot%\system32\drivers.

        Сначала загружаются и инициализируются низкоуровневые драйверы устройств, параметр Start у которых равен 0. Для их загрузки используются функции BIOS (естественно, ведь никаких других драйверов в оперативной памяти еще нет.)

        Затем загружаются и инициализируются остальные драйверы устройств, параметр Start у которых равен 1. Для их загрузки уже используются ранее загруженные драйверы с параметром Start=0
    Именно на этом этапе чаще всего возникают причины появления "Синих экранов смерти" (Blue Screen Of Death - BSOD), связанные с невозможностью загрузки нужного драйвера или неправильной его работы с оборудованием компьютера, например,
    STOP: 0x0000007B Inaccessible Boot Device
        Обработка ошибок в процессе инициализации драйверов устройств основана на значении элемента ErrorControl ключа реестра, относящегося к драйверу, и заканчивается "синим экраном" с соответствующим кодом ошибки.

        После успешно отработанного данного этапа начальной загрузки запускается "Диспетчер сеансов" (\SystemRoot\System32\smss.exe) , задача которого - запустить высокоуровневые подсистемы и сервисы (службы) операционной системы. На этом этапе запускаются процессы CSRSS (Client Server Runtime Process), WINLOGON (Windows Logon), LSASS (LSA shell), и оставшиеся службы с параметром Start=2 из HKLM\SYSTEM\CurrentControlSet\Services
        Информация, предназначенная для диспетчера сеансов, находится в ключе реестра
    HKLM\SYSTEM\CurrentControlSet\Control\Session Manager.
    Система загружена и все готово к регистрации пользователя (если система не настроена на автоматическую регистрацию).

  • Решение проблем с помощью консоли восстановления.

  •     Консоль восстановления предоставляет пользователю командную строку, позволяющую устранить ошибки в системе, используя ограниченный набор консольных команд. С помощью консоли восстановления можно удалять и создавать разделы, форматировать диски, восстанавливать загрузочные секторы, включать и отключать службы, восстанавливать системные файлы с дистрибутива или другого носителя.
        Консоль восстановления можно запустить двумя способами:
    - с использованием установочных дисков.
    - с использованием выбора в меню загрузчика предварительно установленной консоли восстановления в качестве одного из вариантов загрузки. Установить же консоль можно на рабочей системе, поэтому чаше используется первый вариант.
        При загрузке с установочного диска нужно выбрать режим выполнения восстановления установленной копии Windows 2000/XP, а затем - запуск консоли восстановления. После запуска консоли восстановления нужно будет выбрать диск (если на компьютере установлено несколько систем) и войти в систему, используя пароль администратора. Если вы не знаете, какие команды можно использовать - наберите help. Можно получить подсказку по конкретной команде - help имя команды.
    В случае, когда загрузка системы не доходит до инициализации ядра (запорчены загрузочные секторы, отсутствует или испорчен загрузчик ntldr и т.п.) алгоритм действий может быть следующим:
    Пример для случая стандартно установленной Windows 2000 на диске C: и наличии CD-ROM с дистрибутивом на D:

  • Убедимся в наличии нужных системе файлов в корне диска.
    dir C:\

    Результат выполнения DIR частично представлен на рисунке ниже. Первая колонка текста - дата создания (последней модификации файла или каталога), вторая - время, третья - атрибуты, где d- каталог, r-только чтение, s- системный, h - скрытый, c - служебный.
    После выполнения команды в списке файлов должны присутствовать:

    boot.ini
    Bootfont.bin
    NTDETECT.COM
    ntldr
    WIINT (каталог в результатах выдаваемых DIR имеет символ "d" в колонке атрибутов)

    Если файлы и каталоги присутствуют, возможно причина в ошибке на диске.

  • Выполним проверку диска:

    chkdsk C: /F - проверка диска с исправлением ошибок.
    chkdsk C: /R - проверка на сбойные блоки.

    Проверка диска в консоли восстановления


    Если проверка завершилась без ошибок - возможно запорчены загрузочные секторы.

  • Для восстановления загрузочных секторов используем:

    fixmbr - восстановить Master Boot Record (MBR).
    fixboot C: восстановить загрузочный сектор раздела.

  • Если отсутствует какой-либо из файлов - копируем из дистрибутива D:\i386

    copy D:\i386\ntldr C:\ - копируем загрузчик ntldr.
    copy D:\i386\ntdetect.com C:\ - копируем ntdetect.com.
    copy D:\i386\atapi.sy_ C:\winnt\system32\drivers\atapi.sys - копируем драйвер atapi.sys
    Если у вас на компьютере установлены одновременно Windows 2000 и Windows XP, файлы, находящиеся в корне системного диска (ntldr, ntdetect.com, bootfont.bin) нужно использовать из дистрибутива Windows XP. В противном случае, Windows 2000 будет нормально грузиться, а попытка загрузить XP закончится черным экраном, до меню выбора ОС.
        Иногда удобно задать в качестве текущего каталога тот, куда вы копируете файлы:
    cd c:\winnt\system32\drivers
    в этом случае, если путь явно не задан, копирование будет выполняться в текущий каталог и не придется набирать длинные пути:
    copy D:\i386\atapi.sy_ atapi.sys
    Если отсутствует файл boot.ini, то с дистрибутива вы его не возьмете, придется брать с другого компьютера (и править при необходимости) или создавать самостоятельно. Информацию об ARC-путях поможет получить команда:
    map arc


  • Отключение и разрешение драйверов и сервисов.
        Иногда причиной проблемы с загрузкой ОС может быть неправильно установленный или некорректно работающий драйвер или сервис. Консоль восстановления позволяет легко решить эту проблему.
    Список сервисов и их состояние можно получить по команде:
    listsvc

    Результаты выполнения команды Listsvc


        В первой колонке - имя драйвера или сервиса, во второй - статус загрузки и выполнения, соответствующий рассмотренному выше параметру start в ключе реестра, относящемуся к данному драйверу или службе, и в третьей - краткое описание.
    start=0 - Boot
    start=1 - System
    start=2 - Auto
    start=3 - Manual
    start=4 - Disabled
    Отключить службу или драйвер (например atapi) можно с помощью :
    disable atapi
    Эта команда выводит на экран то состояние службы, которое было до ее отключения, чтобы, при необходимости, можно было вернуть это состояние с помощью команды enable.
    enable atapi SERVICE_BOOT_START
    Эта команда так же, как и disable, перед изменением состояния службы выводит на экран его предыдущее значение.
        Добавлю, что со значением параметра start нужно обращаться очень аккуратно, например, если для драйвера стандартного контроллера жестких дисков (atapi) поменять параметр запуска с BOOT на SYSTEM вы получите синий экран с ошибкой "STOP: 0x0000007B Inaccessible Boot Device", как и в случае отсутствия файла драйвера atapi.sys или его отключения (Disable).

  • Работа с разделами жесткого диска.

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



  • Пример "ремонта" BSOD

  •     Вы решили поменять системную плату на более современную, ОС у вас установлена давно, и очень не хотелось бы ее переустанавливать, однако при первой загрузке системы с новой "начинкой" - синий экран с ошибкой "STOP: 0x0000007B Inaccessible Boot Device". В новой материнской плате есть встроенный IDE-контроллер, который использует чипсет, отличный от чипсета предыдущей материнской платы. Простейший выход из такой ситуации с минимальными потерями - следовать рекомендациям от Microsoft:

    1. Загрузитесь с установочного диска или дискет Windows 2000/XP
    2. На первом экране нажмите Enter
    3. Нажмите F8, когда попросят подтвердить лицензионное соглашение
    4. Выберите Windows 2000/XP и нажмите R
    5. Придерживайтесь инструкций на экране, чтобы выполнить ремонт Windows 2000/XP


    Подробнее рекомендации от Microsoft по устранения неполадок Stop 0x0000007B - здесь.     Однако можно решить проблему и иначе. Я для примера взял STOP 7B, как наиболее распространенную ошибку.
    Нужно заставить работать стандартные драйверы дисковой подсистемы от Microsoft с нашим новым оборудованием. Для начала, убедимся, что у нас есть в SystemRoot\system32\drivers файлы Atapi.sys, Intelide.sys, Pciide.sys и Pciidex.sys. Затем, что они загружаются с параметром SERVICE_BOOT_START. Это можно сделать с помощью той же консоли восстановления. Это необходимые условия для загрузки, но недостаточные. Дело в том, что устройства Plug-n-Play (PnP) идентифицируются системой с помощью специального кода (PnP-ID), зависящего от набора микросхем, на которых собрано устройство, и новый контроллер IDE, скорее всего будет иметь неизвестный установленной системе идентификатор. Он просто не будет восприниматься как контроллер IDE.
    Информация об известных системе устройствах создается на основе .inf-файлов при установке нового оборудования и хранится в разделе реестра:
    HKLM\system\CurrentControlSet\Control\CriticalDeviceDatabase
    Можно было бы подправить существующие данные или создать новые записи, тем более, что сейчас несложно найти .reg-файлы для идентификации контроллеров IDE основных производителей оборудования (Открыть) но как записать их в реестр? К сожалению, консоль восстановления этого делать не умеет и придется воспользоваться сторонним ПО. Наиболее популярным, пожалуй, инструментом восстановления системы является ERD Commander. Описание и инструкция по использованию ERD Commander

        ERD Commander представляет собой упрощенный вариант Windows, загружаемой с использованием сменного носителя (CD/DVD, флэшка, USB Disk...) и набор специальных программных инструментов, облегчающих работу с основной операционной системой - редактор реестра, проводник, мастер изменения паролей и т.п. В частности, редактор реестра позволяет напрямую работать с реестром основной Windows так же, как с собственным.
        Берем содержимое выше упомянутого файла для идентификации контроллеров IDE, создаем из него .reg файл на дискете и с помощью инструмента "Редактор реестра" (Registry Tools) импортируем его в реестр "мертвой" системы.

    Работа с реестром в ERD Commander


    Перезагружаемся - и, если все сделано верно, операционная система возвращается к жизни. Если же этого не произошло, как правило, по причине отсутствия необходимой записи в приведенном файле, то с помощью ERD Commander'a проблема решаема, например, правкой реестра вручную. Можно определить PNP-идентификатор контроллера жесткого диска и добавить его описание в реестр. Для Windows Vista и более поздних версий достаточно включить стандартный режим SATA для дискового контроллера и разрешить использование стандартного драйвера msahci.sys на этапе загрузки системы. Более подробное описание решения данной проблемы найдете в статье Восстановление работоспособности Windows при замене материнской платы.

    Есть еще один, довольно длительный, но вполне надежный способ справиться с ошибкой STOP 7B.

    - ставим временную систему в другой раздел, каталог, диск - не важно, - она будет нужна только на 1 загрузку.
    - После первой загрузки делаем экспорт ветки реестра
    HKLM\system\CurrentControlSet\Control\CriticalDeviceDatabase в файл.
    - Грузимся в ERDC и делаем импорт из этого файла.
    - Перезагружаемся, выбрав старую систему.
    - Удаляем каталог с установленной новой ОС и правим boot.ini

        Что еще можно сделать с помощью ERDC:
    - легко выполнить все задачи, решаемые с помощью консоли восстановления.
    - получить полный доступ к дискам "мёртвой" системы.
    - восстанавливать удаленные файлы, деинсталлировать установленные обновления ОС, восстанавливать систему по контрольным точкам (только WinXP)
    - получить доступ к локальной сети и Интернет.
    - менять пароли у пользователей установленной ОС, в т.ч. и пароль администратора
    - просматривать журналы событий ОС
    - получить доступ к автоматически запускаемым программам.
    - возможность запуска некоторых из программ установленной ОС. FAR запускается и работает без проблем, но, например, офисные приложения работать не будут.
    - стереть содержимое жестких дисков установленной ОС без возможности восстановления.
    - получить информацию к размышлению от утилиты Crash Analyzer по дампу памяти, полученному при ошибке ОС.


        Основная оснастка ERD Commander Computer Management :

    ERD Commander - Computer Management


    Кроме того, стандартный набор утилит ERD Commander'а можно дополнить своими любимыми программами (FAR, Nero, Winimage и т.п.) на этапе создания загрузочного CD и тем самым расширить его возможности и создать для себя удобный инструмент восстановления системы. Еще проще, создать мультизагрузочную флэшку с необходимым набором образов ERDC и переносимого программного обеспечения.



  • Использование точек восстановления

  •     Бывают случаи, когда дело не доходит даже до "синего экрана смерти" и в самом начале загрузки вы получаете сообщение:

    Windows XP could not start because the following file is missing or corrupt: \WINDOWS\SYSTEM32\CONFIG\SYSTEM

    означающее, что запорчен раздел реестра HKLM\SYSTEM, без которого, конечно же, загрузка не возможна. (Очень часто подобное сообщение вызвано некорректной работой оборудования, разгоном, и т.п. поэтому, напомню, что в данном случае рассматриваются действия по восстановлению работоспособности операционной системы на РАБОТОСПОСОБНОМ ОБОРУДОВАНИИ). Менее распространенное проявление ошибки в содержимом куста SYSTEM - прекращение загрузки системы в самом начале с пустым экраном без каких-либо сообщений.
        Обычно в подобных случаях выполняется переустановка системы, хотя проблема несложно решается за каких-то 10-20 минут.
        В Windows XP , существует механизм ,с помощью которого, при возникновении проблем, можно восстановить предыдущее состояние компьютера без потери личных файлов (документы Microsoft Word, перечень просмотренных страниц, рисунки, избранные файлы и сообщения электронной почты). Точки восстановления (Restore Points) создаются системой автоматически ежедневно во время простоя компьютера, а также во время существенных системных событий (таких, как установка приложения или драйвера). Пользователь также имеет возможность в любое время создавать их принудительно. Эти точки восстановления позволяют вернуть систему к состоянию на момент их создания.

        Для работы с точками восстановления используется приложение C:\windows\system32\restore\rstrui.exe (Пуск-Программы-Стандартные-Служебные-Восстановление системы). Механизм довольно эффективный, но воспользоваться им можно только в среде самой Windows, которая в рассматриваемом случае не загружается по причине испорченного файла раздела реестра.

    Однако, все не так плохо. Упомянутый выше Winternals ERD Commander умеет работать с точками восстановления подключенной операционной системы и позволяет легко выполнить откат на ее работоспособное состояние через меню "Start - System Tools - System Restore"

    Использование точек восстановления системы в ERD Commander


    С помощью System Restore Wizard восстановление выполняется так же, как и в среде Windows.
        Но проблему можно (а иногда и желательно) решить иначе - в нашем конкретном случае с файлом
    \WINDOWS\SYSTEM32\CONFIG\SYSTEM,
    можно ведь не откатывать систему на полное состояние точки восстановления, а просто восстановить испорченный файл раздела реестра.
        Данные контрольных точек хранятся в каталоге System Volume Information системного диска. Это скрытый системный каталог, доступ к которому разрешен только учетной записи System (т.е. Службе восстановления системы). Поэтому, если вы хотите получить доступ к его содержимому, вам придется добавить права вашей учетной записи с использованием вкладки "Безопасность" в свойствах каталога "System Volume Information". В случае использования Winternals ERD Commander или загрузки в другой операционной системе этого делать не нужно. В папке System Volume Information есть подкаталог с именем, начинающемся с _restore... и внутри него - подкаталоги RP0, RP1: - это и есть искомые контрольные точки (Restore Point - RPx). Внутри папки RPx имеется каталог snapshot, содержащий копии файлов реестра на момент создания контрольной точки.

    REGISTRY_MACHINE_SYSTEM - это и есть копия файла реестра SYSTEM


    Файл REGISTRY_MACHINE_SYSTEM - это и есть копия файла SYSTEM, он же - раздел реестра HKLM\SYSTEM . Остается лишь перетащить этот файл в каталог \WINDOWS\SYSTEM32\CONFIG\ и переименовать его. Запорченный файл system можно, на всякий случай, переименовать в system.bad или удалить.
    Если вы будете использовать Winternals ERD Commander, который работает с реестром подключенной системы, то могут возникнуть проблемы с занятостью файлов. Чтобы этого не случилось, лучше в процессе загрузки не подключаться к проблемной операционной системе и выбрать None:

    None - не будет выполняться подключение к какой-либо системе


        В Windows 2000 нет встроенной системы создания точек восстановления, но можно использовать стороннее программное обеспечение для создания их аналогов, например пакет Ontrack Fix It 2000.
    Что касаемо сообщения "Missing or corrupt \windows\system32\config\system", в Windows2000, то, на одном древнем сервере, я заметил некую закономерность - когда размер файла system приближается к 6 мегабайтам, оно гарантировано возникает при установке любого программного обеспечения, выполняющего запись в system.
    Проблему можно решить уменьшением размера файла system, чего можно добиться удалением неиспользуемых скрытых устройств, ненужных служб и т.п. с последующей дефрагментацией реестра с помощью сторонних утилит (Ontrack Fix-it 2000).

    Добавлю, что с файлами реестра Windows 2000 можно работать, используя редактор реестра Windows XP. Один из способов восcтановления целостности реестра, заключается в открытии редактором реестра (regedit.exe) из комплекта Windows XP, файлов (кустов) запорченного реестра Windows 2000. В случае, когда редактор реестра, при загрузке куста, обнаруживает нарушение его целостности, выполняется встроенная процедура восстановления. Какие-то данные, естественно, будут потеряны, но, в большинстве случаев, система сможет загрузиться. Вопросам резервного копирования и восстановления реестра я специально посвятил отдельный раздел статьи "Работа с реестром".



  • Поиск проблемного драйвера.

  •     Информация "синего экрана" не слишком информативна, и для определения причины сбоя, как правило, приходится использовать дополнительные источники, одним из которых (основным) является дамп памяти, записываемый на диск при аварийном завершении работы системы. В настройках Windows (Панель управления - Система - Дополнительно - Загрузка и восстановление ). В области "Запись отладочной информации" существует возможность разрешить или запретить запись дампа в случае отказа системы.



        Обычно установлен режим "Малый дамп памяти (64КБ)". Как правило, для определения драйвера, вызвавшего BSOD, этого вполне достаточно. При возникновении каждой последующей ошибки и создании нового файла малого дампа памяти Windows сохраняет предыдущий файл. Каждому записываемому файлу дампа присваивается отдельное имя с указанием даты. Например, Mini123109-01.dmp - это первый файл дампа памяти, созданный 31 декабря 2009 г. Файлы малого дампа памяти по умолчанию хранятся в папке %SystemRoot%\Minidump.
        Для анализа дампа можно использовать стандартные средства Windows dumpchk.exe (Crash Dump Analisys utility), отладчик Windbg или kd.exe
    Здесь статья из базы знаний Microsoft c примерами.
        Гораздо удобнее для анализа малого дампа воспользоваться бесплатной утилитой BlueScreenView от Nir Sofer. Скачать, ~ 120 кб.
    Окно программы состоит из 2-х частей. В верхней части - список и свойства файлов минидампов, в нижней - данные, имеющие отношение к выбранному минидампу:

    BlueScreenView


        Формат отображения данных в нижнем окне можно задавать с помощью меню "Options- Lower Pane Mode":

    - All drivers - отображать все загруженные драйверы. На красном фоне отображена информация о драйверах, возможно являющихся причиной BSOD.
    - Only Drivers Found in Stack - отображать только драйверы, возможно являющиеся причиной BSOD.
    - Blue Screen in XP style - отображать BSOD в стиле Windows XP

    Программа очень проста и удобна. Есть русификатор в виде ini-файла, который нужно скопировать в каталог с установленной программой BlueScreenView. Скачать, ~ 3 кб.



    Если вы желаете поделиться ссылкой на эту страницу в своей социальной сети, пользуйтесь кнопкой "Поделиться"




    В начало страницы     |     Перейти на главную страницу.


    Top.Mail.Ru