Windows innehåller en säkerhetsfunktion som kallas kernelkodintegritet som hjälper till att skydda systemet genom att säkerställa att kerneldrivrutiner som läses in på systemet körs med integritet och är kryptografiskt signerade av en myndighet som microsoft litar på.
Om du ser det här meddelandet innebär det att en drivrutin eller programvara i kernelläge inte är korrekt signerad eller inte uppfyller windows kernel-signeringskraven för kodintegritet.
Windows kräver att alla nya drivrutiner skickas in och signeras via PROCESSEN Windows Hardware Compatibility Program (WHCP ). Tidigare betrodda windows-drivrutiner signerade av det nu förfallna korssignerade programmet . Men med säkerhetsuppdateringen i april 2026 är dessa drivrutiner inte längre betrodda som standard. Meddelandet finns här: https://go.microsoft.com/fwlink/?linkid=2356646.
Vad är Windows-drivrutinspolicyn?
Principen för Windows-drivrutin är en princip i Windows kernel som begränsar vilka kernellägesdrivrutiner som kan läsas in på enheten. När den är aktiv tillåts endast följande drivrutiner läsas in:
-
Drivrutiner korrekt signerade via Microsoft WHCP-certifieringsprocessen
-
Drivrutiner som visas i Windows-drivrutinsprincipen tillåter lista över välkända drivrutiner som signerats av det korssignerade programmet
Drivrutiner som inte är Microsoft WHCP signerade eller som visas i Windows-drivrutinsprincipen blockeras i omfattning, aktiverade system.
Den här funktionen skyddar dig från potentiellt osäkra eller otestade drivrutiner, vilket minskar risken för skadlig kod, systeminstabilitet och säkerhetsrisker som orsakas av ovetande drivrutiner och utgivare av drivrutiner.
Hur fungerar den här funktionen?
Principen för Windows-drivrutin använder en tvåfasmetod, till exempel Smart App Control , för att gradvis öka skyddet på enheten:
Utvärderingsläge (granskning)
När funktionen först aktiveras startar den i utvärderingsläge . I den här fasen:
-
Drivrutiner som skulle blockeras av principen granskas men tillåts fortfarande att läsas in . Detta säkerställer att din enhet fortsätter att fungera normalt medan Windows avgör om tillämpningen passar bra för ditt system.
-
Windows spårar hur många drivrutiner i systemet som påverkas av principen.
-
Om en drivrutin som skulle bryta mot principen identifieras under utvärderingen återställs utvärderingsförloppet. Det innebär att nedräkningen till tillämpning börjar om, vilket ger Windows mer tid att observera systemets drivrutinsanvändning.
Utvärderingskriterier
Windows övervakar följande villkor för att avgöra när enheten är redo för tillämpning:
-
Systemtid : Enheten måste ha ackumulerat 100 timmars aktiv användning.
-
Startsessioner : Enheten måste ha startats om minst 3 gånger (2 gånger på Windows Server) sedan utvärderingen påbörjades.
-
Inga principöverträdelser : Om en drivrutin som skulle blockeras läses in under utvärderingsperioden återställs räknare för drifttid och startsession till noll , vilket förlänger utvärderingsperioden.
Om enheten konsekvent läser in drivrutiner som uppfyller dessa villkor anses systemet vara ett bra förslag för tillämpning.
Tvingande läge
När utvärderingskriterierna uppfylls övergår Windows automatiskt till tillämpningsläge . I den här fasen:
-
Enheter skyddas mot drivrutiner som inte uppfyller signeringskraven i Windows-drivrutinspolicyn.
-
Dessa drivrutiner blockeras från att läsas in och generera diagnostikdata som Microsoft kan granska och poster i Windows-händelseloggen som du kan granska.
-
En lista över tillåtna drivrutiner och utgivare ingår i policyn för att tillåta vissa allmänt använda äldre drivrutiner som ännu inte har WHCP-certifierats att fortsätta fungera.
När tvingande läge är aktivt gäller principen för omstarter.
Vanliga frågor
Om en drivrutin blockeras av den här principen kan du se:
-
En maskinvaruenhet fungerar inte korrekt.
-
Kringutrustning eller komponenter (skrivare, nätverkskort, GPU osv.) kan inte identifieras.
-
Ett program som är beroende av en kerneldrivrutin startar inte.
Du kan kontrollera om windows-drivrutinsprincipen är ansvarig genom att kontrollera händelseloggarna för kodintegritet med hjälp av följande två metoder.
Frågekodintegritetshändelser manuellt
-
Högerklicka på Start och välj Loggboken .
-
Gå till: Program- och tjänstloggar > Microsoft > Windows > CodeIntegrity > operational
-
Leta efter händelser med följande ID:ar eller filtrera loggen:
-
Händelse-ID 3076 – En drivrutin granskades (skulle ha blockerats men tilläts eftersom principen är i granskningsläge).
-
Händelse-ID 3077 – En drivrutin blockerades från att läsas in eftersom den bröt mot tillämpningsprincipen.
Leta efter fältet Princip-ID i händelseinformationen. Händelser som orsakas av den här funktionen refererar till något av följande PRINCIP-GUID:
-
Granskningsprincip : {784C4414-79F4-4C32-A6A5-F0FB42A51D0D}
-
Tillämpa princip : {8F9CB695-5D48-48D6-A329-7202B44607E3}
Frågekodintegritetshändelser med PowerShell
Du kan använda PowerShell för att snabbt hitta händelser relaterade till den här funktionen:
# Find audit events (Event ID 3076) from the Windows Driver audit policy
$events = Get-WinEvent -LogName 'Microsoft-Windows-CodeIntegrity/Operational' -FilterXPath "*[System[EventID=3076]]" -ErrorAction SilentlyContinue |
Where-Object { $_.Message -like '*784C4414-79F4-4C32-A6A5-F0FB42A51D0D*' }
$results = $events | ForEach-Object {
$xml = [xml]$_.ToXml()
$data = $xml.Event.EventData.Data
[PSCustomObject]@{
TimeCreated = $_.TimeCreated
DriverName = ($data | Where-Object { $_.Name -eq 'File Name' }).'#text'
ProductName = ($data | Where-Object { $_.Name -eq 'ProductName' }).'#text'
ParentProcess = ($data | Where-Object { $_.Name -eq 'Process Name' }).'#text'
}
}
$results | Select-Object DriverName, ProductName, ParentProcess -Unique | Format-Table -AutoSize -Wrap
# Find block events (Event ID 3077) from the Windows Driver enforced policy
$events = Get-WinEvent -LogName 'Microsoft-Windows-CodeIntegrity/Operational' -FilterXPath "*[System[EventID=3077]]" -ErrorAction SilentlyContinue |
Where-Object { $_.Message -like '*8F9CB695-5D48-48D6-A329-7202B44607E3*' }
$results = $events | ForEach-Object {
$xml = [xml]$_.ToXml()
$data = $xml.Event.EventData.Data
[PSCustomObject]@{
TimeCreated = $_.TimeCreated
DriverName = ($data | Where-Object { $_.Name -eq 'File Name' }).'#text'
ProductName = ($data | Where-Object { $_.Name -eq 'ProductName' }).'#text'
ParentProcess = ($data | Where-Object { $_.Name -eq 'Process Name' }).'#text'
}
}
$results | Select-Object DriverName, ProductName, ParentProcess -Unique | Format-Table -AutoSize -Wrap
Händelseinformationen innehåller namnet på drivrutinen som granskades eller blockerades och namnet på processen som försökte läsa in drivrutinen, vilket kan hjälpa dig att identifiera vilken drivrutin eller enhet som påverkas.
Om du är enhetsanvändare eller IT-administratör
-
Kontrollera händelseloggarna med hjälp av stegen ovan för att identifiera vilken drivrutin som blockeras.
-
Kontrollera Windows Update efter uppdaterade drivrutiner. WHCP-certifierade, signerade drivrutiner kanske redan är tillgängliga via Windows Update. Gå till Inställningar > Windows Update > Avancerade alternativ > Valfria uppdateringar > Drivrutinsuppdateringar för att söka efter tillgängliga drivrutinsuppdateringar.
-
Besök tillverkarens webbplats . Ladda ned den senaste drivrutinsversionen från leverantörens officiella supportsida – nyare versioner är mer benägna att vara WHCP-signerade.
4. Kontakta maskinvaru- eller programvaruleverantören som publicerar drivrutinen. Fråga dem om det finns en WHCP-certifierad version av drivrutinen och var du kan komma åt den. De flesta leverantörer redan WHCP certifiera sina drivrutiner.
Om du är en drivrutinsutgivare
Om du utvecklar och distribuerar kernellägesdrivrutiner för Windows måste du se till att drivrutinerna är signerade via WHCP-processen:
-
Gå med i Windows Hardware Dev Center . Registrera dig på Windows Hardware Dev Center med ett giltigt certifikat för ev-kodsignering (Utökad validering).
-
Skapa en insändning . Skapa en ny produkt på instrumentpanelen för maskinvara och skicka in ditt drivrutinspaket för certifiering.
-
Kör HLK-testerna . Använd Windows Hardware Lab Kit (HLK) för att köra de tester som krävs för drivrutinstypen och enhetskategorin.
-
Skicka för signering . När testerna har godkänts skickar du in HLK-resultaten tillsammans med drivrutinspaketet. Microsoft signerar drivrutinen med WHCP-certifikatet.
-
Distribuera den signerade drivrutinen . När du har signerat publicerar du den WHCP-certifierade drivrutinen via Windows Update och/eller din webbplats.
Viktigt!: Drivrutiner som signerats med endast korscertifikat utan WHCP-certifiering kan blockeras på system med Principen för Windows-drivrutin i tvingande läge.
Varning!: Om du inaktiverar den här funktionen minskas säkerheten på din enhet. Vi rekommenderar att du behåller den aktiverad och arbetar med drivrutinsutgivare för att skaffa WHCP-signerade drivrutiner i stället.
Principen för Windows-drivrutin är en signerad princip för kodintegritet som lagras på EFI-systempartitionen och skyddas av tidiga startkomponenter i Windows. För att stänga av funktionen krävs följande manuella steg så att skadlig programvara som körs som administratör inte kan manipulera funktionen:
Steg 1: Inaktivera säker start
-
Starta om datorn och öppna menyn inställningar för den inbyggda UEFI-programvaran (BIOS). Du kan vanligtvis göra detta genom att trycka på en tangent under start (till exempel F2 , F10 , Del eller Esc – kontrollera enhetstillverkarens dokumentation)
-
Du kan också gå till Inställningar > System > Återställning > Avancerad start > Starta om nu . Välj sedan Felsöka > Avancerade alternativ > UEFI-inställningar > Starta om .
-
-
Leta reda på alternativet Säker start i inställningarna för den inbyggda programvaran (vanligtvis under fliken Säkerhet eller Start ).
-
Ange Säker start till Inaktiverad .
-
Spara ändringar och avsluta inställningarna för den inbyggda programvaran.
Steg 2: Ta bort principfilerna från EFI-systempartitionen
1. Öppna PowerShell som administratör .
2. Montera EFI-systempartitionen genom att köra:
mountvol S: /s
Du kan använda valfri tillgänglig enhetsbeteckning i stället för "S:".
3. Ta bort granskningsprincipfilen:
del S:\EFI\Microsoft\Boot\CiPolicies\Active\{784C4414-79F4-4C32-A6A5-F0FB42A51D0D}.cip
4. Om tillämpningsprincipen också finns tar du bort den:
del S:\EFI\Microsoft\Boot\CiPolicies\Active\{8F9CB695-5D48-48D6-A329-7202B44607E3}.cip
5. Kontrollera även efter och ta bort principerna från Windows-systemkatalogen:
del %windir%\System32\CodeIntegrity\CiPolicies\Active\{784C4414-79F4-4C32-A6A5-F0FB42A51D0D}.cip
del %windir%\System32\CodeIntegrity\CiPolicies\Active\{8F9CB695-5D48-48D6-A329-7202B44607E3}.cip
6. Demontera EFI-partitionen:
mountvol S: /d
Steg 3: Starta om datorn
Ändringarna börjar gälla efter att du har startat om din enhet. Efter omstarten kommer principen inte längre att vara aktiv och alla signerade drivrutiner – även de utan WHCP-certifiering – tillåts läsas in.
Steg 4: Återaktivera Säker start
När du har tagit bort principfilerna aktiverar du Säker start igen i inställningarna för den inbyggda UEFI-programvaran för att upprätthålla andra skydd för säker start.
Funktionen startas i utvärderingsläge där den loggar men inte blockerar ocertifierade drivrutiner. När systemet uppfyller utvärderingskriterierna (tillräcklig drifttid och omstarter utan principöverträdelser) övergår principen automatiskt till tillämpningsläge och drivrutiner som inte är WHCP-signerade blockeras. Det kan göra att drivrutiner som tidigare fungerade slutade läsas in.
Det finns för närvarande inget sätt att kringgå principen för enskilda drivrutiner. Du kan antingen inaktivera funktionen helt (se ovan) eller, helst, kontakta drivrutinsutgivaren och be dem att tillhandahålla en WHCP-signerad version av drivrutinen.
Den här funktionen gäller endast kernellägesdrivrutiner . Användarlägesprogram påverkas inte av den här principen.
Du kan kontrollera genom att köra följande kommandon som administratör i PowerShell:
$evalPolicy = (citool -lp -json | ConvertFrom-Json).Policies | Where-Object { $_.PolicyID -eq "784c4414-79f4-4c32-a6a5-f0fb42a51d0d" }
$enforcedPolicy = (citool -lp -json | ConvertFrom-Json).Policies | Where-Object { $_.PolicyID -eq "8F9CB695-5D48-48D6-A329-7202B44607E3" }
if ($enforcedPolicy.IsEnforced -and $enforcedPolicy.IsAuthorized) { Write-Host "✅ The feature is in enforcement mode" -ForegroundColor Green }
elseif($evalPolicy.IsEnforced -and $evalPolicy.IsAuthorized) { Write-Host "✅ The feature is in evaluation mode" -ForegroundColor Green }
else { Write-Host "❌ The feature is not available on this system" -ForegroundColor Red }
Ja – Windows Server 2025 och nyare serverplattformar. På Windows Server är dock kravet på startsession två omstarter (jämfört med 3 på klientutgåvor). Alla andra villkor är desamma.
Om du återställer eller installerar om Windows startar funktionen i utvärderingsläge. Utvärderingsräknarena återställs och övergången till tillämpning påbörjas igen från början.
Behöver du mer hjälp?
Om du fortfarande har problem med en blockerad drivrutin kan du besöka Microsoft Community-forumen eller kontakta Microsofts support .
Vi vill gärna ha din feedback om den här funktionen. Så här delar du din upplevelse:
-
Öppna Feedbackhubben i Windows (tryck på Win + F ).
2. I steg 2 – Välj en kategori väljer du Säkerhet och sekretess > Appkontroll .