Classpnp sys windows server 2008

  • Remove From My Forums
  • Question

  • Hi, I’ve a serious problem with Windows Server 2008 R2. It doesn’t boot into the OS and it’s return the following error: 

    STOP: 0x0000007B (0xFFFFF880009A9928, 0xFFFFFFFFC0000034, 0x0000000000000000, 0x0000000000000000)

    It also stop the start up of the safe mode at the loading of CLASSPNP.SYS driver.

    I’ve searched for over 24 hours but i’ve tried everything I’ve found on the net but there’s nothing to do. The problem persist.

    Could you tell me everything you can think about the resolution of this problem?

    THANK YOU!!!

    • Edited by

      Tuesday, January 26, 2016 11:13 PM

Answers

    • Proposed as answer by
      Alvwan
      Tuesday, February 9, 2016 3:54 AM
    • Marked as answer by
      Amy Wang_
      Friday, February 19, 2016 5:54 AM

I’m using VMware Workstation version 7.1.4 build-385536 hosted on  Win7 service pack 1.  VMware Tools version 8.4.6 build-385536 is  intalled in the Win2k8 SP 2 guest. Attached is the output from  msinfo32.exe for both the Win7 host and Win2k8 guest.

I’m attempting to add 3 additional 500 MB virtual  disks to the virtual machine.  They initialize correctly as MBR through  Disk Management in Win2k8.  When I attempt to create a simple volume,  the virtual disk NTFS formatting reaches 100%, and then I receive the  following STOP error: 0x0000008E — classpnp.sys.

After the crash, I attempt to boot normally.  Once the guest restarts, I’m able to log on and Win2k8 reports the following:

Problem signature:
  Problem Event Name:    BlueScreen
  OS Version:    6.0.6002.2.2.0.274.10
  Locale ID:    1033

Additional information about the problem:
  BCCode:    1000008e
  BCP1:    C0000005
  BCP2:    8CD80E54
  BCP3:    98E4C6B4
  BCP4:    00000000
  OS Version:    6_0_6002
  Service Pack:    2_0
  Product:    274_2

It  provides a minidump file  that I don’t know how to use.  I’ve attached  the boot log (ntbtlog.txt) from after the crash.  Disk Management  reports the disk with the default settings that I selected when creating  the simple volume: New Volume, 509 MB NTFS, Healthy (Primary  Partition).  The exception is that it did not assign the default drive  letter (E:).

When I restart in Safe Mode with  Networking, among the drivers reported as loaded is CLASSPNP.SYS.  The  problem is completely gone — I can delete and recreate the simple volume  as many times as I like through Disk Management without issue.  This  implies that the culprit is a driver or service that is not loaded in  Safe Mode with Networking, but I’m not sure how to pinpoint it.  I have a  note below about VMware Tools.  The only other «obvious» application is  the Immunet anti-virus, both of which I’ve disabled at one point during  the troubleshooting process.

I know the simple  solution would then be to boot into Safe Mode w/ Networking, but what  frustrates me is that I was able to do this previously without having to  do so.  These are actually lab activities for a class that did not  require any special measures.  I’ve done them in the past without  issue.  Given that fact, I’d really like to find the root cause.

Below  are the troubleshooting steps that I’ve taken.  If you need additional  information, I’ll be happy to provide it.  Thank you in advance!

  • There  are no reported issues in Device Manager.  Problem Reports and  Solutions provided information «Download and install the driver for your  VMware VMCI Bus Device» which amounts to ensuring that VMware Tools is  installed in the guest.
  • Repaired, uninstalled/reinstalled, and  completely removed VMware Tools without effect.  In other words, it  doesn’t seem that VMware Tools is the problem, although I guess that I’m  not 100% sure.
  • Similarly, the only other obvious startup  application is the Immunet anti-virus.  I disabled it on startup through  System Configuration without effect.
  • This occurs in two  separate Win2k8 VMs.  In fact, I created a completely new VM because I  thought perhaps I had a driver or snapshot corruption in the orignal.   Windows Update was run in both VMs to ensure that all important updates  are applied.  In the original VM, all available updates were applied.
  • Initially  I added all three disks at the same time.  I then attempted to add a  single additional disk.  Problem occurred in both cases.
  • Tried adding disks as both IDE and SCSI.
  • My  Internet search results seem to center around Win7 and are  predominantly boot issues.  I did not locate any specific to disk  management under Windows Server 2008.  The VM BIOS is rather limited in  its options as it relates to some of those posts e.g., PnP OS setting.   On such post recommended booting with the Disable Driver Signature  Enforcement.   I tried that and it didn’t help.

Неоконченный эксперимент с неполным количеством входных данных.

Данный материал представляет собой своего рода исследование, попытку разобраться в одной, набившей уже оскомину, загадке этапа загрузки операционной системы Windows. Многие специалисты согласятся со мной, что на практике довольно часто приходится наблюдать сбой при котором станция, загружаясь в безопасном режиме, отображает на экране монитора список загруженных драйверов (последним из которых часто выводится classpnp.sys) и сообщение «Подождите, пожалуйста…», после чего благополучно подвисает:

classpnp.sys

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

bootscreen

намного чаще же система подвисает на более позднем этапе, когда на черном фоне остается графический курсор мыши:

black screen of death

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

Подопытная конфигурация: Windows 7 SP1 Professional RUS x86, 32-битная выбрана как наименее капризная в плане препятствий, чинимых на пути исследователя, защита у неё определенно проще, патчить легче, бороться с PatchGuard не приходится!! :)

Теория

На данный исторический момент уровень моих знаний оставляет желать лучшего, тем не менее, все же попытаемся выйти за привычный ареал обитания, распахнуть, так сказать, рамки собственного познания, тем самым устремившись навстречу эволюции :) В очередной раз не перестаешь удивляться отсутствию у одной из самых популярных настольных операционных систем продуманной диагностической подсистемы. Удивляюсь, конечно же, не я один.. на официальных форумах Microsoft по теме зависания на classpnp.sys можно встретить достаточно много вопросов, к примеру, пользователь с ником Дима_413 пишет:

classpnp.sys freeze

Справедливо, поскольку зависание на classpnp.sys, наряду с черным экраном смерти и штормом прерываний, является примером недоработок в архитектуре системы Windows 7, вероятно ведущих свою родословную из недостатков архитектуры x86. Странно другое, ведь на ранних стадиях загрузки операционной системы (начиная с кода сектора MBR, Bootmgr) уже обеспечена простая диагностика, которая выводит сообщения в текстовом режиме в качестве реакции на ошибки. Получается, что отсутствие подобного подхода при зависании на classpnp.sys наблюдается по причине возникновения блокировок в коде ядра в части обработки ошибок/таймаутов от сторонних драйверов [устройств] на раннем этапе загрузки, вероятно разработчики посчитали подобный код бессмысленными, поскольку он все-равно не сможет отработать? Поэтому:

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

Во всех ветках обсуждений на тему зависания на classpnp.sys, найденных в Сети, все обычно сводится к рассуждениям относительно природы этого драйвера, структуры, функциональных задач, роли, которую он играет в процессе загрузки и, главное, как можно привести его (обратно) в работоспособное состояние? Очевидно что драйвер уже однозначно определен в виновники происходящего зависания, при том, что во всех дискуссиях попросту отсутствует исследовательская (практическая) доказательная часть, что, конечно же, понижает объективность данных теорий. Ну что же, давайте и мы последуем в рамках описанного «слепого» тренда и начнем повествование с попытки описания функциональных особенностей драйвера.

