STOP 0x000000EF — CRITICAL_PROCESS_DIED
A process marked critical exited. The kernel names the process in the dump, and which one it was decides the fix entirely.
What you see
Bluescreen with CRITICAL_PROCESS_DIED, sometimes in a loop at boot, sometimes at random during use.
What is actually wrong
Corrupt system files, a failing disk, or a third-party service crashing something like svchost, wininit or services.exe.
Codes and articles
Start here — find out which fix applies
A script that runs the 1 inspection command from the write-up below and prints what each one returned. It reads the machine and changes nothing — every command that could write, delete, start or stop is excluded from it by construction. Run this first, then pick the fix its output points at.
No warranty. Use at your own risk - JbTecWiz accepts no liability. Read it before you run it, and have a backup.
Fixes (2)
Repair the system files and check the disk
Windows starts, even if only in Safe Mode.
Repair the component store, then the system files, in that order.
DISM /Online /Cleanup-Image /RestoreHealthsfc /scannow
SFC repairs from the component store, so repairing the store first is what makes SFC able to fix anything.
Check the disk's own health before assuming software.
Get-PhysicalDisk | Format-Table FriendlyName, MediaType, HealthStatus, OperationalStatus -AutoSizeGet-StorageReliabilityCounter -PhysicalDisk (Get-PhysicalDisk) | Format-Table DeviceId, Wear, ReadErrorsTotal, UncorrectedReadErrors -AutoSize
Schedule a full disk check.
chkdsk C: /f /rFind which process died — the dump names it.
Get-WinEvent -FilterHashtable @{LogName='System'; Id=1001} -MaxEvents 5 | Format-List TimeCreated, MessageIf a third-party service is implicated, disable it and test.
Get-Service | Where-Object { $_.Status -eq 'Running' } | Select-Object Name, DisplayName | Sort-Object DisplayName
No warranty. Use at your own risk - JbTecWiz accepts no liability. Read it before you run it, and have a backup.
Break the boot loop from WinRE
The machine loops before reaching a desktop.
Reach WinRE and open Command Prompt. Identify the Windows volume with diskpart.
Check the disk first.
chkdsk D: /f /rRun the offline system file check.
sfc /scannow /offbootdir=D:\ /offwindir=D:\WindowsRevert any pending update transaction, which is a frequent cause of the loop.
DISM /Image:D:\ /Cleanup-Image /RevertPendingActionsIf it still loops, disable automatic restart so the bugcheck stays on screen long enough to read which process died.
bcdedit /store D:\Boot\BCD /set {default} recoveryenabled Nobcdedit /store D:\Boot\BCD /set {default} bootstatuspolicy IgnoreAllFailures
This stops WinRE hijacking every boot, which otherwise hides the actual error text you need.
As a last resort before rebuilding, use System Restore from WinRE if a restore point predates the fault.
No warranty. Use at your own risk - JbTecWiz accepts no liability. Read it before you run it, and have a backup.
Related faults
Where this stops. This write-up was written and checked by hand. It says what each step changes, how to confirm it worked and how to reverse it, and anything destructive is flagged before you reach it. If it does not match what your machine is doing, search the Support Centre for the exact code or message — and when something needs a person, get in touch.