memtest
ÎNTÂI, du-te la https://www.memtest86.com/ și descărcați/rulați gratuit memtest
pentru a-ți testa memoria. Obțineți cel puțin o trecere completă a tuturor testelor 4/4 pentru a confirma o memorie bună. Acest lucru poate dura câteva ore.
Bănuiesc că memtest
va eșua. Scoateți noul dvs. SODIMM/DIMM și rulați din nou memtest
. Dacă trece, scoateți SODIMM/DIMM-ul trecut, reintroduceți celălalt SODIMM/DIMM singur și reluați memtest
.
badram
Vedea Cum se instalează Ubuntu pe un laptop cu modul RAM lipit care are celulele deteriorate
Dacă te uiți înăuntru /etc/default/grub
, vei găsi un GRUB_BADRAM=
parametru prin care puteți identifica ce locații de memorie proaste există.
# Anulați comentariile pentru a activa filtrarea BadRAM, modificați pentru a se potrivi nevoilor dvs
# Acest lucru funcționează cu Linux (nu este nevoie de patch) și cu orice nucleu care se obține
# informațiile hărții memoriei de la GRUB (GNU Mach, nucleul FreeBSD...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefefe"
Sursă: https://help.ubuntu.com/community/BadRAM#BADRAM_setting_in_Grub2
Setarea BADRAM în Grub2
Fișierul de configurare GRUB2 în Natty are o linie pentru configurarea excluderilor ram bad ale nucleului. Deci, voi presupune că acesta este modul preferat de a mapa o secțiune de memorie care arată erori. Linia pe care am stabilit-o a fost
GRUB_BADRAM="0x7DDF0000,0xffffc000"
Modul sugerat pe fiecare site web pe care l-am găsit a fost să setez acest lucru să ruleze memtest86
și lăsați-l să vă arate setările BadRAM. memtest86
mi-a dat o pagină cu lucruri în care ar fi trebuit să intru. Am putut vedea că toate adresele erau într-un singur bloc de 16K, așa că am vrut doar să cartografiez acel bloc de 16K în afara acțiunii. Iată cum am generat intrarea corectă.
Primul parametru este ușor. Aceasta este adresa de bază a memoriei proaste. În cazul meu, am putut vedea că toate adresele proaste erau mai mari decât 0x7DDF0000 și mai mici decât 0x7DDF4000.Deci, am luat începutul blocului de 16K ca adresă de pornire.
Al doilea parametru este o mască. Puneți 1 în cazul în care intervalul de adrese dorit are aceleași valori și 0 unde va varia. Aceasta înseamnă că trebuie să alegeți intervalul de adrese astfel încât numai biții de ordin inferior să varieze. Privind adresa mea, prima parte a măștii este ușoară. Vrei să începi cu 0xffff. Pentru următoarea ciugulă, voi explica cu hărți de biți. Vreau să variaz de la 0000 la 0011. Deci, masca pentru badram ar fi 1100 sau un hex c. Ultimele 3 nibble-uri trebuie să fie toate 0-urile din mască, deoarece vrem că întreaga gamă este mapată. Deci, obținem un rezultat total de 0xffffc000.
După ce setați această linie /etc/default/grub
, am fugit sudo update-grub
și am repornit și memoria mea proastă nu mai era folosită. Nu sunt necesare patch-uri ale nucleului pentru a mapa memoria proastă folosind această metodă.
Actualizare #1:
Dacă erorile de memorie nu apar în memoria inferioară, puteți adăuga opțiunea de nucleu „mem=##MB” pentru a dezactiva temporar memoria peste acel punct. Ex: Conform memtest86
, stick-ul meu de memorie are erori între 315MB și 325MB. Adăugând „mem=314MB” îi spun nucleului să pretindă că am doar 314MB. Sistemul meu va fi suficient de stabil pentru a construi patch-ul, moment în care pot trece un parametru pentru a omite DOAR secțiunea între 315MB și 325MB (aceasta îmi oferă 502MB de memorie utilizabilă).
adică: Porniți Ubuntu Live, în meniul GRUB, apăsați e pentru a intra în modul de editare, utilizați tastele săgeți pentru a găsi „quiet splash”, schimbați la „quiet splash mem=2048MB”, CTRL+X sau F10 pentru a continua pornirea.