Что есть сам classpnp.sys?

Classpnp — общая библиотека класса устройств хранения информации (жестких/твердотельных накопителей, ленточных устройств, CD/DVD-ROM’ов и аналогичных), используемая драйверами жестких дисков, CD/DVD-ROM, ленточных накопителей (включая SATA/SCSI-накопители).

Из определения следует, что любой драйвер, относящийся к классу устройств хранения информации (магнитных, ленточных, оптических), использует функции данной библиотеки в процессе функционирования. Действительно, образ представляет собой типовую системную библиотеку (DLL), содержащую набор устройствонезависимых процедур (функций), используемых классом отмеченных ранее устройств. Похоже что данная библиотека — это библиотека, функции которой используются всеми драйверами накопителей (устройств хранения) в операционной системе Windows. Библиотека обеспечивает для системных/сторонних драйверов уровня ядра общие процедуры работы с устройствами хранения на уровне обслуживания пакетов IRP, поддержки функций PnP и управления питанием, выполнения общих алгоритмов работы с памятью, чтения, записи, инициализации, конфигурации устройств, работа с уровнями IRQL, обработку ошибок и много прочей аналогичной необходимой требухи.
В Windows XP и последующих операционных системах, некоторые из наиболее часто используемых сервисов, ранее предоставляемых прямыми вызовами к библиотеке classpnp.sys, теперь предоставляются драйвером класса. Поэтому в Windows XP (и более поздних системах) обычно нет необходимости прямого вызова функции classpnp.sys из сторонних минипорт-драйверов.

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

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

Общая теория загрузки

Перед тем как понять, какое же место classpnp.sys занимает в системе, нам необходимо освежить в памяти общую теорию загрузки. Из неё мы знаем, что весь процесс запуска операционной системы Windows 7 на начальных стадиях можно описать следующим образом (упрощенное представление):

  • Выполняется код микропрограммы BIOS/UEFI (POST);
  • Выполняется код сектора MBR;
  • Выполняется код сектора(ов) PBR;
  • Выполняется код модуля Bootmgr.exe(.efi);
  • Выполняется код модуля Winload.exe(.efi);
  • Выполняется инициализация ядра (ntoskrnl.exe | ntkrnpa.exe | ntkrnlmp.exe | ntkrpamp.exe)
  • Ядро создает/запускает процесс SMSS, который создает сессии:
    • Сессия 0
      • запускается копия процесса CSRSS:
      • Wininit
      • SCM (services.exe)
      • LSASS
      • LSM
    • Сессия 1
      • запускается копия процесса CSRSS:
      • WinLogon
      • LogonUI.exe
      • UserInit
      • оболочка (explorer.exe)
      • Приложения автозагрузки

Есть примета, что если зависает на classpnp.sys — это к апгрейду :) Если серьезно, то за все время компьютерной практики относительно данной темы накопилось несколько наблюдений:

  1. В разные периоды практики удавалось понаблюдать очень похожие между собой сбои, когда возникали ситуации, в которых загрузка в безопасном режиме зависала не на самом драйвере classpnp.sys, а на следующих за ним, то есть этот драйвер не был последним в списке (например, иногда загрузка вставала на agp440.sys).
  2. На нормально загружающихся в безопасном режиме системах периодически наблюдал картину, когда текстовый режим кончался на выводе строки classpnp.sys с надписью «Подождите, пожалуйста…», после чего присутствовала совсем уж короткая пауза и загрузка уходила в графический режим и продолжалась. Делаем выводы, что приведенная строка ожидания характеризует конец одного (визуально определяемого нами как «текстовый») этапа загрузки и переход к следующему (визуально «графическому»).

Каково, а? Первый пункт, я бы сказал, просто расшатывает столпы веры в то, что виновником является именно драйвер classpnp.sys. Отсюда непременно возникает один резонный вопрос: действительно ли причина зависания кроется в тех драйверах, которые мы наблюдаем в списке на экране монитора? Или то что мы видим является ли истинной причиной происходящего?

Этап Winload

Где же впервые в коде модулей запуска встречается загрузка каких-либо системных или сторонних драйверов/библиотек? Очевидно что на этапе Winload.exe, поскольку именно в коде данного модуля впервые начинают загружаться системные драйвера с флагом BOOT_START. С целью анализа нам придется изучать исходный код, для этого расчехляем IDA и дизассемблируем код модуля Winload.exe. После продолжительного изучения алгоритмов можно прийти к выводу, что исполнение кода модуля начинается с точки входа в процедуре OslMain. Уже из этой процедуры вызывается дочерняя функция OslInitializeCodeIntegrity, которая проверяем целостность модулей, участвующих в загрузке. В коде основной функции встречается интересная вложенная функция под названием OslpLoadAllModules, которая используется разнообразным кодом для обеспечения загрузки системных модулей (они же — драйвера/библиотеки режима ядра). Могу ошибаться, но мне показалось, что все модули, загружаемые через неё на начальной стадии, делятся на:

  • жестко заданные во внутренней переменной OslMicrosoftBootImages;
  • загружаемые уже при подключении и разборе ветви реестра HKLMSYSTEMCurrentControlSetservices;
  • загружаемые при разборе зависимостей используемых функций;

Непосредственно сама загрузка производится через вложенную функцию OslLoadImage (и подчиненную LoadImageEx). Теперь настало время ознакомиться с полным списком загружаемых кодом модуля Winload.exe драйверов:

