Çözüldü MULTIPLE_IRP_COMPLETE_REQUESTS (44) mavi ekran hatası

  • Konuyu başlatan Konuyu başlatan Mienaki
  • Başlangıç Tarihi Başlangıç Tarihi
  • Mesaj Mesaj 34
  • Görüntüleme Görüntüleme 1B
Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Mienaki

Uzman
Katılım
26 Eylül 2024
Mesajlar
49
Beğeniler
6

Merhaba, iyi geceler. Tekrardan rahatsız ettim kusura bakmayınız.. Ayın 27'sinde hata almıştım en son 13 gün önce ve şu an tekrarladı. Minidump dosyasını paylaşmak istedim. Portların yerini değiştirip kullanıyordum ve hiçbir sorun yoktu ama birden takıldı tekrar "tııır" sesi ve siyah ekran ile reset atmak zorunda kaldım.
 
Son düzenleyen: Moderatör:
Çözüm
Rich (BB code):
KMODE_EXCEPTION_NOT_HANDLED (1e)
This is a very common BugCheck.  Usually the exception address pinpoints
the driver/function that caused the problem.  Always note this address
as well as the link date of the driver/image that contains this address.
Arguments:
Arg1: ffffffff80000003, The exception code that was not handled
Arg2: fffff807dfe79470, The address that the exception occurred at
Arg3: 0000000000000000, Parameter 0 of the exception
Arg4: fffff807dfe79470, Parameter 1 of the exception

Gördüğümüz gibi oldukça genel bir hata kontrolümüz var. Bunlar, kendileri için işleyici yazılmamış ya da yapılandırılmış istisna işleme kullanılarak yakalanamayan istisnaların atılmasından kaynaklanıyor. Örneğin, PageFault, try-catch deyimi ile ele alınamayan bir istisnadır.

İşlenmeyen istisna nedir?

Rich (BB code):
0: kd> !error 80000003
Error code: (HRESULT) 0x80000003 (2147483651) - Bir veya daha fazla bağımsız değişken geçersiz

İstisnaya sebep olan fonksiyon nedir?

Rich (BB code):
0: kd> ln fffff807dfe79470
Browse module
Set bu breakpoint

(fffff807`dfe79470)   nt!DbgBreakPoint   |  (fffff807`dfe79480)   nt!DbgUserBreakPoint
Exact matches:

Microsoft'un bunun hakkındaki belgelemesine bakarsak:


Bu neden sistemin mavi ekran verdiğini açıklıyor. Lakin ne yüzünden verdiğini açıklamıyor, Yığıtlara bakarak bunu çözebiliriz;


Rich (BB code):
0: kd> k
 # Child-SP RetAddr Call Site
00 fffff807`71b950c8 fffff807`dff2a112 nt!KeBugCheckEx
01 fffff807`71b950d0 fffff807`e003d172 nt!KiFatalExceptionHandler+0x22
02 fffff807`71b95110 fffff807`dfd52302 nt!RtlpExecuteHandlerForException+0x12
03 fffff807`71b95140 fffff807`dfd53469 nt!RtlDispatchException+0x2d2
04 fffff807`71b958a0 fffff807`e0033d92 nt!KiDispatchException+0xac9
05 fffff807`71b95fb0 fffff807`e0033d60 nt!KxExceptionDispatchOnExceptionStack+0x12
06 fffff807`71b84128 fffff807`e0047c3e nt!KiExceptionDispatchOnExceptionStackContinue
07 fffff807`71b84130 fffff807`e003fe9b nt!KiExceptionDispatch+0x13e
08 fffff807`71b84310 fffff807`dfe79471 nt!KiBreakpointTrap+0x35b < Çökme 
09 fffff807`71b844a8 fffff807`71532260 nt!DbgBreakPoint+0x1
0a (Inline Function) --------`-------- Wdf01000!Mx::MxDbgBreakPoint+0xc
0b fffff807`71b844b0 fffff807`714c6f0d Wdf01000!FxVerifierDbgBreakPoint+0x50
0c (Inline Function) --------`-------- Wdf01000!FxVerifierCheckIrqlLevel+0xc43 < Doğrulama kontrolü 
0d fffff807`71b844f0 fffff807`65932fab  Wdf01000!imp_WdfUsbTargetDeviceSendControlTransferSynchronously+0xf7d
0e fffff807`71b848c0 00000000`00000000 sshid+0x2fab

