Mis experiencias con la FAT32

Comienzo diciendo que para una lectura comprensiva del texto se requiere algo de inglés (para los ejemplos, mensajes, y ayuda de programas) y también conocimientos de informática digamos no demasiado básicos :-P

Todo empezó el dia que cambié de disco duro. Antes tenía una partición para la memoria virtual de Windows en el disco duro y al cambiar a un disco duro más grande, hice el cambio con la ayuda de Norton Ghost y me creó tantas particiones como ya tenía yo. La cuestión es que a mí me sobraba ahora una y decidí eliminarla.

Hasta aquí todo es normal. Ahora es cuando empiezo a meter la pata. Al eliminar una de las particiones, el gestor de arranque grub, que no va como el lilo, sino que coje las configuraciones de la partición que se le indique, ya no encontraba la partición adecuada y dejó de funcionar. Se me ocurrió la feliz idea de reinstalar grub con los parámetros correctos e inicié desde el primer CD-ROM de Linux Mandrake 8.1 en modo rescate y una vez en el prompt ejecuté el comando del demonio:

> chroot /mnt
> grub-install /dev/hda1

Parece sencilla la instalación ¿verdad?, pues no os dejéis engañar porque el hecho de escribir el "1" del final me hizo rozar la tragedia ;-)

Todo listo, yo ya tenía mi gestor de inicio nuevecito y funcionando pero la pesadilla no hizo más que empezar. A continuación retiré el CD-ROM con el que había iniciado el sistema Linux y me dispuse a reiniciar la máquina con el Windows XP. Se reinicia el ordenador y me sale mi gestor de inicio, bien. Elijo Windows XP y después de unos segundos me vuelve a aparecer de nuevo... :-? ya puse cara un poco rara, pero sin dudarlo volví a elegir Windows XP y volví a quedarme perplejo al ver que aparecía de nuevo. Entonces comenzé a pensar a ver qué es lo que había hecho mal hasta que me dí cuenta del "1" antes comentado.

No lo olvidéis nunca: EL GESTOR DE ARRANQUE SE TIENE QUE INSTALAR EN EL PRIMER SECTOR DEL DISCO DURO (MBR=Master Boot Record) /dev/hda PERO NUNCA DENTRO DE LA PARTICIÓN /dev/hda1 :'(

Pensé que lo último que había que hacer era perder la calma, y comenzé a pensar una solución. Lo primero que se me ocurrió es que el el MBR ocupa 512 bytes solamente y por lo tanto solo me había cargado los primeros 512 bytes de mi partición principal :'(, supuse en principio que buscando algo de información sería facil solucionarlo.

Jueves por la tarde, buscando información

En lo primero que pensé fue en la información ofrecida por el programa destrozador ^_^; y me dirigí a su sistema de ayuda para ver si ponia algo. Habría que haber visto la cara que se me quedó cuando me encontré con lo siguiente, dicen que una imagen vale más que mil palabras:

Por un momento pensé en mirar el código fuente del programa y ver qué sectores "machacaba" pero luego pensé que eso iba a ser más complicado que cualquier otra solución. Entonces me puse a buscar información por internet, pero lo único que encontré fue a otra persona que preguntaba en un foro desesperado por haber cometido la misma barbaridad. Hice lo que suelo hacer cuando busco algo y encuentro a alguien en un foro preguntandolo. Preguntarle si consiguió solucionarlo:

> Hi there. I have the same problem. I have installed GRUB to the
> primary partition of my Windows Drive (hda1) instead of the master
> boot record hda. Do you find the solution?
>
> Thank you very much.
> Regards,
>
>
> -------------------------------
> -Juan
> http://pagina.de/juanotura
>
> Registered User Linux #196702
> Registered Machine Linux #87473
> -------------------------------

Se entiende ¿verdad?, bueno, supongo que sí. Sin embargo al llegar la noche me encontré con la siguiente respuesta:

I was told to boot to windows using a boot disk, then use the 'sys' command
to restore the boot record. This works with 98 and below, but XP doesn't
come with this command, so I had to reinstall Windows :-(

But who needs Windows anyway ;-)