Имя Официальное описание Зависимости
ntoskrnl.exe NT Kernel & System pshed.dll, hal.dll, bootvid.dll, kdcom.dll, clfs.sys, ci.dll
hal.dll Hardware Abstraction Layer DLL ntoskrnl.exe, pshed.dll, kdcom.dll
kdcom.dll Serial Kernel Debugger ntoskrnl.exe, hal.dll
pshed.dll Драйвер аппаратных ошибок, специфичных для платформы ntoskrnl.exe, hal.dll
bootvid.dll VGA Boot Driver ntoskrnl.exe, hal.dll
ci.dll Code Integrity Module ntoskrnl.exe
clfs.sys Common Log File System Driver ntoskrnl.exe, hal.dll
fileinfo.sys Fileinfo Filter Driver ntoskrnl.exe, hal.dll, fltmgr.sys
fltmgr.sys Диспетчер фильтров файловых систем Майкрософт ntoskrnl.exe, hal.dll
atapi.sys ATAPI IDE Miniport Driver ntoskrnl.exe, ataport.sys
ataport.sys ATAPI Driver Extension ntoskrnl.exe, hal.dll
wmilib.sys WMILIB WMI support library DLL ntoskrnl.exe
amdxata.sys Storage Filter Driver ntoskrnl.exe, hal.dll
mountmgr.sys Диспетчер точек подключения ntoskrnl.exe, hal.dll
msahci.sys MS AHCI 1.0 Standard Driver ntoskrnl.exe, pciidex.sys
pciide.sys Generic PCI IDE Bus Driver ntoskrnl.exe, pciidex.sys
pciidex.sys PCI IDE Bus Driver Extension ntoskrnl.exe, hal.dll
msisadrv.sys ISA Driver ntoskrnl.exe, wdfldr.sys
wdfldr.sys Kernel Mode Driver Framework Loader ntoskrnl.exe, hal.dll
acpi.sys ACPI драйвер для NT ntoskrnl.exe, hal.dll, wmilib.sys
partmgr.sys Partition Management Driver ntoskrnl.exe, hal.dll, wmilib.sys
pci.sys NT Plug and Play PCI-перечислитель ntoskrnl.exe, hal.dll, pshed.dll
vdrvroot.sys Корневой перечислитель виртуальных дисков ntoskrnl.exe, wdfldr.sys
volmgr.sys Volume Manager Driver ntoskrnl.exe, hal.dll, wmilib.sys
volmgrx.sys Драйвер расширения диспетчера томов ntoskrnl.exe, hal.dll
wdf01000.sys Среда выполнения платформы драйвера режима ядра ntoskrnl.exe, hal.dll, wdfldr.sys
msrpc.sys Kenrel Remote Procedure Call Provider ntoskrnl.exe
cng.sys Kernel Cryptography, Next Generation ntoskrnl.exe, hal.dll
pcw.sys Perfomance Counters for Windows Driver ntoskrnl.exe
fs_rec.sys File System Recognizer Driver ntoskrnl.exe
ndis.sys Драйвер NDIS 6.20 ntoskrnl.exe, hal.dll, netio.sys
ksecpkg.sys Kernel Security Support Provider Interface Packages ntoskrnl.exe, ksecdd.sys, cng.sys
ksecdd.sys Kernel Security Support Provider Interface Packages ntoskrnl.exe, hal.dll, msrpc.sys
tcpip.sys Драйвер TCP/IP ntoskrnl.exe, hal.dll, msrpc.sys, ksecdd.sys, fwpkclnt.sys, fltmgr.sys, ndis.sys, netio.sys
fwpkclnt.sys FWP/IPSec Kernel-Mode API ntoskrnl.exe, hal.dll, msrpc.sys, ndis.sys, netio.sys
netio.sys Network I/O Subsystem ntoskrnl.exe, hal.dll, ndis.sys, msrpc.sys
vmstorfl.sys Virtual Storage Filter Driver ntoskrnl.exe, hal.dll, wdfldr.sys
volsnap.sys Драйвер теневого копирования тома ntoskrnl.exe, hal.dll
spldr.sys loader for security processor ntoskrnl.exe
rdyboost.sys ReadyBoost Driver ntoskrnl.exe, hal.dll, ksecdd.sys
mup.sys Драйвер поставщика множественных UNC-имен ntoskrnl.exe, hal.dll
hwpolicy.sys Hardware Policy Driver ntoskrnl.exe
fvevol.sys BitLocker Drive Encryption Driver ntoskrnl.exe, hal.dll
disk.sys PnP Disk Driver ntoskrnl.exe, hal.dll, classpnp.sys
classpnp.sys SCSI Class System DLL ntoskrnl.exe, hal.dll

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

В модуле winload.exe драйвер с именем classpnp.sys вы не найдете ни в жесткозакодированных (вкомпилированных) переменных, ни в ветвях реестра. Он загружается при разборе зависимостей от драйвера disk.sys, который использует некоторые функции classpnp.sys.

Одним из первых загружается образ ядра (ntoskrnl.exe) и уровень аппаратных абстракций HAL.DLL, но секции импорта у этих модулей на данном этапе не разрешаются (то есть указанные модули просто подгружаются в память без связывания). Соответственно и код библиотеки на этом этапе всего-лишь загружается в адресное пространство ядра, для того что бы в последствии, после инициализации, функции были «видимыми» (доступными) для кода других драйверов. Затем, таблица импорта актуального модуля ядра (ntoskrnl.exe и аналогичные) заполняется и связывается (при помощи функции LoadImports и вложенной в неё BindImportRefences). После того, как все подобные подготовительные процедуры отработали, управление передается ядру при помощи функции OslArchTransferToKernel. То есть, давайте резюмируем данный этап загрузки:

В процессе функционирования модуля Winload.exe драйвера режима загрузки только лишь подгружаются в память, но не инициализируются.

Отсюда рождается ряд вопросов:

  • может ли этот этап (Winload.exe) загрузки зависнуть по причине какого-либо типа повреждения файлов подгружаемых драйверов (в том числе и библиотеки classpnp.sys)?
  • если да, то по каким именно причинам: повреждение записи файла в файловой системе ntfs? неправильная версия classpnp.sys? нулевая длина файла?

Этап ntoskrnl

Собственно, это ни что иное как ядро операционной системы. На самом деле имя ntoskrnl.exe используется только в одноядерной системе (без режимов SMP/PAE). Имена ядра определяются следующим образом:

  • ntoskrnl.exe — (1 ядро ЦП);
  • ntkrnlmp.exe — (N ядер ЦП, SMP);
  • ntkrnlpa.exe — (1 ядро ЦП, PAE);
  • ntkrpamp.exe — (N ядер ЦП, SMP, PAE);

Как мы знаем из теории загрузки операционной системы Windows, после передачи управления на код модуля ядра, в нем происходит последовательная инициализация множества подсистем ядра. Поэтому дизассемблируем и начинаем изучать исходный текст актуального (на моей тестовой конфигурации это был ntkrnlpa.exe) ядра. Если честно, задача перед нами стоит не такая уж и тривиальная и по уму нам предстоит проанализировать множество этапов загрузки операционной системы и попытаться связать кодовые ветвления с событиями, происходящими на экране монитора. Тем не менее, при отсутствии исходников на языке C и знаний по декомпиляции кода из машинного языка в листинг на C, разобраться в дизассемблированных исходных кодах будет непросто, благо что разработчиком предоставляются символы ядра.
Итак, выше мы уже упоминали, что визуально на экране надпись «Подождите, пожалуйста…» знаменует окончание какого-то одного этапа загрузки и переход к следующему, при том что деление это чисто формальное, но для нас оно требуется с целью упрощения понимания происходящего. Теперь, за неимением другой внятной логики, нам надо визуально привязаться к тому, что происходит на экране, но как отследить момент начала текстового этапа и его конец? Поскольку я не умею пока работать с удаленной отладкой, был использован следующий алгоритм действий: мы будем расставлять так называемые «точки зацикливания» (точки «подвисания»), представляющие собой пару машинных опкодов EB FE (команда «прыжка на месте» — jmp $) и вводящие процессор в бесконечный цикл выполнения.

Ага, прямо так вот сразу взяли и модифицировали! Не все так просто как хотелось бы, дело в том, что ядро проверяет собственную целостность, поэтому если вы не выключили проверку подлинности кода ядра (флаги DISABLE_INTEGRITY_CHECKS и TESTSIGNING), то при попытке внесения изменений ядро «валится» в BSOD. Поэтому сперва нам следует отключить проверку целостности bootmgr и winload.

Первая точка останова