Verifier'in önemini şimdi anlamış olduk. Sorunun sebebini ilk çökmede verdi kendi dosyası olmasa bile. SteelSeries sürücüsü dediğim gibi, en başından beri. Bir USB aygıtına Senkranizasyon kontrolü yapılıyor ve burada bir breakpoint yakalıyor sistem/Verifier. Nerede çöktüğümüzü ve ayrıca önceden çağrılan sorunlu bir sürücüyü görebiliyoruz kırmızı ile. Yığına dikkat edersen Wdf01000!FxVerifierCheckIrqlLevel ve Wdf01000!FxVerifierDbgBreakPoint. Artık kesme noktasının neden çağrıldığını biliyoruz, FxVerifierCheckIrqlLevel işlevi tarafından bir hata ayıklayıcının içeri girmesini ve geliştiricinin sürücüsünün neden çöktüğünü görmesini sağlamak için kullanılıyor. SSHID, yanlış IRQL düzeyinde çağırılıyor bu da çökmeye direkt olarak sebep olması için yeterlidir çünkü IRQL 2 düzeyinde Kernel bir sürücünün herhangi bir işlevinin yaptığı bir yanlış sistemi çökertecek düzeyde olur.

Rich (BB code):
0: kd> !irql
Debugger saved IRQL for processor 0x0 -- 2 (DISPATCH_LEVEL)

Sürücünün doğrulama kontrolünde başarısız olduğunu ve bu nedenle kesme noktasının çağrıldığını varsayabiliriz, ancak bunu !wdflogdump komutunu kullanarak kesin olarak doğrulayabilirdik ama,

