Usar un PC con tarjetas de memoria estropeadas

16-08-2008

Estos últimos días hemos tenido un montón de problemas con nuestro veterana torre PC. Hace unos meses tuvimos la visita de un gusano bastante persistente: el W32.Babelloh. Un bichejo bastante fastidioso, que tiene el mal hábito de infectar todas las memorias usb y discos externos que conectas al sistema. Con lo que si bien solemos ser muy cuidadosos con lo que nos encontramos por Internet (y tenemos el cortafuegos activado), basta que alguien conecte la memoria usb a un ordenador infectado, y luego ya tenemos en casa el bicho. ¡Que fastidio! (Todo un revival de los años 90 y los virus en el sector de arranque)

Lo curioso del caso, y no si debido a este gusano, o tan solo fue una coincidencia (supuestamente el W32.Babelloh dicen que es poco peligroso...) pero en estas mismas fechas comenzamos a tener multitud de pantallazos azules en el Windows (ya se que se supone que es una 'feature' del sistema operativo, pero antes no las teníamos tan frecuentemente) y tambien cuelgues bestiales en Linux. ¿Que estaba pasando?

Una buena idea en estos casos extraños es comprobar que pasa con la memoria (la memoria RAM). Para eso viene genial un CD de instalación de Linux: en nuestro caso de OpenSuse. Desde el CD pudimos ejecutar el memtest86+. Y paso lo que me temía: había una parte de la memoria que daba errores.

Antes de tirar con la tarjeta SIMM que de los errores hay que mirar de probar cambiando la configuración en la BIOS o sacar y volver a poner las tarjetas... o cosas de estas. (Tengo que poner esto, porque luego la gente encuentra esto buscando en el Google y luego me echan la culpa de que no les he dado información: como usar el memtest86+ para probar si la memoria RAM esta dañada).

En nuestro caso, tenemos unos 512MB en el PC (yep, hoy en día esto parece poco, pero no le hace falta más, que este ordenador se porta muuu bien). Y lo curioso es que los errores sólo sucedían en la parte alta de esa memoria: entre los 490MB y 500MB. Me daba un poco rabia comprar un SIMM nuevo sólo por estos pequeños fallos.

He aquí mi idea descabellada: ¿Es posible ejecutar el Windows y el Linux y decirle que no usen esa parte de memoria que está defectuosa?. Aún quedarían otros 470MB.... Y si que es posible.

En Linux es muy sencillo, sólo hace falta añadirle el parámetro 'mem=' a la linea que lanza el kernel. Por ejemplo, en GRUB.

kernel /boot/vmlinuz-x.y.z root=/dev/hdxy ro mem=450M

Y en Windows tambien es posible. Sólo hace falta editar el fichero "boot.ini" que hay en el directorio raiz de Windows (un fichero que no se ve porque normalmente el Explorer del Windows oculta estos ficheros del sistema). Pero no hay mucha complejidad en editarlo: desde el Notepad abre el fichero "c:\boot.ini". El parametro a utilizar en este caso es "/MAXMEM"

 multi(0)disk(0)rdisk(0)partition(1)\winnt="Windows NT" /MAXMEM=450

He probado ambas cosas y han sido mano de santo. Gracias a ello conseguí que ni el Linux se colgase, ni el Windows esta dando pantallazos azules. Así que el truco puede resultar interesante a alguno. Evidentemente para que esto sirva de algo, tienes que tener la enorme suerte de que la memoria que falle esté al final. Si te falla el MB 12 de la memoria, pues vas fastidiado. Puedes probar a cambiar de orden los SIMMS y ver si en este caso no coincide al principio. Pero si es el principio de la memoria donde esta el fallo, ya es más putada. (En Linux existen módulos para poder trabajar incluso con memoria fallida: badram).


feed de comentarios - top


·La Rabadilla· ·Laconada· ·iRamos· ·O Vello Corvo· ·Palabros·
counter [CSS 2 Valid!] [XHTML 1.0 Valid!] [Made with Ant] [Get Firefox] RSS 1.0RSS 1.0 Atom 1.0RSS 1.0