Как уже было рассмотрено, процесс загрузки некоторых драйверов категории BOOT_START начинается на этапе работы модуля winload.exe. Поэтому было решено начать с модуля winload.exe и попытаться обнаружить в нем участок кода, в котором процесс загрузки может подвиснуть на том самом текстовом участке (после вывода списка драйверов и сообщения «Подождите, пожалуйста..»). Далее, мы постараемся модифицировать найденный фрагмент таким образом, чтобы ввести в бесконечный цикл (подвесить), тем самым найдя первую точку останова. Самая удачная, по моему мнению, точка — это непосредственно перед передачей управления коду ядра ntoskrnl.exe. Где осуществляется передача управления? Для выяснения этого стартуем с начала основной процедуры OslMain и доходим до её финальной части, где код передачи управления происходит через вызов процедуры OslArchTransferToKernel. Вот так выглядит обрамляющий участок кода:

.text:00401781                         loc_401781:

.text:00401781 8B 70 1C                                mov     esi, [eax+1Ch]

.text:00401784 E8 AC 7C 00 00                          call    _BlBdStop@0

.text:00401789 56                                      push    esi

.text:0040178A 53                                      push    ebx

.text:0040178B E8 50 72 04 00                          call    near ptr _OslArchTransferToKernel@8

.text:00401790

.text:00401790                         loc_401790:

.text:00401790 EB FE                                   jmp     short loc_401790

.text:00401790                         _OslpMain@4     endp

после непродолжительного оттупления, было решено заменить два маркированных (выделены цветом) пуша на инструкцию зацикленного прыжка jmp $ (опкоды EB FE). Изменения выполняем в шестнадцатеричном редакторе методом поиска длинной сигнатуры и замены (двух) байтов. После сохраняем изменений в Winload.exe, обязательно модифицируем контрольную сумму (CRC) образа, затем перезагружаемся, загрузка в безопасном режиме и.. результат:

classpnp.sys подвисает

Удача!! Произошло зависание процесса загрузки внутри «текстового» этапа на строке, содержащей имя драйвера classpnp.sys. Значит, мы попали своей модификацией в нужное место. Условимся, что отправная первая точка останова найдена.

Вторая точка останова

Теперь давайте попробуем определиться со второй точкой останова.

Как искать вторую точку? Загружаясь в безопасном режиме на нормально работающей станции, мы замечаем, что после вывода на экран имени classpnp.sys происходит кратковременная задержка и выполняется переключение между графическими режимами видеоадаптера.

Судя по всему, ядро принимает от кода модуля Winload.exe управление в собственной точке входа, которая является первой инструкцией функции KiSystemStartup. После этого процесс инициализации ядра системы проходит несколько внутренних этапов, во время которых на экране отображается все тот же «текстовый» режим (с уже знакомым нам списком загруженных драйверов). Затем происходит переключение в графический режим с разрешением 640×480 и выводом анимированного логотипа загрузки (bootscreen). Анимация этого логотипа обеспечивается группой функций с суффиксом Invb*, которые занимаются инициализацией драйвера видеокарты и последующим выводом разнообразных графических примитивов. Например, функция InbvUpdateProgressBar в определенном режиме обновляет прогресс-бар времени загрузки.
Но это все представляет для нас лишь опосредованный интерес, поскольку после текстового режима загрузка уходит в графический режим далеко не сразу. Этап с выводом логотипа находится в модуле ядра, а вот переход к следующему (графическому) этапу происходит позже, во время загрузки диспетчера (менеджера) сессий SMSS (модуль smss.exe). Вычислил я это экспериментальным путем, проставляя точки останова по ходу исполнения этапов инициализации ядра. В конце концов я обнаружил интересную процедуру с именем Phase1Initialization, в которой происходит вызов вложенной процедуры Phase1InitializationDiscard, в конце которой мы находим следующий фрагмент кода:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

. . .

INIT:007C9378                         loc_7C9378:                             ; CODE XREF: Phase1InitializationDiscard(x)+DCDj

INIT:007C9378 6A 5A                                   push    5Ah

INIT:007C937A E8 B3 D9 C3 FF                          call    _InbvUpdateProgressBar@4 ; InbvUpdateProgressBar(x)

INIT:007C937F E8 BB 00 00 00                          call    _StartFirstUserProcess@0 ; StartFirstUserProcess()

INIT:007C9384 FF 05 30 4B 57 00                       inc     _InitializationPhase

INIT:007C938A 53                                      push    ebx             ; Tag

INIT:007C938B FF 74 24 34                             push    [esp+0B8h+P]    ; P

INIT:007C938F E8 2A 47 D6 FF                          call    _ExFreePoolWithTag@8 ; ExFreePoolWithTag(x,x)

INIT:007C9394 53                                      push    ebx             ; Argument2

INIT:007C9395 53                                      push    ebx             ; Argument1

INIT:007C9396 FF 35 28 6E 54 00                       push    _ExCbPhase1InitComplete ; CallbackObject

INIT:007C939C E8 B6 83 C6 FF                          call    _ExNotifyCallback@12 ; ExNotifyCallback(x,x,x)

INIT:007C93A1 39 1D 20 CE 54 00                       cmp     _ViVerifierEnabled, ebx

INIT:007C93A7 74 07                                   jz      short loc_7C93B0

INIT:007C93A9 6A 05                                   push    5

INIT:007C93AB E8 DB D0 F7 FF                          call    _VfNotifyVerifierOfEvent@4 ; VfNotifyVerifierOfEvent(x)

. . .

Как помечено цветовой маркировкой, тут у нас вызывается функция _StartFirstUserProcess которая и создает процесс SMSS (Диспетчер сеанса/сессии, Session Manager Subsystem Service). Фактически именно в коде данной функции и происходит (визуально) переключение из графического режима 640×480 в «родное» разрешение установленного монитора (при условии, что установлены драйвера видеоадаптера и выставлено правильное разрешение). Таким образом, инструкция вызова функции _StartFirstUserProcess и знаменует собой:

  • в безопасном режиме: окончание «текстового» этапа загрузки модуля ядра;
  • в нормальном режиме: начало этапа анимированного логотипа (bootscreen);

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

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

Между точками: инициализация драйвера classpnp.sys

Помните мы говорили, что загрузка большинства драйверов происходит на этапе работы модуля Winload.exe, а вот связывание и инициализация этих драйверов происходит уже на этапе работы модуля ядра (ntoskrnl.exe). Выходит что и инициализация интересующей нас библиотеки classpnp.sys происходит на этапе функционирования ядра. Давайте проверим, могут ли проблемы с инициализацией быть причиной зависания, для этого изучим внутреннюю структуру драйвера classpnp.sys. Как и в любом другом драйвере, после загрузки в адресное пространство ядра, требуется выполнить инициализацию, поэтому вызывается процедура инициализации драйвера, которая традиционно носит название DriverEntry.

. . .

INIT:0002F048                         _GsDriverEntry@8 proc near

INIT:0002F048

INIT:0002F048                         DriverObject    = dword ptr  8

INIT:0002F048                         RegistryPath    = dword ptr  0Ch

INIT:0002F048

INIT:0002F048 8B FF                                   mov     edi, edi

INIT:0002F04A 55                                      push    ebp

INIT:0002F04B 8B EC                                   mov     ebp, esp

INIT:0002F04D E8 BD FF FF FF                          call    ___security_init_cookie