David Sansome

De hecho, ya suponía yo este final para el tal David, porque es lo que le aconsejaban en el foro comentado donde lo encontré. Ya sabía yo que aquello no funcionaría, es lógico!!!, lo primero es que lo que se ha fastidiado es el primer sector de la partición y no los ficheros de inicio que son lo que restaura el comando 'sys'. Lo segundo es que el sistema y los ficheros de inicio son diferentes para Windows XP y ni aunque el problema fuese es se solucionaría con esto :-P

Viernes, empiezo a hacer pruebas por mi cuenta

Al llegar el viernes, veo que es tontería preguntar a la gente y pienso que si alguien ha tenido el mismo problema habría formateado de nuevo la partición perdiendolo todo. Entonces me lo tomo con calma e instalo el windows 98 en el disco duro secundario para apañarme mientras sigo intentándolo.

Ahora cojo, y me voy a linux que arrancaba perfectamente (está en otra partición y el fallo está solo dentro de la partición de Windows XP). La idea es cojer el sector afectado e intentar repararlo, pero claro, yo no tengo ni idea de lo que tengo que reparar y sigo buscando información en Internet desde Linux. Lo primer que hice fue copiar el sector malo al disco duro. Esto es muy facil desde Linux, basta con ejecutar el siguiente comando (AVISO, ES UN COMANDO PELIGROSO CON EL QUE PUEDES DEJAR EL ORDENADOR PEOR DE LO QUE ESTÁ SI NO SE SABE LO QUE SE ESTÁ HACIENDO).

Hice caso omiso a esta advertencia que yo mismo escribo xDDD y después de leerme la ayuda por encimilla pongo tembloroso:

> dd if=/dev/hda1 of=hda1_512bytes count=1 bs=512

