I need help understanding how to list page frame numbers in bcdedit please.
Problem, testing, and results:
I am getting bsod memory errors causing my laptop to crash and shutdown every other day. My laptop has 16gb ram (8gb replaceable, 8gb soldered to the motherboard). First I ran memtest86 with the full 16gb and failed the test with 1 bit in error, then I ran it with the 8gb of replaceable ram removed and the test still failed with 1 bit in error on the soldered ram. I have tested multiple times and received the same range of addresses in error: lowest error address 0x46D80234 (1133mb), highest error address 0x48D80C30 (1165mb). I also ran memtest86 excluding all addresses above the lowest address in error, and again excluding all addresses below the highest address in error (to effectively test all memory outside of the affected address range in error); both tests passed with no errors, confirming the previously tested address range to be at fault. I don't have the money to replace the whole motherboard with soldered ram, so I am trying to figure out how to use bcdedit to blacklist the address range in error. I understand how to use the command prompt and enter the command, I just don't understand how to correctly enter the list of page frame numbers to correctly map to my memory address range in error.
How do I list page frame numbers to blacklist in bcdedit using a memory address range:
I have read "https://www.memtest86.com/blacklist-ram-badram-badmemorylist.html", and also tried to find other information on the internet, but I am not sure I understand exactly how to convert my address range in error (lowest error address 0x46D80234 (1133mb), highest error address 0x48D80C30 (1165mb)), to the page frame numbers used in bcdedit. What is the correct way to list the address range as page frame numbers? I am not sure on the formatting, for my address range which format would I need to use?
Here are some examples of how I think it's supposed to be formatted for my address range, please tell me which, if any of these examples is correct.
"example 1: 0x46 0x47 0x48"
"example 2: 0x46D 0x46E 0x46F 0x470 0x471 etc..."
"example 3: 0x46D8 0x46D9 0x46DA 0x46DB 0x46DC etc..."
"example 4: 0x46D80 0x46D81 0x46D82 0x46D83 0x46D84 etc..."
I am not sure if I am writing and ordering the hexadecimals correctly. I am also not sure if I have the format correct for the page frame numbers. would all four examples I gave successfully blacklist the memory range I need (lowest error address 0x46D80234 (1133mb), highest error address 0x48D80C30 (1165mb)), or would only 1 of my examples work, or are they all wrong? Would my example 1, and example 4 both blacklist the range I have errors in, with the only difference being example 1 blacklists a few extra megabytes of memory that is not actually in error, or would my example 1 and example 4 blacklist an entirely different address range? My Example 4 would need thousands of page frame numbers to list the full address range in error, would this be too many to use in the bcdedit command for blacklisting memory?
The questions I have:
1- Do any of my four examples work to blacklist the memory range I need? If not, what is the correct way to write it?
2- Am I writing and ordering the hexadecimals correctly in my four examples?
3- Is there anything else I am doing wrong or don't understand? If there is, what do I need to do to correctly blacklist the address range in error (lowest error address 0x46D80234 (1133mb), highest error address 0x48D80C30 (1165mb))
Thank you very much for taking the time to read all this and help me!
Problem, testing, and results:
I am getting bsod memory errors causing my laptop to crash and shutdown every other day. My laptop has 16gb ram (8gb replaceable, 8gb soldered to the motherboard). First I ran memtest86 with the full 16gb and failed the test with 1 bit in error, then I ran it with the 8gb of replaceable ram removed and the test still failed with 1 bit in error on the soldered ram. I have tested multiple times and received the same range of addresses in error: lowest error address 0x46D80234 (1133mb), highest error address 0x48D80C30 (1165mb). I also ran memtest86 excluding all addresses above the lowest address in error, and again excluding all addresses below the highest address in error (to effectively test all memory outside of the affected address range in error); both tests passed with no errors, confirming the previously tested address range to be at fault. I don't have the money to replace the whole motherboard with soldered ram, so I am trying to figure out how to use bcdedit to blacklist the address range in error. I understand how to use the command prompt and enter the command, I just don't understand how to correctly enter the list of page frame numbers to correctly map to my memory address range in error.
How do I list page frame numbers to blacklist in bcdedit using a memory address range:
I have read "https://www.memtest86.com/blacklist-ram-badram-badmemorylist.html", and also tried to find other information on the internet, but I am not sure I understand exactly how to convert my address range in error (lowest error address 0x46D80234 (1133mb), highest error address 0x48D80C30 (1165mb)), to the page frame numbers used in bcdedit. What is the correct way to list the address range as page frame numbers? I am not sure on the formatting, for my address range which format would I need to use?
Here are some examples of how I think it's supposed to be formatted for my address range, please tell me which, if any of these examples is correct.
"example 1: 0x46 0x47 0x48"
"example 2: 0x46D 0x46E 0x46F 0x470 0x471 etc..."
"example 3: 0x46D8 0x46D9 0x46DA 0x46DB 0x46DC etc..."
"example 4: 0x46D80 0x46D81 0x46D82 0x46D83 0x46D84 etc..."
I am not sure if I am writing and ordering the hexadecimals correctly. I am also not sure if I have the format correct for the page frame numbers. would all four examples I gave successfully blacklist the memory range I need (lowest error address 0x46D80234 (1133mb), highest error address 0x48D80C30 (1165mb)), or would only 1 of my examples work, or are they all wrong? Would my example 1, and example 4 both blacklist the range I have errors in, with the only difference being example 1 blacklists a few extra megabytes of memory that is not actually in error, or would my example 1 and example 4 blacklist an entirely different address range? My Example 4 would need thousands of page frame numbers to list the full address range in error, would this be too many to use in the bcdedit command for blacklisting memory?
The questions I have:
1- Do any of my four examples work to blacklist the memory range I need? If not, what is the correct way to write it?
2- Am I writing and ordering the hexadecimals correctly in my four examples?
3- Is there anything else I am doing wrong or don't understand? If there is, what do I need to do to correctly blacklist the address range in error (lowest error address 0x46D80234 (1133mb), highest error address 0x48D80C30 (1165mb))
Thank you very much for taking the time to read all this and help me!
Comment