INIT:0002F052 5D                                      pop     ebp

INIT:0002F053 EB B0                                   jmp     short _DriverEntry@8

INIT:0002F053                         _GsDriverEntry@8 endp

. . .

и код вызываемой подфункции:

. . .

INIT:0002F005                         _DriverEntry@8  proc near

INIT:0002F005 33 C0                                   xor     eax, eax

INIT:0002F007 C2 08 00                                retn    8

INIT:0002F007                         _DriverEntry@8  endp

. . .

Ну и что мы тут видим? Помимо сервисной функции __security_init_cookie, которая, по заверению разработчиков, предназначается для защиты от переполнения буфера (При входе в функцию с защитой от переполнения cookie-файл помещается в стек, а при выходе значение в стеке сравнивается с глобальным cookie-файлом. Любое различие между ними указывает, что произошло переполнение буфера, что приводит к немедленному завершению работы программы), процедура инициализации этого драйвера не выполняет никаких специфических действий, по большому счету не делает вообще ничего, что могло бы её подвесить, даже не инициализирует привычных структур драйвера и не содержит никаких вложенных вызовов, просто-напросто возвращает управление с кодом STATUS_SUCCESS (EAX=0). И о чем нам это может говорить? Это говорит нам о том, что:

Сам по себе код classpnp.sys на этапе инициализации не является источником проблем, поскольку это библиотека для стороннего использования и процедура инициализации её исключительно формальна (предельно проста).

Такое возможно, однако требуется дополнительное подтверждение. Вспоминаем, что драйвер classpnp.sys является библиотекой класса устройств и его функции вызываются из других драйверов. Надо проверить все драйвера режима BOOT_START на предмет использования функций данной библиотеки. Судя по всему, функции библиотеки classpnp.sys на начальном «текстовом» этапе использует всего один-лишь драйвер disk.sys.

Между точками: инициализация драйвера disk.sys

Ну что же, тогда перейдем к драйверу disk.sys и проверить гипотезу о причастности его к подвисанию, с этой целью дизассемблируем и заглянем в код. Данный драйвер является драйвером класса дисковых накопителей и обеспечивает монтирование сконфигурированных в системе дисковых томов. В драйвере процедура инициализации (DriverEntry) выглядит уже намного сложнее, в ней мы обнаруживаем вызовы функции ClassInitialize, которая не является собственной внутренней функцией драйвера, а импортируется из библиотеки класса устройств classpnp.sys. Возможно что функция ClassInitialize может вызываться любым драйвером класса устройства при выполнении его собственной функции инициализации драйвера DriverEntry.

Один интересный момент: на экране (в списке) мы видим пункт с драйвером disk.sys ДО classpnp.sys, тем не менее, для того, чтобы disk.sys мог использовать некоторые свои функции, библиотека classpnp.sys должна быть УЖЕ загружена и инициализирована ДО загрузки и инициализации disk.sys. Этот факт лишний раз подтверждает, что та последовательность загрузки драйверов, которую мы наблюдаем на экране при запуске в защищенном режиме, всего-навсего отражает очередность загрузки драйверов/библиотек в память на этапе работы модуля загрузчика Winload, но никак не отражает очередность их инициализации на стадии ядра Ntoskrnl. Что, в свою очередь, укрепляет нас в предположении, что видимый нами последним на экране драйвер не обязательно является причиной подвисания!!

Хорошо, переключаемся на изучение исходного кода драйвера classpnp.sys и анализируем код функции ClassInitialize, а вот он то как раз ужасающе огромен :) Но ошибочные коды возврата все же удалось обнаружить:

  • Функция возвращает C0000059 (STATUS_REVISION_MISMATCH): в случае расхождения размера структуры InitializationData, фактически проверка версии файла classpnp.sys.
  • Функция возвращает C0000059 (STATUS_REVISION_MISMATCH): если требуемые поля структуры (фактически ссылки на соответствующие функции драйвера) нулевые (NULL).
  • Функция возвращает C000009A (STATUS_INSUFFICIENT_RESOURCES): если нулевое значение буфера RegistryPath.Buffer в расширениях driverExtension. То есть похоже не выделился буфер по каким-то причинам.
  • Функция возвращает C0000035 (STATUS_OBJECT_NAME_COLLISION): в любом ином случае.

Драйвер disk.sys обеспечивает функционирование стека устройств хранения в операционной системе Windows, и ниже данного драйвера в стеке располагаются:

  • драйверы многопутевого ввода-вывода (MPIO-драйвера, обеспечивающие доступность томов по нескольким путям) (mpio.sys и прч.);
  • драйверы порта (обеспечивает поддержку транспортного протокола: SCSI/SAS/SATA/ATAPI);
  • драйвер минипорта (обеспечивает функциональность контроллера на материнской плате);

Но, опять же, сам драйвер disk.sys на этапе функционирования ядра (ntoskrnl.exe) не может быть причиной зависания, поскольку тут он инициализируется: вызывается функция инициализации драйвера DriverEntry. А как мы видели выше, в процедуре инициализации в случае проблем возвращаются конкретные коды ошибок, которые будут выведены на экран в случае сбоя, что исключает «тихое» подвисание.

Что еще между точками?

Ну хорошо, помимо инициализации вышеописанных драйверов, что у нас еще расположено между найденными нами точками останова? Да там адская прорва кода!! Получается, что весь код, размещающийся от начала кода модуля ядра в функции KiSystemStartup и до окончания в функции Phase1InitializationDiscard (фактически всей фазы 1), может, потенциально, являться причиной изучаемого нами подвисания (в безопасном режиме). Да уж, тут, что называется, без комментариев!!
Но не все так страшно, как кажется на первый взгляд. В большинстве расположенного на этом участке кода ядра выполняется обработка возникающих ошибок, что тем или иным образом (в виде сообщений) становится известно пользователю. А вот где действительно могут скрываться «мертвые» зависания процесса загрузки, так это на стыке хорошо отлаженного кода ядра и кода сторонних драйверов (то есть на этапе загрузки/инициализации драйверов сторонних разработчиков). Судя по всему в ядре существуют несколько цепочек кода загрузки подобных драйверов:

  • Start = 0 (режим BOOT_START) : цепочка вызова функций IoInitSystemIopInitializeBootDriversPnpInitializeBootStartDriverIopInitializeBuiltinDriver;
  • Start = 1 (режим SYSTEM_START) : цепочка вызова функций IoInitSystemIopInitializeSystemDriversIopLoadDriverMmLoadSystemImage;
  • Start = 2 (режим AUTO_START) : цепочка вызова функций NtLoadDriverIopLoadUnloadDriverIopLoadDriverMmLoadSystemImage;
  • Start = 3 (режим DEMAND_START) : ???

Вот перечисленные то функции нам в первую очередь и интересны. В дополнение участвует функция MmLoadSystemImage, которая выполняет загрузку исполняемого образа драйвера в адресное пространство ядра (создает секции и производит связывание, заполняет таблицы импорта, перемещения, выполняет проверки безопасности и прочие задачи.). Еще одна функция IopLoadDriver работает с реестром, ответственная за открытие файла драйвера, создание объекта драйвера и передачу управления на точки входа (вызов процедуры инициализации DriverEntry). Для драйверов режима BOOT_START, функции IopLoadDriver и MmLoadSystemImage не участвуют в процессе, поскольку, как мы писали ранее, данные драйвера загружаются еще на этапе winload.exe.