Pienso que si esto funciona, me copiaría 512 bytes de /dev/hda1 a un fichero llamado hda1_512bytes y ¡sorpresa!, he conseguido lo que buscaba :_ ) Ahora ... ¿que hago yo con esto? :'( ni idea... a seguir buscando información en internet, pero ahora sobre la estructura de una partición FAT32. No sé si desesperé pronto o es que hay poco a respecto pero no lo encontré :'(.

Pensé que quizá cojiendo el de la partición del windows 98 y sobreescribiendolo se arreglaría la cosa.. pobre infeliz xDDD:

> dd if=/dev/hdd1 of=hdd1_512bytes bs=512 count=1
> dd if=hdd1_512bytes of=/dev/hda1 bs=512 count=1

En la siguiente captura se puede ver que al principio del fichero encontramos MSDOS5.0 en lugar de MSWIN4.1, cosa que ya me hace sospechar que no va a funcionar :-(

Reinicio el sistema y me encuentro con que la cosa no funciona, vuelvo a iniciar Linux e intento ver el sistema de archivos :-o me encuentro con un montón de rayas y garabatos en lugar de los archivos :-S... bueno, lo último es perder la calma:

> dd if=hda1_512bytes of=/dev/hda1 bs=512 count=1

Listo, ya lo tengo como al principio de destrozado, pero al menos veo el listado de archivos desde Linux. ¡¡¡Desde MS-DOS no me reconoce ni la partición!!! Con esto me doy cuenta de que en ese primer sector a parte de las instrucciones para el inicio hay también alguna información acerca de la FAT con lo que no será posible arreglarlo así. Pensé que sería porque lo había intentado con el Windows 98 y busqué en casa de un amigo con ayuda de tomsrtbt (un linux en disquete) su sector de su partición, ya que tenia un disco duro grande y windows XP. Llego a mi casa, hago el cambio de nuevo y nada :'(

Ya había empezado a desesperar, suponía que el sábado por la mañana tendría que recuperar lo que pudiera, formatear y reinstalar TODO ... Porque he comentado los cambios más destacados pero el sector fue modificado, reescrito y probado como unas 5 veces a lo largo del día ^_^

Sábado, al tercer día... :D

Nos encontramos ya en la mañana del sábado. Llevo tres días sin estudiar sólamente buscando algo de luz sobre la estructura de una partición FAT32 para Windows XP y haciendo pruebas con el sector.

De pronto se me ocurre la idea brillante: cojer el sector de mi amigo y sobreescribir sobre el mío tan solo la parte dañada.. En la posición 0x48 puedes observar la etiqueta de volumen YOLI y un poco más adelante el "letrero" FAT32 :-P

pero... ajajjaja, jijijiji... xDDDD ¿¿¿QUÉ PARTE ES ESA??? :'(((( Para cambiar una parte necesitaría un editor hexadecimal... como linux es tan listo, escribo en la consola:

> hex

y pulso el tabulador. Aparecen dos comandos, un hexview y un hexedit. Pues ya está, el hexedit es el mío xDD, no es muy amigable a la vista pero es bastante sencillo y completo para lo que yo necesito. Es cuestión de hechar un vistazo a la página del manual y hacerme con los comandos básicos:

> man hexedit

Me pongo a cambiar cosas "a voleo", aquí pone algo de grub... lo cambio por esto otro de NTLDR (NTLoaDeR del XP)... y sigo sustituyendo y reiniciando. Unas veces se queda la pantalla en negro... otras veces me cargo información de la FAT y hace como iniciar pero dice "Falta NTLDR"... y vuelvo a perder las esperanzas...

Puedes observar que he cambiado lo de NTLDR por lo que ponía de GRUB en el estropeado, sin embargo también puede verse que no tengo ni etiqueta de volumen ni lo de FAT32, por ejemplo... pues no funciona :-(

Viendo que la idea no es tan buena como parecía, se me ocurre otra.... ¿y si cojo dos sectores de dos ordenadores diferentes con disco duro grande (más de 8 GB) y Windows XP? Luego sería cuestión de jugar al juego de las siete diferencias y listo ¿o no? ;-) Llamé a mi primo para comprobar si estaba en casa, cojí mi tomsrtbt maravilloso y el coche y me fuí a que mi primo. Me llevé su sector xDD y me puse otra vez con mi linux a trastear, buscando buscando las siete diferencias me encontré con la situación que puedes ver en la imagen:

Un bit por aquí, un 0C 4F por allí... xDDD cruzo los dedos... y ¡voìla!

¡¡¡PRUEBA SUPERADA!!!

INCREIBLE!!! aún se me pone el vello de punta cuando escribo estas líneas... nunca creí que lo conseguiría :_ ) y sin embargo LO HE CONSEGUIDO!!!! Salí de mi habitación dando saltos y gritos para ir a decirle a mi madre lo que había llegado a conseguir. Cuando de pronto mi madre me suelta....

"LA PILA HORAS QUE HAS PERDÍO CON ESA CHORRÁ EN LUGAR DE ESTAR ESTUDIANDO"

JAJAJAJAJA, ¡no sabía si reir o llorar! y le dije... "¿Y todo lo que he aprendido?" xDDDDDD

¿Cómo lo hice? Ni idea ¿Es una "chorrá" realmente y cualquiera lo hubiese hecho más rápido? Si he de ser sincero pienso que no. Podría mostrar una falsa modestia y decir que fue una tontería, pero he estado tres días buscando información en profesores, amigos, conocidos de Internet y a golpe de Google y NADIE ha sabido decirme nada, por lo que pueden ocurrir dos cosas:

Mi opinión es que el problema era grave. Que cualquiera en su sano juicio habría formateado y reinstalado o como mucho habría buscado programas que "dicen" que arreglan cosas de este tipo. Dicen que si buscas en el mundo hay mucha gente como tú, solo es cuestión de encontrarlos. Quizá el que lea estas líneas hubiese hecho lo mismo, pero no creo que sea el camino normal, si no el camino de aquel que tiene ganas de aprender, de conocer y de disfrutar de un modo que muchos nunca llegarán a comprender xDDDDD juer ya me estoy poniendo filósofo ...

Y esas fueron mis aventuras con la FAT32... ¿quién necesita virus? xDDD

FIN

Juan Martín López.

Para volver a la página anterior clic aquí.