PFN_LIST_CORRUPT, or stop code 0x0000004E, means the structure Windows uses to keep track of every physical page of memory has been damaged. It is a serious stop code because that structure sits underneath everything: once the memory manager cannot trust its own bookkeeping, it stops the machine rather than continue.
The useful part is that this stop code tells you which kind of damage it found. This guide explains what parameter 1 means and how to separate the two realistic causes: a driver that mishandles memory, and hardware that returns wrong data.
Every physical page of memory has a page frame number, and Windows keeps one entry per page in a large table called the PFN database. Each entry records the state of that page, whether it is in use, free, modified, or waiting on standby, plus counters that say how many parts of the system are currently using it. The PFN list is the linked structure that moves pages between those states.
This stop code means that structure no longer makes sense. An entry may point to a page that cannot exist, a page may be listed in two states at once, or a reference count may be impossible given the operations that were performed. Because the memory manager relies on this list for every allocation, it cannot safely continue.
There are only two realistic sources of that kind of damage:
Microsoft's own documentation makes the split explicit. For one of the parameter values it names hardware single-bit errors and broken direct memory access transfers as the cause, and for another it states that the fault most likely indicates a hardware issue. That is why memory testing is not optional for this stop code.
Parameter 1 identifies the violation, and the meaning of the other parameters depends on it. The common values are:
Step 1. Run the built-in checker as a first pass. Press Windows and R, type mdsched.exe, and choose to restart and check now. Save your work before you begin, because the test runs before Windows loads.
Step 2. Follow up with a longer test. The built-in checker is quick but shallow; a bootable memory tester that completes four or more full passes, ideally overnight, catches faults the quick test misses.
Step 3. Disable the memory profile in BIOS or UEFI, whether it is labelled XMP or EXPO, and remove any processor or graphics overclock. These profiles run memory outside the timings the platform guarantees, and the resulting corruption looks exactly like failing memory.
Step 4. If errors appear, reseat the modules, clean the contacts, and test one module at a time to find the faulty stick. Replace it. No software change will compensate for unreliable memory.
Step 1. If the memory tests clean, the next move is to identify a driver that locks and unlocks pages incorrectly. Driver Verifier was built for exactly this job: it adds extra checking to selected drivers, including their page locking behaviour and their pool usage.
Step 2. Use it carefully. Enable verification only for one or two suspect drivers, not everything, and note the verification settings beforehand so you can undo them. Our guide on DRIVER_VERIFIER_DETECTED_VIOLATION explains the procedure and how to escape a boot loop if one occurs.
Step 3. Update the likely candidates. Graphics, chipset, network, storage, and virtualization drivers are the usual sources, and a clean install rather than an update often clears a corrupted installation.
Step 4. If the stop code started after a driver or Windows update, roll that driver back in Device Manager. A regression is far more common than a sudden hardware failure.
Step 1. Look for two products that do the same job on the storage or file system path. Two antivirus suites, an old backup tool plus a new one, a disk encryption product plus a virtual private network client: each of these installs a filter driver, and two filters that both take responsibility for the same request is a classic source of this stop code and of the related BAD_POOL_CALLER error.
Step 2. Remove the product you no longer need, restart, and test. Do not simply disable it, because a disabled filter can still be loaded.
Step 3. Check the history. If the stop code began shortly after you installed a security suite, a virtual private network client, or a disk utility, that product is your prime suspect.
Step 1. Open Command Prompt as administrator and repair the component store, then the protected system files:
DISM /Online /Cleanup-Image /RestoreHealth sfc /scannow
Step 2. Check the file system on the system drive with chkdsk if the stop code appears together with file system errors.
Step 3. Check the health of the drive and its firmware. A solid-state drive that is failing can return corrupted data, and some drives have firmware updates that fix known corruption issues. Read the SMART attributes and look at the reallocated sector count and the remaining life value.
Step 4. Back up immediately if the drive reports problems, and plan a replacement rather than waiting for the next warning.
Step 1. Update the system firmware and the chipset drivers. Both control how memory and its controllers are initialised, and an old firmware release can contain memory handling bugs that later versions correct.
Step 2. Install all pending Windows updates, including the optional driver updates offered under the advanced options.
Step 3. Run a full malware scan with current definitions. A malicious kernel component is uncommon, but it is worth excluding before you replace hardware.
Step 4. Record every change you make. This stop code is often intermittent, and a written log is what lets you identify which change actually resolved it.
No, but memory is the leading suspect for several of its parameter values, particularly 0x8D and 0x06. Run a full memory test before you spend time on driver work.
It names the type of corruption. Values such as 0x02, 0x06 and 0x07 describe specific damaged structures, and several of them point towards a driver while others point towards hardware.
0x8D, which means the page-free list is corrupted, is documented as most likely a hardware issue. The 0x06 case names hardware single-bit errors and broken direct memory access transfers.
Often, yes. A driver that unlocks a page more times than it locked it will be caught by the verification checks, which is why 0x4E and Driver Verifier violations frequently appear together.
Because the damage accumulates quietly. The check fails the next time the memory manager touches the damaged entry, and that moment has nothing to do with how busy the machine is.
Only if the cause was a corrupted system file. A reset reinstalls the same drivers and does nothing about faulty memory or an unstable memory profile, so the stop code usually returns.
Diagnosing this stop code means memory tests, Safe Mode sessions, and driver removals, and any of those can leave a machine that will not start. Create a full system backup before you begin. Qiling Disk Master handles both the backup and the restore.
Step 1. Install and open Qiling Disk Master. On the home screen, open "Backup and Recovery" and choose "System Backup". This option automatically includes Windows and the hidden boot partitions, so you do not have to select them one by one.

Step 2. Check the source. The disk where Windows is installed and its system partitions are already ticked for you. If you only need your personal documents, run a separate "File Backup" task instead.

Step 3. Click the destination box and choose where the image should be saved. Use an external HDD or SSD, a NAS, or any drive other than the one Windows is installed on, and make sure it has enough free space.

Step 4. Review the task summary and click "Proceed". Wait until the progress bar reaches 100%. Do not unplug the drive or turn off the PC while the backup is running.

Step 1. Open Qiling Disk Master again, go to "Backup and Recovery", and select the recovery option. Your backup images are listed, so pick the one you created before the changes began.

Step 2. Choose the target disk or partition. Normally you restore to the original system disk. If the drive was replaced, select the new disk instead, and the restore rebuilds Windows together with its boot partitions.

Step 3. Preview the restore plan, click "Proceed", and confirm the warning. The PC restarts to finish the job, and Windows comes back exactly as it was on the day the image was created, with your files and programs intact.

PFN_LIST_CORRUPT means the table Windows uses to track every physical page of memory has been damaged, and it tells you which kind of damage through parameter 1. Values such as 0x02, 0x06 and 0x07 describe a driver that mishandles memory, while 0x8D is documented as most likely a hardware fault. Because memory is the leading suspect, test it thoroughly and remove any memory or processor overclock before you start disabling drivers. If the memory is clean, use Driver Verifier to isolate the driver, clear out duplicate filter drivers, repair the system files, and update the firmware.
Protect your PC with Qiling Backup—create a system image before your next troubleshooting step.