Если предположить, что я допустил ошибку в оценке области подвисания, то в эту область еще должны входить последующие этапы, начиная с smss.exe и до самого logonui.exe. А мы знаем, что на этих этапах уязвимым для сбоев местом являются сервисы/службы режимов AUTO_START и DEMAND_START как загружаемые на схожих с драйверами принципах.

. . .

ПРОДОЛЖЕНИЕ СЛЕДУЕТ

. . .

Общие причины

Общие причины подвисания следующие:

  • установленное на станции железо: после загрузки общих библиотек/драйверов (в том числе и classpnp.sys) начинается перечисление устройств и загрузка драйверов к ним.
  • подключение системных томов: возможно ядро не может проинициализировать устройство (накопитель), на котором располагается один из сконфигурированных в системе разделов.
  • установленное на станции железо: возможно загрузка какого-либо драйвера устройства проводит первичную инициализацию устройства (через вызов инициализации драйвера и вложенных процедур), которая не может завершиться, подвешивая весь процесс запуска системы.

Частные причины [решения]

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

  • BIOS: перепрошивка BIOS на последнюю версию + сброс всех настроек в [Factory] Default (умолчание);
  • BIOS: замена механизма подключения дисков с AHCI → IDE (и наоборот);
  • BIOS: смена режима работы контроллера с Compatible (Legacy) Mode → Enhanced (Native) mode (и наоборот);
  • BIOS: смена режима загрузки CSM (Legacy) ↔ UEFI;
  • Железо: вышедшие из строя сторонние аппаратные модули (например: WIFI/Bluetooth/CardReader): отключение их в BIOS или (при возможности) физически на материнской плате;
  • Железо: попробовать использовать для загрузочного диска другой порт IDE/SATA на материнской плате;
  • Железо: в случае наличия в системе нескольких накопителей — поочередное отключение носителей (HDD/SSD);
  • Железо: заменить кабели данных/питания;
  • Железо: проверка утилитами SMART-мониторинга состояния основного загрузочного диска (замена в случае наличия существенных проблем);
  • Железо: проблема с модулями ОЗУ (RAM) + нестандартные настройки таймингов при использовании «нестандартных» модулей/разгоне;
  • ОС: загрузиться с LiveCD, подцепить реестр сбойной машины, в ветке HKLMSYSTEMCurrentControlSetservices пройтись по всем ключам и для каждого драйвера с параметром START = 0 проверить физическое наличие в файловой системе соответствующего файла.
  • ОС: загрузиться с LiveCD, подцепить реестр сбойной машины (ветка HKLMSYSTEMCurrentControlSetservices), пробежаться по всем ключам и для каждого драйвера этапа BOOT_START (список выше в статье) проверить чтобы параметр START был равен 0.
  • ОС: проверка файловой системы диска (команда: chkdsk c: /f /r);
  • ОС: подмена/повреждение драйверов этапа загрузки:
    • замена всего набора файлов classpnp.sys/disk.sys и остальных драйверов начальной загрузки из единого доверенного источника — работоспособной ОС аналогичной редакции (с сохранением старых, конечно же).
    • отключение проверки подписей драйверов. в меню начальной загрузки (клавиша F8 на старте) нужно отключить проверку подписей драйверов;
  • ОС: Разнообразные модификации ключевых структур разметки жесткого диска: например, сокрытие/отображение дисков при помощи сторонних утилит (Acronis);
  • ОС: Отключение любого ПО, способного вмешиваться в ранние этапы загрузки ОС: антивирусы, оптимизаторы, системы обнаружения вторжений и прочее подобное;

Выводы

При изучении некоторых функций модулей загрузки, я вышел на некий термин Adding Event Tracing to Kernel-Mode Drivers, вероятно возможность появилась начиная с версии Windows Vista. ETW и WPP — два инструмента диагностики для системных приложений (в том числе и драйверов). Интересно, можно включить через утилиту perfmon логгирование для classpnp/disk? Памятка: Группы сборщиков данных — сеансы отслеживания событий — ПКМ — создать — группа сборщиков данных — создать вручную (для опытных) — далее — в окне поставщики жмем добавить — Disk Class Driver Tracing Provider и Classpnp. Тем не менее, тут же возникает резонный вопрос: как это применимо к уже подвисающим станциям? Как на них можно включить логгирование и получить отчет?
К тому же, интересно, описанная в статье проблема зависания на classpnp.sys решена в Windows 10? И как та же логика реализована в Windows 10, имеются ли там «визуальные» зависания этапа загрузки и как изменился алгоритм обработки отказа в загрузке сторонних драйверов?

Безопасный режим загрузки Windows предназначен для устранения ошибок и других негативных последствий программных сбоев. Этот режим позволяет загрузить все необходимые драйвера.

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

не грузится CLASSPNP.SYS

не грузится CLASSPNP.SYS

CLASSPNP.SYS – библиотека, предназначенная для регулирования работы жесткого диска SCSI, следовательно любые нарушения проявляются в виде некорректной работы компьютера. Не исключено, что проблемы с библиотекой станут причиной появления Blue Screen of Death.

Содержание

  • 1 Способы решения проблемы
    • 1.1 Восстановление операционки
    • 1.2 Сканирование операционной системы на предмет вирусов
    • 1.3 Переустановка библиотеки CLASSPNP.SYS
  • 2 Заключение

Способы решения проблемы

Методы устранения ошибки подбираются в соответствии с причиной появления сбоя. Рассмотрим самые действенные варианты, позволяющие оперативно восстановить корректную работу библиотеки CLASSPNP.SYS.

Восстановление операционки

Перезагрузите ПК несколько раз. Если запуск постоянно виснет на CLASSPNP.SYS, необходимо перезагрузить компьютер. На сей раз нажмите на кнопку F8 (сразу после короткого звукового сигнала). В результате, откроется меню с дополнительными параметрами загрузки ОС.

Вы увидите сразу несколько команд, выбрать нужно «Last Known Boot Configuration (Advanced)». Если используется сборка операционки с русифицированными параметрами, то данная команда будет называться следующим образом – «Последняя удачная конфигурация (дополнительно).

выбор способа загрузки windows

выбор способа загрузки windows

Если файл CLASSPNP.SYS не поврежден, а также не был удален, то ОС загрузится корректно. Однако если проблема не исчезла, следует воспользоваться следующим способом.

Сканирование операционной системы на предмет вирусов

Понятное дело, что если ОС не загружается, то установить антивирусный софт вам не удастся. Поэтому в таких ситуациях эксперты рекомендуют использовать Rescue Disk.

Вставьте диск в привод, а потом выключите PC. Нажмите на кнопку включения и зайдите в BIOS. Придерживаемся простой пошаговой инструкции:

  1. В разделе «Boot Configuration» необходимо выбрать CD-DVD-ROM в качестве приоритетного способа загрузки.
  2. Программное обеспечение автоматически запускается с диска, пользователь сможет выполнить следующие действия: выбрать язык, управлять ПК через командную строку, загрузить графический интерфейс и т.д.
  3. Загрузите графический интерфейс, а потом запустите сканирование на наличие вредоносного ПО. Разделы, диски выбираются пользователем вручную.
  4. Вне зависимости от опасности вируса, он будет обнаружен и удален программой, даже если шпионский софт, код притаился внутри системы и замаскировался под другие файлы.
  5. Перезагрузите компьютер и убедитесь, что операционная система функционирует исправно.

