Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
prsyahmi authored Oct 11, 2017
1 parent caee713 commit 89bd2ae
Showing 1 changed file with 13 additions and 3 deletions.
16 changes: 13 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,32 @@ For example:

However, there is limitation on the list which will causes bootmanager to fail with STATUS_BUFFER_TOO_SMALL and will not load the windows at all. Due to this and without succeed finding other solutions, this driver was created to overcome the issue.

My computer run with defective ram 24/7 mostly for the past 8-months with this driver and not a single BSODs, Application Crash, data corruption occurred.
## Warning
This driver will start early at the boot time and will try to block the bad RAM region. If somehow Windows/other drivers uses the bad RAM region before this driver able to block them, it will shows [FAIL] on the BadMemoryManager. So it offers no guarantee that the region will always be blocked by the driver.

However my computer have been running with defective ram 24/7 mostly for a year now with this driver and not a single BSODs, Application Crash, data corruption occurred.

Caution must be taken when doing major Windows update (eg. from Windows 10 Anniversary to Creators Update) since it will start another OS (WinPE) without the driver to do the update. In this case, it may end up creating a bad rollback files and when copying/installing new files to your drive it may ends up corrupted due to bad RAM. This will causes a boot-loop if you are unlucky, there is a way to exit the loop without reformat but I will not cover it here. Remember **ALWAYS PULL OUT BAD RAM WHEN DO MAJOR WINDOWS UPDATE**.

## Download
https://github.com/prsyahmi/BadMemory/releases

## Compiling
To compile, make sure to have VS2015 with latest WDK installed. Then open the solution, configure the target platform and build the project.

The driver needs signing after compilation for windows to load the driver.

In case you don't have proper certificate for signing, you will need to have the test signing on and sign the driver with test-certificate (VS should already done this).
Refer here to turn on the settings: https://msdn.microsoft.com/en-us/library/windows/hardware/ff553484(v=vs.85).aspx

## Usage
1. Install the driver by right-clicking badmemory.inf file and then click Install.
2. Use BadMemoryManager.exe to create a list of bad memory region.
3. Restart the computer

Before using, move the faulty RAM to furthest bank (if you have more than 1 RAM installed), then run memtest and note down the faulty address. Then proceed to the installation above without defective RAM installed (if you have more than 1 RAM).
Before using, move the faulty RAM to furthest bank (if you have more than 1 RAM installed), then run memtest and note down the faulty address. Then proceed to the installation above without defective RAM installed (if you have more than 1 RAM) and reinstall the RAM.

If you don't have the certificate to sign the driver or if you download the release from here, you will need to have the test signing on. Refer here to turn on the settings: https://msdn.microsoft.com/en-us/library/windows/hardware/ff553484(v=vs.85).aspx
You may need to turn off RAM interleaving in the BIOS/UEFI if the bad region address resides on undesired location or if you want the bad region to be as little as possible.

## License
This project is licensed under GPLv3. See LICENSE

0 comments on commit 89bd2ae

Please sign in to comment.