InicioLinuxRestaurar tabla de particiones

Restaurar tabla de particiones

Linux8/7/2010


Hola, me acaba de pasar algo terrible. Quice restaurar un backup en la netbook del windows xp que traia (solamente para actualizar la bios) y use RedoBackup, una distro aparentemente muy util para estas cosas. No fue tan así, quice restaurar la imagen en una particion mas chica que TODO el disco como tenia de fábrica XP. Recuerdo que con Hirens boot CD y la utilidad de partition magic y la otra que tenia para clonar discos de la misma empresa, te daba la opcion de cambiar el tamaño de la particion destino. Resulta que aca no, y cuando te das cuenta y le pones cancelar te toma por boludo y te cambia la tabla de particiones por la de la imagen.



Viendolo desde la perspectiva de "me muero si pierdo mis datos y un dia entero volviendo todo a como estaba de bien", es el menor de los males que este tipo de software nos puede hacer. ¿Por qué?, simplemente porque no altera nuestra información en el disco, solamente reescribe la tabla que dice donde empiezan, terminan y que tipo de particiones tenemos en él. Luego, si tenemos un excelente conocimiento de nuestra computadora y una perfecta memoria, seria cuestión de escribir nosotros mismos la información correcta de nuevo y sería como si no hubiera pasado nada. Todos sabemos que no es el caso.

Gracias a la magia del internet encontre la solucion con mi amigo google, al toque.

san "GPART"
que levanta a los caidos

no confundir con "gparted" son dos cosas bien distintas.
¿Que hace esto?, ni más ni menos que lo que necesitamos en estos casos: lee el disco en busca de los marcadores de inicio de cada partición.
Un posible problema es que pueden haber varios de más porque si no sobreescribimos los viejos con información luego de cambiar nuestra tabla de particiones , es posible que estén aún ahi. pero siendo que acabamos de hacer el desastre nosotros mismos, seguramente podemos distinguir cuales son los buenos y cuales son los malos.

En mi caso no hizo falta. Como solo tubo un par de reparticionadas y la única que dividió el disco fue la última, saltó al toque la información.

Sin más les paso todo lo necesario, paso a paso.

1. Bootear con alguna distro LiveCD

Preferentemente desde un pendrive, para no tener que renegar con los errores de lectura de los cds. en el caso de la netbook no me queda otra

2. Conectarnos a internet

Bajamos el programa " gpart " del siguiente sitio: http://www.brzitwa.de/mb/gpart/index.html
el link directo seria: gpart/ gpart .linux" target="_blank" rel="nofollow">http://www.brzitwa.de/mb/ gpart / gpart .linux

desde la consola podemos hacer un:
wget http://www.brzitwa.de/mb/ gpart / gpart .linux


si no tenemos la posibilidad de conectarnos a internet con la distro LiveCD (puede ser por falta de drivers o falta de conexion) lo mejor es bajarlo en otro lado y ponerlo en el pendrive u otro pendrive para tenerlo disponible.

le damos permiso de ejecucion haciendo
chmod +x gpart .linux


3. Ejecutamos el programa para ver la salida

hacemos desde la consola:
./ gpart .linux /dev/sda

donde /dev/sda es mi disco rígido. Tengan en cuenta que si arrancaron por usb seguramente tienen un /dev/sdX que corresponde al pendrive.

Para saber cual es el dispositivo que nos interesa, hacemos un fdisk -l y vemos de acuerdo a los tamaños cual es cual.

La salida del comando es algo como esto:
gpart.linuxdijo:



Begin scan...
Possible partition(Linux ext2), size(31mb), offset(0mb)
Possible partition(Linux ext2), size(148593mb), offset(31mb)
Possible partition(Linux ext2), size(4000mb), offset(148624mb)
End scan.

Checking partitions...
Partition(Linux ext2 filesystem): primary
Partition(Linux ext2 filesystem): primary
Partition(Linux ext2 filesystem): primary
Ok.

Guessed primary partition table:
Primary partition(1)
type: 131(0x83)(Linux ext2 filesystem)
size: 31mb #s(64192) s(63-64254)
chs: (0/1/1)-(3/254/58)d (0/1/1)-(3/254/58)r

Primary partition(2)
type: 131(0x83)(Linux ext2 filesystem)
size: 148593mb #s(304319288) s(64260-304383547)
chs: (4/0/1)-(1023/254/63)d (4/0/1)-(18946/254/56)r

Primary partition(3)
type: 131(0x83)(Linux ext2 filesystem)
size: 4000mb #s(8193144) s(304383555-312576698)
chs: (1023/254/63)-(1023/254/63)d (18947/0/1)-(19456/254/57)r

Primary partition(4)
type: 000(0x00)(unused)
size: 0mb #s(0) s(0-0)
chs: (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r



que es justamente lo que me salió a mi.
Yo tenía, justamente, una particion para /boot de 32MB, una particion con Archlinux de 145GB y una con Ubuntu de 4GB.

Si el resultado es asi de bueno, o al menos tenemos listadas las particiones que sabemos que son las buenas mezcladas con las que sabemos no corresponden, pasamos al paso siguiente. En caso contrario, no puedo aconcejarlos, pero sería muy raro que si no escribieron informacion en el disco no esten listadas las particiones "buenas". Ahora... si te pusiste a boludear a ver si podias arreglar el problema escribiendo o modificando archivos en el disco, mejor andá a la iglesia universal y pediles ayuda a ellos

5. Volvemos todo a como era entonces

Estando seguros que hacemos lo correcto, ejecutamos el comando con la opcion -W de la siguiente forma:
./ gpart -W /dev/sda /dev/sda

o sea, le decimos que escriba la tabla de particiones que lee de /dev/sda en /dev/sda, por eso va dos veces.
Recuerden reemplazar /dev/sda por el nombre de su disco.
En este procedimiento les pregunta que particion desean activar, o sea marcar para que sea bootable; y si quieren editar la tabla que va a escribir. En caso que "sobren" particiones , es el momento para decirle cuales son. Realmente no pasé por eso, pero me resultó un software super sencillo así que no creo que les dé problemas. En todo caso tienen los links al final para la referencia.

Con eso terminado ya podríamos reiniciar y tener nuestra información disponible como antes.

Peeerooo, no tan rápido a descorchar. En mi caso me escribió el MBR de la imagen de XP, así que tenemos que reinstalar el grub en la MBR del disco.

6. Reinstalamos Grub en la MBR (puede que no sea necesario)

Reiniciamos con la misma distro LiveCD que usamos hasta acá, y de paso verificamos que tengamos todo como corresponde, de no ser así podemos probar con otra combinación de particiones .
Para reinstalar el grub la hacemos fácil:
en la consola ejecutamos el comando grub

y entramos con las lineas siguientes:
grub dijo:

>root (hd0,0)
>setup (hd0)
>quit


reemplazando hd0 por el valor que corresponda al número de disco en cuestión, recordando que arrancan desde 0 para el primero. Por ello, si tienen uno solo, seguro es cero.

y listo el pollo. Ahora si tiene que andar o estamos preparados mentalmente para saltar de lo más alto de un edificio con la esperanza de caer ligeros como una pluma, esperando que en el peor de los casos nos pase como a Neo en la peli de Matrix.

Salió fresquito del horno porque me paso 5 min antes de iniciar el post.
Salu2


Referencias:
http://www.faqs.org/docs/Linux-mini/Partition-Rescue.html
http://en.wikipedia.org/wiki/Gpart
Datos archivados del Taringa! original
40puntos
4,915visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
2visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

s
Usuario
Puntos0
Posts37
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.