Переустановка библиотеки CLASSPNP.SYS

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

Когда диск будет загружен и откроется главное меню, необходимо выбрать командную строку – «Comand Prompt». Она расположена в самом низу перечня доступных действий.

Введите «Copy», а потом пропишите команду, которая обозначит путь к исправному файлу (укажите flash-накопитель или диск). Например, если библиотека была сохранена на флешку, то вводим: название флешки:путь к файлу.

Нажмите на пробел и введите путь к папке, в которой должна находиться библиотека. Полная команда будет выглядеть следующим образом: название flash-накопителя:путь к системной библиотеке c:windowssystem32drivers.

копируем файл classpnp.sys

копируем файл classpnp.sys

Важно! Сохраняемый вами файл должен быть совместим с разрядностью операционной системы.

Восстановление Windows Boot Manager

Вставьте в привод диск с лицензионной ОС и откройте CMD. Теперь пропишите: chkdsk c: /f /r. Проверьте локальный диск, на котором сохраняются системные файлы. Восстановите Windows Boot Manager. Для этого пропишите Bootrec.exe /fixmbr и Bootrec.exe /fixboot.

Не исключено, что Windows загрузится, даже если вы не прибегали к использованию описанных выше решений проблемы. Следовательно, причина ошибки – конфликт между установленным софтом. Как показывает практика, зачастую катализатором ошибки становится Daemon Tools. Удалите программу или установите Lite версию. Еще один эффективный способ решения сложившейся проблемы – автоматическое восстановление системных библиотек с помощью специального ПО. Наиболее часто используемый софт – DLL Suite.

Заключение

Если при попытки войти в безопасный режим у вас зависает загрузка на библиотеке CLASSPNP.SYS, то скорее всего она поврежден или заражена вирусом, бывают случаи когда она вообще отсутствует. Так же проблема может возникать из-за конфликта софта. В любом случае описанные выше варианты решения проблемы вам помогут.

Оценка статьи:

Загрузка…

Windows Server 2008 R2 Classpnp Sys

Contents

  • 1 Windows Server 2008 R2 Classpnp Sys
  • 2 How To Fix Classpnp Sys Error In Windows 7 Fails To Go Into Safe Mode Stuck At Classpnp Sys
    • 2.1 Conclusion
      • 2.1.1 Related image with windows server 2008 r2 classpnp sys
      • 2.1.2 Related image with windows server 2008 r2 classpnp sys

Welcome to our blog, where knowledge and inspiration collide. We believe in the transformative power of information, and our goal is to provide you with a wealth of valuable insights that will enrich your understanding of the world. Our blog covers a wide range of subjects, ensuring that there’s something to pique the curiosity of every reader. Whether you’re seeking practical advice, in-depth analysis, or creative inspiration, we’ve got you covered. Our team of experts is dedicated to delivering content that is both informative and engaging, sparking new ideas and encouraging meaningful discussions. We invite you to join our community of passionate learners, where we embrace the joy of discovery and the thrill of intellectual growth. Together, let’s unlock the secrets of knowledge and embark on an exciting journey of exploration. Log logging boot access If options has that 2008 steps on hangs can to windows the select boot the you advanced a quotclasspnp-sysquot menu- restart migrated file server vm loggingquot driver drivers- to and enable quotenable press following boot been records that boot r2 create azure machine vm f8 troubleshooting to virtual the try a during the the

Microsoft Windows Server 2008 R2 Enterprise Edition License Key Xkeys Store

Microsoft Windows Server 2008 R2 Enterprise Edition License Key Xkeys Store

Microsoft Windows Server 2008 R2 Enterprise Edition License Key Xkeys Store
Classpnp.sys is stuck on a 2008r2 vm safe mode posted by hasayeret on feb 2nd, 2017 at 8:59 am windows server i had a hard shutdown of my equipment and as soon as it went back up i booted our dc which is a 2008r2 vmware vm. i tried both safe mode with networking and safe mode and they both got stuck on classpnp.sys any suggestions???. Safe mode crashes on classpnp.sys after doing server 2008 r2 software > backup – windows and windows server question 0 sign in to vote thought i better revise this thread as last one (had 70 views and not one reply) wasnt very structured hope this is clearer.

Windows Server 2008 R2 Beta Screenshots Gallery Redmond Pie

Windows Server 2008 R2 Beta Screenshots Gallery Redmond Pie

Windows Server 2008 R2 Beta Screenshots Gallery Redmond Pie
68 1 4,545 oct 31, 2019 #1 hi guys, please i need some help. last night there was a 0.1 second power fluctuation and i was using my laptop on «power» only. (without battery) so all electricity just. Hi, i tried severals recovery methods but i still have crashing the server. i already tried safe mode and all the variants. i also try starting with winre cd installation, i could check the partitions with diskpart and all is ok, i try to use startrep.exe but the program could not repair automatically, and shows as a root cause that unspecified. Options i am not able to boot into windows after changing hardware of my server. old hardware: [*]gigabyte ga g41mt s2pt motherboard (socket lga 775) [*]intel quad core 2.5ghz cpu [*]2x transcend 4gb ddr 1333 dimms new hardware: [*]intel round lake lga 1150 motherboard [*]intel core i5 4670 3.40ghz 6mb cache skt 1150. If a windows server 2008 r2 virtual machine (vm) that has been migrated to azure hangs on the «classpnp.sys» driver, you can try the following troubleshooting steps: enable boot logging: restart the vm and press f8 during boot to access the advanced boot options menu. select «enable boot logging» to create a log file that records the drivers.

How To Fix Classpnp Sys Error In Windows 7 Fails To Go Into Safe Mode Stuck At Classpnp Sys

How To Fix Classpnp Sys Error In Windows 7 Fails To Go Into Safe Mode Stuck At Classpnp Sys

how to fix classpnp.sys error in operating system windows 7 fails to go into safe mode stuck at classpnp.sys fixing windows 7 stuck on classpnp.sys helpful? please support me on patreon: patreon roelvandepaar with setalah ganti motherboard malah tidak bisa masuk windows, dan jika masuk safe mode juga stuck pada classpnp.sys untuk windows 7 restart automatically classpnp.sys error in safe mode need help. how to fix classpnp.sys blue screen in windows 10. back up and restore the system state in windows server 2008 r2 1. prepare dc1 : domain controller (pns.vn) ; ip 10.0.0.1 this password reset applies to windows server 2008 r2 and windows server 2008 enterprise edition. to reset windows server wds and active directory rely on guids to push the correct images down to machines. what if you can’t find the guid. comment in english! comenten en español! komentujte po slovensky! recovering the server part 1 winload.exe is missing i covered this topic in a detailed blog post on how to upgrade from windows server 2008 r2 to windows server 2022. can you

Conclusion

