3

In cases of deviced with soldered/integrated RAM (eg tablets and ultrabooks), a defect in the memory means that the computer becomes an expensive paperweight.

It is clear that the best alternative is to replace the defective RAM, but when this is not possible, and the equipment no longer under warranty, is a good time to try other solutions.

I have been researching bcdedit /set badmemorylist and bcdedit /set badmemoryaccess without success.

This question discussed the issue a few years ago: Running Windows with defective RAM

At that time and in those cases, there was a possibility to replace the RAM, and no more was investigated.

Now I have no possibility of replacing the RAM, and I want to revisit the issue.

3

I managed a few hits. The key to passing the damaged memory parameters are:

  1. Addresses memtest86, match addresses used in Windows.

  2. Must mark full pages of 4KBytes.

  3. In memtest 0x10000000, corresponds to 0x10000 in Windows.

  4. In memtest, 0x00001000 corresponds to 0x1 in Windows.

  5. Means: The page number in windows removes the last 3 memtest hexadecimal numbers.

  6. Means that: Windows eliminates zeros in the left.

  7. Consider 5 and 6, to avoid errors in the page numbers.

  8. The correct statement is: bcdedit /set {badmemory} badmemorylist 0xB7 0xB8 0xB9 0xBA to errors in memtest from 0x000B7000 to 0x000BAFFF. Note that you cannot put a range of memory, but all pages one-by-one.

  9. Cannot add pages; all pages should be marked in the same command. If it's a new page, adds overwrite older ones. I managed to add 4096 pages in only one command. I have not tried more.

  10. bcdedit / enum {badmemory} shows the list of marked pages.

  11. bcdedit / set badmemoryaccess no prevents the marked pages from being used.

  12. It is necessary to reboot after marking pages and remove access.

Now it runs without crashing.

| improve this answer | |
0

You can set the maximum memory that Windows is allowed to use.

If you can determine the RAM address(es) that are bad, you could use this setting to force Windows to only stay within the good area of memory.

To modify this setting:

  1. Open msconfig (press the start button, type msconfig, then press enter)
  2. Select the Boot tab
  3. Press the Advanced options... button
  4. Enable the Maximum memory checkbox
  5. Specify how much memory to allow Windows to use (and thus, the topmost physical address to allow it to use)
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.