Now I need to take a loan in order to afford 32gb for replacement thanks to the ai bros hoarding all the chips…
Tried on three different PCs, both Intel and AMD, both sticks are damaged, somehow
Now I need to take a loan in order to afford 32gb for replacement thanks to the ai bros hoarding all the chips…
Tried on three different PCs, both Intel and AMD, both sticks are damaged, somehow
No, even tried to run them at 1866…
Ah, fair enough. Long shot, but thought I’d at least mention it on the off chance that maybe it would work and maybe you hadn’t yet tried it. Sorry.
tries to think of anything else that could be done
Are you using Linux? Linux has a patch that was added many years back with the ability to map around damaged regions in memory. I mean, if your memory is completely hosed and you can’t even boot the kernel, then that won’t work, but if you can identify specific areas that fail, you can hand that off to the kernel and it can just avoid them. Obviously decreases usable memory by a certain amount, but…shrugs
I’ve never needed to do it myself, but let me go see if I can find some information. Think it was the “badram” feature.
searches
Okay. You’re running memtest86. It looks like that has the ability to generate the string you need, and you hand that off to GRUB, which hands it off to the kernel.
https://www.memtest86.com/blacklist-ram-badram-badmemorylist.html
If you can’t even boot the system sufficiently to get
update-grubto run, then you might need to do a fancier dance (swap drive to another machine or something), but that’s probably a good first thing to try. I’d try booting to “rescue mode” or whatever if your distro has an option like that in GRUB, something that doesn’t start the graphical environment, as it’ll touch less memory.EDIT: If your distro doesn’t have something like that “rescue mode” set up — all the distros I’ve used do, but that doesn’t mean that all of them do — or it it can’t even bring “rescue mode” up, because your memory is too hosed for that — then you probably want to do something like hit “edit kernel parameters” in GRUB and boot while adding “init=/bin/bash” to the end of the kernel command line. That’ll start your system up in a mode where virtually nothing is running — no systemd or other init system, no graphics, no virtual consoles, no anything. Bash running on bare metal Linux kernel. Control-C won’t work because your terminal won’t be in cooked mode, everything will be very super-duper minimal…but you should be able to bring up bash. From there, you’ll want to manually bring your root filesystem, which the kernel will have mounted read-only, as it does during boot, up to read-write, with:
Once that’s done, do your editing of the grub config file in vi or whatever, run the update-grub command.
Then run:
Because you don’t have an init system running and it’s not gonna flush the disk on shutdown and your normal power-down commands aren’t gonna work because you have no init system to talk to.
Go ahead and manually reboot the system by killing its power, and hopefully that’ll let it boot up with badram mapping around your damaged region of memory.
EDIT2: It occurs to me that someone could make a utility that can run entirely in Linux to do memory testing to the extent possible inside Linux using something like
memtesterinstead of memtest86, generate the badram string and then write it out for GRUB. That’s less bulletproof than memtest86 becausememtestercan’t touch every bit of memory, but it’s also easier for a user to do than the above stuff, and if you additionally added it to the install media for a distro, it’d make it easier to run Linux on broken hardware without a whole lot of technical knowledge. I guess it’d be pretty niche, though — doubt that there are a lot of systems with damaged memory floating around.EDIT3: Oh, that’s only the commercial version of memtest86 that will auto-generate the string. Well, if you know how to do a bitmask and you can get a list of affected addresses from memtest86, then you can probably just do it manually. If not, post the list of addresses here and someone can probably do a base address and bitmask that covers the addresses in question for you. Stick the memory back into your computer first, though, since the order of the DIMMs is gonna affect the addresses.