All things considered, there is no doubt that article provides valuable information about Windows Server 2008 R2 Classpnp Sys. From start to finish, the author demonstrates a wealth of knowledge on the topic. In particular, the section on Z stands out as a highlight. Thank you for taking the time to the post. If you would like to know more, feel free to reach out through social media. I am excited about hearing from you. Additionally, here are some relevant content that you may find useful:

Windows Server 2008 R2 Enterprise Windows Server 2008 R2 Datacenter Windows Server 2008 R2 for Itanium-Based Systems Windows Server 2008 R2 Foundation Windows Server 2008 R2 Standard Windows Server 2008 R2 Web Edition Windows 7 Enterprise Windows 7 Home Basic Windows 7 Home Premium Windows 7 Professional Windows 7 Starter Windows 7 Ultimate More…Less

Introduction

This article describes a hotfix that logs an event for the errors that originate from dropped frames or dropped requests on a Fibre Channel (FC) network. After you install the hotfix, an event is logged to record the retry that was performed. The following event is logged in the event log when the dropped frames or the dropped requests are retried: Note When there is a congestion or connection issue in the FC, the following two hardware errors are generated in the event log:

INITIATOR RESPONSE TIMEOUT

TIMEOUT ON LOGICAL UNIT

If the system receives one of these I/O errors, the system silently retries. Because there is no indication of the retry activity, when an application becomes unresponsive during this time, users may misinterpret that as a system freeze. Additionally, in the Microsoft Multipath I/O (MPIO) configuration, the failover operation does not start.

Resolution

Hotfix information

A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing the problem described in this article. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.

If the hotfix is available for download, there is a «Hotfix download available» section at the top of this Knowledge Base article. If this section does not appear, contact Microsoft Customer Service and Support to obtain the hotfix.

Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft website:

http://support.microsoft.com/contactus/?ws=supportNote The «Hotfix download available» form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.

Prerequisites

To apply this hotfix, you must be running Windows 7 Service Pack 1 (SP1) or Windows Server 2008 R2 SP1.

For more information about how to obtain a Windows 7 or Windows Server 2008 R2 service pack, click the following article number to view the article in the Microsoft Knowledge Base:

976932Information about Service Pack 1 for Windows 7 and for Windows Server 2008 R2

Registry information

To apply this hotfix, you do not have to make any changes to the registry.

Restart requirement

You must restart the computer after you apply this hotfix.

Hotfix replacement information

This hotfix does not replace a previously released hotfix.

The global version of this hotfix installs files that have the attributes that are listed in the following tables. The dates and the times for these files are listed in Coordinated Universal Time (UTC). The dates and the times for these files on your local computer are displayed in your local time together with your current daylight saving time (DST) bias. Additionally, the dates and the times may change when you perform certain operations on the files.

Windows 7 and Windows Server 2008 R2 file information notes
Important Windows 7 hotfixes and Windows Server 2008 R2 hotfixes are included in the same packages. However, hotfixes on the Hotfix Request page are listed under both operating systems. To request the hotfix package that applies to one or both operating systems, select the hotfix that is listed under «Windows 7/Windows Server 2008 R2» on the page. Always refer to the «Applies To» section in articles to determine the actual operating system that each hotfix applies to.

  • The files that apply to a specific product, SR_Level (RTM, SPn), and service branch (LDR, GDR) can be identified by examining the file version numbers as shown in the following table:

    Version

    Product

    Milestone

    Service branch

    6.1.760
    1.22xxx

    Windows 7 and Windows Server 2008 R2

    SP1

    LDR

  • The MANIFEST files (.manifest) and the MUM files (.mum) that are installed for each environment are listed separately in the «Additional file information for Windows 7 and for Windows Server 2008 R2» section. MUM and MANIFEST files, and the associated security catalog (.cat) files, are extremely important to maintaining the state of the updated component. The security catalog files, for which the attributes are not listed, are signed with a Microsoft digital signature.

For all supported x86-based versions of Windows 7

File name

File version

File size

Date

Time

Platform

Classpnp.sys

6.1.7601.22269

141,656

27-Feb-2013

04:29

x86

Iologmsg.dll

6.1.7601.22269

2,048

27-Feb-2013

04:22

x86

For all supported x64-based versions of Windows 7 and of Windows Server 2008 R2

File name

File version

File size

Date

Time

Platform

Classpnp.sys

6.1.7601.22269

180,584

27-Feb-2013

05:25

x64

Iologmsg.dll

6.1.7601.22269

2,048

27-Feb-2013

05:18

x64

For all supported IA-64-based versions of Windows Server 2008 R2

File name

File version

File size

Date

Time

Platform

Classpnp.sys

6.1.7601.22269

378,216

27-Feb-2013

04:33

IA-64

Iologmsg.dll

6.1.7601.22269

2,048

27-Feb-2013

04:26

IA-64

Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the «Applies to» section.

More Information

For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:

824684Description of the standard terminology that is used to describe Microsoft software updates

Additional file information for Windows 7 and for Windows Server 2008 R2

Additional files for all supported x86-based versions of Windows 7

File name

X86_microsoft-windows-classpnp_31bf3856ad364e35_6.1.7601.22269_none_17e308c82395bd84.manifest

File version

Not applicable

File size

12,448

Date (UTC)

27-Feb-2013

Time (UTC)

04:56

Platform

Not applicable

File name

X86_microsoft-windows-iologgingdll_31bf3856ad364e35_6.1.7601.22269_none_b93de05973ead173.manifest

File version

Not applicable

File size

2,648

Date (UTC)

27-Feb-2013

Time (UTC)

04:55

Platform

Not applicable

Additional files for all supported x64-based versions of Windows 7 and of Windows Server 2008 R2

File name

Amd64_microsoft-windows-classpnp_31bf3856ad364e35_6.1.7601.22269_none_7401a44bdbf32eba.manifest

File version

Not applicable

File size

12,450

Date (UTC)

27-Feb-2013

Time (UTC)

06:20

Platform

Not applicable

File name

Amd64_microsoft-windows-iologgingdll_31bf3856ad364e35_6.1.7601.22269_none_155c7bdd2c4842a9.manifest

File version

Not applicable

File size

2,652

Date (UTC)

27-Feb-2013

Time (UTC)

06:18

Platform

Not applicable

Additional files for all supported IA-64-based versions of Windows Server 2008 R2

File name

Ia64_microsoft-windows-classpnp_31bf3856ad364e35_6.1.7601.22269_none_17e4acbe2393c680.manifest

File version

Not applicable

File size

12,449

Date (UTC)

27-Feb-2013

Time (UTC)

04:57

Platform

Not applicable

File name

Ia64_microsoft-windows-iologgingdll_31bf3856ad364e35_6.1.7601.22269_none_b93f844f73e8da6f.manifest

File version

Not applicable

File size

2,650

Date (UTC)

27-Feb-2013

Time (UTC)

04:56

Platform

Not applicable

Need more help?

Want more options?

Explore subscription benefits, browse training courses, learn how to secure your device, and more.

Communities help you ask and answer questions, give feedback, and hear from experts with rich knowledge.

  • Classic windows shell windows 10 скачать бесплатно на русском
  • Clash of clans скачать для windows 10
  • Classic start menu windows 10 как отключить
  • Classicshellsetup для windows 10 rus
  • Clang windows iostream file not found