Dosya da her zamanki gibi yetersiz:[

Rich (BB code):
0: kd> !wdflogdump sshid
ReadListEntry failed
Warning: It looks like you're using the WDF debugger extension on a WDM
         driver. Framework logs will not be available

Muhtemelen karşılaşacağımız hata bu olacaktı:

Rich (BB code):
38: FxPkgPnp::HandleQueryBusRelations - WDFDEVICE 00001BF908FB2F68 returning 3 devices in relations FFFF820D1551C5D0
39: FxVerifierCheckIrqlLevel - Called at wrong IRQL; at level 2, should be at level 0


Sshid, açıkça çökmeye sebep oluyor. SS klavye sürücüsünü kaldırmalısın. Aygıt yöneticisi üzerinde bulabiliyor olman lazım ilgili sürücüyü, HID olmadan SS Keyboard aygıtı olarak ekli olması lazım...

Rich (BB code):
0: kd> lmvmsshid
Browse full module list
start             end                 module name
fffff807`65930000 fffff807`6593d000   sshid    T (no symbols)           
    Loaded symbol image file: sshid.sys
    Image path: sshid.sys
    Image name: sshid.sys
    Browse all global symbols  functions  data
    Timestamp:        Thu Feb 24 06:09:08 2022 (6216F6D4) 
    CheckSum:         00018401
    ImageSize:        0000D000
    Translations:     0000.04b0 0000.04e4 0409.04b0 0409.04e4
    Information from resource tables:
Rich (BB code):
MULTIPLE_IRP_COMPLETE_REQUESTS (44)
A driver has requested that an IRP be completed (IoCompleteRequest()), but
the packet has already been completed.  This is a tough bug to find because
the easiest case, a driver actually attempted to complete its own packet
twice, is generally not what happened.  Rather, two separate drivers each
believe that they own the packet, and each attempts to complete it.  The
first actually works, and the second fails.  Tracking down which drivers
in the system actually did this is difficult, generally because the trails
of the first driver have been covered by the second.  However, the driver
stack for the current request can be found by examining the DeviceObject
fields in each of the stack locations.
Arguments:
Arg1: ffffc702ab9f0010, Address of the IRP
Arg2: 0000000000001311
Arg3: 0000000000000000
Arg4: 0000000000000000

Tekrardan bahsetmek gerekirse, işaretlenen metin, hatanın tüm sebebini açıklıyor; Bir IRP rutininin, aynı rutinin art arda, aynı şekilde "iki kere" tamamlanması bellekteki IRP yapısını bozar. Yani, temel olarak bu hata; mevcut I/O yığın konumunu bir sonraki sürücünün I/O yığın konumuna kopyalamaktır. Sorun şu ki, mevcut yığın konumunun içeriğini bir sonraki yığın konumuna kopyalamak, G/Ç tamamlama rutinini de onunla birlikte kopyalar. Geçerli yığın konumunda tamamlama yordamı olmadığı sürece bu işlem sorunsuz çalışır. Bir tamamlama rutini sağlanmışsa, artık iki farklı G/Ç yığın konumunda görünecek ve bunun bariz sonucu olarak iki kez çağrılacaktır. Bu genellikle iyi değildir ve sonuçta bozulan bu IRP yapısı sistemi ya mavi ekrana ya da kararsızlığa, donmalara ittirecektir.

Rich (BB code):
0: kd> !irp ffffc702ab9f0010 1
Irp is active with 21 stacks 18 is current (= 0xffffc702ab9f05a8)
 No Mdl: No System Buffer: Thread 00000000:  Irp stack trace.
Tail.Overlay.Thread = 00000000
Tail.Overlay.AuxiliaryBuffer = 00000000
Tail.Overlay.ListEntry.Flink = ffffc702ab9f00b8
Tail.Overlay.ListEntry.Blink = ffffc702ab9f00b8
Tail.Overlay.CurrentStackLocation = ffffc702ab9f05a8
Tail.Overlay.OriginalFileObject = 00000000
Tail.Apc = 00000000
Tail.CompletionKey = 00000000
     cmd  flg cl Device   File     Completion-Context
 [N/A(0), N/A(0)]
            0  0 00000000 00000000 00000000-00000000 
[....]
            Args: 00000000 00000000 00000000 00000000
>[IRP_MJ_INTERNAL_DEVICE_CONTROL(f), N/A(0)]
            0  1 ffffc702926d7e00 00000000 00000000-00000000    pending
          ffffc702926d7e00: Could not read device object or _DEVICE_OBJECT not found

            Args: fffff8057ef5c4c8 00000000 0x220003 ffffc702a7db76f0
 [IRP_MJ_INTERNAL_DEVICE_CONTROL(f), N/A(0)]
            0 e0 ffffc70293009ce0 00000000 00000000-00000000    << Aynı rutinin "ikinci defa" ivedilikle tamamlanması 
          ffffc70293009ce0: Could not read device object or _DEVICE_OBJECT not found

            Args: fffff8057ef5c4c8 00000000 0x220003 ffffc702a7db76f0
 [IRP_MJ_INTERNAL_DEVICE_CONTROL(f), N/A(0)]
            0 e1 ffffc70293009ce0 00000000 00000000-00000000    pending
          ffffc70293009ce0: Could not read device object or _DEVICE_OBJECT not found

            Args: fffff8057ef5c4c8 00000000 0x220003 ffffc702a7db76f0
 [IRP_MJ_INTERNAL_DEVICE_CONTROL(f), N/A(0)]
            0 e0 ffffc702b0d45a00 00000000 00000000-00000000 
          ffffc702b0d45a00: Could not read device object or _DEVICE_OBJECT not found

            Args: fffff8057ef5c4c8 00000000 0x220003 ffffc702a7db76f0

IRP rutinlerinin detayına inip döndürdüğü duruma bakmak isterdim ama bu dosya bunun için bir tık yetersiz ama şuna bakabiliriz:

Rich (BB code):
0: kd> dt _IO_STACK_LOCATION ffffc702ab9f05a8+0x48
Wdf01000!_IO_STACK_LOCATION
   +0x000 MajorFunction    : 0xf ''
   +0x001 MinorFunction    : 0 ''
   +0x002 Flags            : 0 ''
   +0x003 Control          : 0xe0 ''
   +0x008 Parameters       : _IO_STACK_LOCATION::<unnamed-type-Parameters>
   +0x028 DeviceObject     : 0xffffc702`93009ce0 _DEVICE_OBJECT
   +0x030 FileObject       : (null)
   +0x038 CompletionRoutine : 0xfffff805`ecc3e500     long  nt!IopUnloadSafeCompletion+0
   +0x040 Context          : 0xffffc702`b18c8f30 Void

Rich (BB code):
nt!IopUnloadSafeCompletion+0x4c:
fffff805`ecc3e54c 498b28          mov     rbp,qword ptr [r8]
fffff805`ecc3e54f ba496f4370      mov     edx,70436F49h
fffff805`ecc3e554 488bcd          mov     rcx,rbp
fffff805`ecc3e557 e83419fdff      call    nt!ObfReferenceObjectWithTag (fffff805`ecc0fe90) < deviceObject tanıtıcısı
fffff805`ecc3e55c 488b4310        mov     rax,qword ptr [rbx+10h]
fffff805`ecc3e560 488bd7          mov     rdx,rdi
fffff805`ecc3e563 4c8b4308        mov     r8,qword ptr [rbx+8]
fffff805`ecc3e567 498bce          mov     rcx,r14
fffff805`ecc3e56a e821e74300      call    nt!guard_dispatch_icall (fffff805`ed07cc90) < Complete rutini
fffff805`ecc3e56f 33d2            xor     edx,edx
fffff805`ecc3e571 488bcb          mov     rcx,rbx
fffff805`ecc3e574 8bf0            mov     esi,eax
fffff805`ecc3e576 e845278f00      call    nt!ExFreePoolWithTag (fffff805`ed530cc0) < Belirtilen işaretle deviceObject'i serbest bırak
fffff805`ecc3e57b 833d964ad80000  cmp     dword ptr [nt!ObpTraceFlags (fffff805`ed9c3018)],0
fffff805`ecc3e582 7415            je      nt!IopUnloadSafeCompletion+0x99 (fffff805`ecc3e599)  Branch

Bağlam nesnesinde saklanan bir işaretçi aracılığıyla cihaz nesnesine bir tanıtıcı açılır. Daha sonra tamamlama rutini çağrılır ve bağlam nesnesi için havuz tahsisi belirtilen işaretle serbest bırakılır ardından bağlam nesnemizi kapatır ve referans sayısını azaltırız.

Rich (BB code):
0: kd> k
 # Child-SP          RetAddr               Call Site
00 fffff805`7ef654c8 fffff805`ecc327f7     nt!KeBugCheckEx
01 fffff805`7ef654d0 fffff805`ecc31453     nt!IopfCompleteRequest+0x1377 < Tekrar tamamlanan rutin
02 fffff805`7ef65610 fffff805`7e8d59ae     nt!IofCompleteRequest+0x13 < Tamamlanan rutin
03 (Inline Function) --------`--------     Wdf01000!FxIrp::CompleteRequest+0x13
04 fffff805`7ef65640 fffff805`7e8d4fc7     Wdf01000!FxRequest::CompleteInternal+0x13e
05 (Inline Function) --------`--------     Wdf01000!FxRequest::Complete+0x35
06 fffff805`7ef656d0 fffff805`8b4665c4     Wdf01000!imp_WdfRequestComplete+0xa7
07 fffff805`7ef65750 fffff805`8b4661fe     USBXHCI!Control_Transfer_CompleteCancelable+0x154 < Sorunlu bir data aktarımı? - USB tarafından işleniyor
08 fffff805`7ef657f0 fffff805`8b465e40     USBXHCI!Control_ProcessTransferEventWithED1+0x39e
09 fffff805`7ef65880 fffff805`8b47881e     USBXHCI!Control_EP_TransferEventHandler+0x10
0a fffff805`7ef658b0 fffff805`8b4778d2     USBXHCI!Endpoint_TransferEventHandler+0x8e
0b fffff805`7ef65910 fffff805`8b4775cc     USBXHCI!Interrupter_DeferredWorkProcessor+0x2f2
0c fffff805`7ef65a50 fffff805`7e8d3021     USBXHCI!Interrupter_WdfEvtInterruptDpc+0xc
0d (Inline Function) --------`--------     Wdf01000!FxInterrupt::DpcHandler+0x69
0e fffff805`7ef65a80 fffff805`ecc8248e     Wdf01000!FxInterrupt::_InterruptDpcThunk+0xb1
0f fffff805`7ef65ad0 fffff805`eccf9a5b     nt!KiExecuteAllDpcs+0x67e
10 fffff805`7ef65d20 fffff805`ed07b8e5     nt!KiRetireDpcList+0x36b
11 fffff805`7ef65fb0 fffff805`ed07b88f     nt!KxSwapStacksAndRetireDpcList+0x5
12 fffff507`4e0d6ac0 fffff805`ecccaae5     nt!KiPlatformSwapStacksAndCallReturn
13 fffff507`4e0d6ad0 fffff805`ed07b0bb     nt!KiDispatchInterrupt+0x65
14 fffff507`4e0d6b00 fffff805`ed075d54     nt!KiDpcInterruptBypass+0x1b
15 fffff507`4e0d6b30 fffff805`ed2cd301     nt!KiInterruptDispatch+0x64
16 fffff507`4e0d6cc0 fffff805`ed2ccce3     nt!MiAllocateVirtualMemoryPrepare+0x4d1 < Memory Manager işlemleri tarafından tahsis edilen belleğin hazır edilmesi
17 fffff507`4e0d6d50 fffff805`ed087158     nt!NtAllocateVirtualMemory+0x193 < Sanal belleği tahsis et
18 fffff507`4e0d6ef0 fffff805`ed075620     nt!KiSystemServiceCopyEnd+0x28
19 fffff507`4e0d70f8 fffff805`93d630a6     nt!KiServiceLinkage
1a fffff507`4e0d7100 fffff805`93d62eee     dxgmms2!VIDMM_RECYCLE_MULTIRANGE::Reset+0x12e < MultiRange, yani birden fazla aralıktaki belleği sıfırla
1b fffff507`4e0d71a0 fffff805`93d5810c     dxgmms2!VIDMM_RECYCLE_HEAP_MGR::Reset+0x6e < Yığın kaynaklarını sıfırla
1c fffff507`4e0d7260 fffff805`93d55ef1     dxgmms2!VIDMM_GLOBAL::ResetBackingStore+0x164 < Arka plan kaynaklarını sıfırla
1d fffff507`4e0d7330 fffff805`93d55a5e     dxgmms2!VIDMM_MEMORY_SEGMENT::TransferToSegment+0x185
1e fffff507`4e0d74d0 fffff805`93d6c314     dxgmms2!VIDMM_MEMORY_SEGMENT::CommitResource+0x6e
1f fffff507`4e0d7570 fffff805`93d6a68a     dxgmms2!VIDMM_PHYSICAL_ADAPTER::CommitResources+0x74
20 fffff507`4e0d75e0 fffff805`93d69ce6     dxgmms2!VIDMM_PHYSICAL_ADAPTER::PageInAllocation+0x2ba
21 fffff507`4e0d7680 fffff805`93d4d226     dxgmms2!VIDMM_GLOBAL::PageInOneAllocation+0x106 < Tahsis edilen belleği Page'e al
22 fffff507`4e0d7810 fffff805`93d4beae     dxgmms2!VIDMM_GLOBAL::ProcessDeferredCommand+0x1e6 < Geciktirilmiş komutları işle
23 fffff507`4e0d7a00 fffff805`ece5652a     dxgmms2!VidMmWorkerThreadProc+0x6de
24 fffff507`4e0d7bb0 fffff805`ed074c94     nt!PspSystemThreadStartup+0x5a
25 fffff507`4e0d7c00 00000000`00000000     nt!KiStartSystemThread+0x34

Spesifik olarak, özellikle CompleteCancelable gibi bir çağrı yapılması da genellikle iki sürücü bağımsız olarak aynı IRP'yi tamamlamaya veya yönetmeye çalıştığında ortaya çıkar ve çift tamamlamaya yol açar.

Rich (BB code):
      Device Name: ATK Mouse 8K Dongle
         Attached: 1
    Controller ID: 0x0

Bu Mouse ile ilgili bir sorun yaşıyor musun? Benim bildiğim bu üreticide özellikle fazla dongle sorunu olduğu. Bu mavi ekranların tam olarak nasıl ve ne zaman ortaya çıktığını bilmesem de önerim olabilir: Bu arkadaşı 8K olarak kullanıyorsan bunu azaltmayı deneyebilirsin..

Rich (BB code):
0: kd> lmvmsshid
Browse full module list
start             end                 module name
fffff805`94830000 fffff805`9483d000   sshid      (deferred)           
    Image path: sshid.sys
    Image name: sshid.sys
    Browse all global symbols  functions  data
    Timestamp:        Thu Feb 24 06:09:08 2022 (6216F6D4)
    CheckSum:         00018401
    ImageSize:        0000D000
    Translations:     0000.04b0 0000.04e4 0409.04b0 0409.04e4
    Information from resource tables:

SteelSeries yazılımını da bir süreliğine kaldır. Sonra Dump oluşturma seçeneklerinden oluşturma ayarını "Otomatik bellek dökümü" olarak ayarla. Bu böyle hep aynı dosyayı tekrarlamasına incelemekle olacak iş değil, daha detaylı bir döküm daha rahat çözüme ulaştıracaktır.

Lütfen yazılımımı indirip Masaüstüne oluşan klasörde MEMORY.DMP dosyası var mı diye kontrol et. Eğer yoksa bir üstteki paragrafı uygula.
 


Buyurun belirttiğiniz gibi indirip dumpfinder ile tarattım ve masaüstündeki klasörü sizinle paylaşıyorum

Bu arada ATK mouse yokken de aynı sorunu yaşıyordum SteelSeries yüklü bile değil bilgisayarım da sadece klavyesini ve kulaklığını kullanıyorum uygulamayı yüklemekten hep kacındım fakat nasıl sistem uygulamayı görüyor onu anlamış değilim.
 
Sürücünün yüklenmesi (HID Aygıt sürücüsü) bu arkadaşların çalışması için de gerekli olabilir. Lakin benim anlamadığım bu sorunun yaklaşık 2 haftada bir tekrarlaması. Mouse yokken de yaşıyordun, tam olarak ne zaman başladığına dair bir tahminin var mı? Farklı klavye ile denemeni de önereceğim en son çünkü. Mümkünse dump oluşturma ayarını şekildeki gibi ayarlayıp sonraki çökmeni beklemek önereceğim şey olacak, hala muallak çünkü.
 

Bir ara elektrik gitti geldi o zaman mı başladı ya da yeni klavye alınca mı başladı tam emin değilim ama bayağıdır var. 2021'in sonlarında gibi falan başladı cünkü Lost Ark EU yeni cıkmıştı da oradan hatırlıyorum. En kısa art arda 2 gün içinde verdiğini biliyorum, en uzun da 15 ila 30 gün arası fakat 10 günü geçtikten sonra olma ihtimali artıyor sanırım, anlamadım tuhaf. Peki, klavye değiştir dedin - cok güzel bir öneri fakat klavyenin ne alakası olabilir ki? Onu tam anlayamadım. Yani sonuç olarak şu an piyasadaki en pahalı klavyelerden bir tane belki. Ne gibi bir sorun yaşatabilir? Ayrıca SteelSeries uygulaması da yok. kullanımında da bir problem yaşamadım fakat bu tür sorunun detayını anlayamadım.
 
Son düzenleyen: Moderatör:
Bu sorun tamamen USB aygıtlarından çıkmıyor. Zamanında Hamachi bu soruna sebep oluyordu ama yine bu şekilde minidump değil, Memory.DMP üzerinden belli oluyordu. Ben şu an yapabileceğim en iyi şeyi yapıp sana yardımcı olmaya çalışıyorum. Direkt klavye sorun değil ama klavyenin sisteme yüklediği HID sürücüsü sorun olabilir. Bunu anlamaya çalışıyoruz sadece, klavyeni çöpe at değil yani mevzu. Bu yüzden sistemine çekirdek dökümü ayarlaması için ayar ver ve çökmeyi bekle ya da klavyeni çıkarıp kontrol et. Bu seçim sana ait, biz buradayız. Anlamaya çalışıyoruz..
 

Şu an tekrar verdi. Sadece bunu bir kez yapmıştı, şimdi 2. kez yaptı 2 gün üst üste.

Nasıl yapacağımı adım adım anlatır mısın? Ve önceki gibi bilgisayar acılmayıp başlangıç ekranında kalırsa ne yapmalıyım?
 
Son düzenleyen: Moderatör:
O zaman artık benim dediğim ilk yönteme geri dönelim bence. Aşağıdaki adımları tek tek uygula ve konuya dönüş yap.

1. Bir Sistem Geri Yükleme noktası oluştur veya sistem sürücünün disk görüntüsünü al [Disk klonlama mantığı] (Acronis, Macrium Reflect gibi uygulamalar). Sürücü Doğrulayıcı'nın önyükleme sırasında bir sürücüyü mavi ekrana düşürmesi mümkündür (bazı sürücüler önyükleme sırasında yüklenir). Böyle bir durumda önyükleme-BSOD döngüsüne takılırsın.

Önyükleme-BSOD döngüsüne girersen, Windows yükleme medyasını önyüklersin ve bunu kullanarak sistem geri yüklemeyi çalıştırırsın ve Driver Verifier'ı kaldırmak ve yeniden sistemi başlatmak için oluşturduğun geri yükleme noktasına geri yükleyebilirsin. Alternatif olarak, aldığın disk görüntüsünü geri yüklemek için Acronis, Macrium Reflect veya benzeri bir önyükleme medyası kullanabilirsin.

Kurtarma menüsüne düşüp da dosyanı almak istiyorsan sistemi güvenli modda açabilirsin. Bu modda verifier çalışmaz. Yine açılmıyorsa CMD'i kurtarma menüsünden açıp notepad.exe ile sürücünün içini kontrol edebilirsin bir minidump için. O da çalışmazsa Hiren ile USB üzerinden boot edip sürücünü kontrol edebilirsin. (BitLocker koruması olmadığına dikkat et.)

Lütfen bu adımı atlama. Driver Verifier önyükleme-BSOD döngüsünden çıkmanın tek yolu budur.

2. Çalıştır komut kutusuna ya da bir komut istemine Verifier komutunu girerek Driver Verifier kurulum ekranını başlat.

3. Bu ilk karşına çıkan ekranda, ikinci seçenek olan 'Özel ayarlar oluştur (kod geliştiriciler için)' için radyo düğmesine tıkla ve sonra İleri düğmesine tıkla.

4. İkinci ekranda aşağıdaki testler için onay kutularını işaretle:
  • Special Pool
  • Force IRQL checking
  • Pool Tracking
  • Deadlock Detection
  • Security Checks
  • Miscellaneous Checks
  • Power framework delay fuzzing
  • DDI compliance checking
Ardından İleri düğmesine tıkla.

5. Bir sonraki ekranda, son seçenek olan 'Sürücü adlarını listeden seç' için radyo düğmesini tıkla ve İlerle.

6. Bir sonraki ekranda 'Provider' başlığına tıkla; bu sürücüleri bu sütunda sıralayacaktır (Microsoft sürücülerini ayırmayı kolaylaştırır).

7. Şimdi Provider olarak Microsoft OLMAYAN TÜM sürücüleri kontrol et (tıkla) (yani tüm üçüncü taraf sürücüleri kontrol edeceksin).

8. Ardından, aynı ekranda aşağıdaki Microsoft sürücülerini (ve SADECE bu Microsoft sürücülerini) seç...
  • Wdf01000.sys
  • ndis.sys
  • fltMgr.sys
  • Storport.sys
Bunlar, daha düşük seviyeli üçüncü taraf sürücüleri yöneten üst düzey Microsoft sürücüleridir. Bu yüzden dahil edilebilirler.

9. Şimdi Son'a tıkla ve ardından yeniden başlat. Sürücü Doğrulayıcı etkinleştirilecektir.

Sürücü Doğrulayıcının tüm yeniden başlatmalarda ve kapatmalarda etkin kalacağını unutma! Yalnızca manuel olarak devre dışı bırakılabilir.

Ayrıca bir mavi ekran beklediğini de unutma. Gerçekten de hatalı sürücü(ler)i tanımlayabilmek için Mavi ekran lazım. Sürücü Doğrulayıcı çalışırken oluşturulan tüm minidump dosyalarını saklaman lazım, bu nedenle sahip olduğun tüm disk temizleme araçlarını devre dışı bırak. (CCleaner örnek olarak.)

10. Driver Verifier'ı 48 saat boyunca çalışır durumda bırak, bu süre zarfında bilgisayarını normal şekilde kullan, ancak Mavi ekran verdirmeye çalış. Normalde kullandığın her oyunu veya uygulamayı ve özellikle geçmişte mavi ekran aldığın oyunları oynamaya özen göster. Windows her mavi ekrandan sonra otomatik olarak yeniden başlatılmazsa, normal şekilde yeniden başlat ve test etmeye devam et! Sürücü Doğrulayıcı tarafından oluşturulan hatalar şunlar:
  • 0xC1: SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION
  • 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION
  • 0xC6: DRIVER_CAUGHT_MODIFYING_FREED_POOL
  • 0xC9: DRIVER_VERIFIER_IOMANAGER_VIOLATION
  • 0xD6: DRIVER_PAGE_FAULT_BEYOND_END_OF_ALLOCATION
  • 0xE6: DRIVER_VERIFIER_DMA_VIOLATION
Bu mavi ekran türlerinden herhangi birini görürsen Sürücü Doğrulayıcıyı erkenden devre dışı bırakabilirsin çünkü hatalı davranan bir sürücü yakalamışsın demek oluyor.

Not: Sürücü Doğrulayıcı, üçüncü taraf bir sürücü her yüklendiğinde fazladan iş yaptığından, Sürücü Doğrulayıcı etkinken bir miktar performans düşüşü fark edeceksin haliyle. Bu, hatalı sürücüleri bulmak için ödemen gereken bir bedeldir. Ve unutma, Driver Verifier yalnızca yüklenen sürücüleri test edebilir, bu nedenle tüm uygulamaları, özellikleri ve cihazları kullanarak her üçüncü taraf sürücünün yüklendiğinden emin olman gerekir.

11. Sürücü Doğrulayıcıyı kapatmak için Çalıştır komut kutusuna ya da CMD üzerinden verifier /reset komutunu gir ve sistemi yeniden başlat.

Driver Verfier'ın etkin olup olmadığını kontrol etmek istersen CMD'i aç ve verifier /query komutunu gir. Sürücüler listeleniyorsa etkin demektir, hiçbir sürücü listelenmiyorsa etkin değildir.

12. Sürücü Doğrulayıcı devre dışı bırakıldığında, C:\Windows\Minidump klasörüne git ve Sürücü Doğrulayıcı'nın çalıştığı zamanlarla ilgili tüm .dmp dosyalarını bul (zaman damgalarını kontrol et!). Bu dosyaları istersen sıkıştır, istersen sıkıştırma. Dosyayı/dosyaları burada bir bağlantı ile buluta yükle.. Bizimle paylaş.
 
1- Geri yükleme noktası oluşturdum.
2- Macrium Reflect yükledim ne işe yarayacağını nasıl kullanacağımı anlamadım.
  • Special pool.
  • Force IRQL checking.
  • Pool tracking.
  • Deadlock detection.
  • Security checks.
  • Miscellaneous checks.
  • Power Framework delay fuzzing.
  • Ddı compliance checking.
  • Wdf01000.sys
  • ndis.sys
  • fltMgr.sys
  • Storport.sys
Driver verifier'i yönetici olarak başlatıp ekledim ve şimdi PC'yi yeniden başlatmayı deniyorum. Ve başlattım sorunsuz şekilde PC'yi kullanabiliyorum hata verince size neyi paylaşmam gerekiyor onu da anlatır mısınız? Hata verinceye kadar kullanmaya devam edeceğim.
 
Son düzenleyen: Moderatör:
Hata verince size neyi paylaşmam gerekiyor onu da anlatır mısınız?

Dump dosyalarını. Bu sorunu 3 yıldır yaşaman sadece basit bir sürücü sorununa da indirginemez belki de"?" bu arada ama deniyoruz şimdilik. Sadece mavi ekran al ve sistemi kullan bakalım, verifier bir tespit yakalayacak mı görelim. Sadece bu 4 5 sürücü değil, 3.taraf tüm sürücüler + bu 4-5 sürücü seçili olsun bu arada. Anlaşılmadıysa tekrar edeyim.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…