Archive for July, 2010

Recuperant la taula de particions

Monday, July 5th, 2010

L’altre dia vaig patir la desgràcia d’esborrar la taula de particions del disc dur. Estava copiant una imatge de MeeGo en un usb per provar-la amb l’Eee PC, i alguna cosa deuria fer malament que vaig esborrar la taula de particions del MacBook, que és l’ordinador que faig servir a diari per treballar.

El cas es que després d’apagar i tornar a encendre el MacBook el sistema no arrencava. Ni sortia el rEFIt, ni tampoc podia escollir la partició d’arrencada mitjançant la tecla opció del portàtil.

Sovint faig còpies de seguretat de les dades pel que el desastre no era molt crític. Tanmateix la idea d’haver de tornar a instal·lar el sistema no em feia molta gràcia ja que al MacBook hi tinc dos sistemes operatius: Mac OS X i GNU/Linux, i a la vegada dins del sistema GNU/Linux dos sistemes operatius més: win 2000 i win xp en dues màquines virtuals diferents. Així que tornar-ho a instal·lar i configurar tot era, d’entrada, inviable.

Quan em trobo amb problemes de disc acostumo a fer servir la distribució de GNU/Linux SystemRescueCd (ja n’he parlat alguna vegada en el blog). D’entre les moltes utilitats que porta hi ha l’aplicació TestDisk que just serveix per detectar, reparar i recuperar taules de particions. Malauradament no funcionava des del CD, així que vaig optar per instal·lar el Mac OS X en un usb de 8GB i executar el TestDisk des d’aquesta instal·lació:

$ cd Desktop/testdisk/darwin/
$ sudo ./testdisk /dev/rdisk0
  • Amb el disc dur seleccionat clicar a Proceed
  • Clicar a Continue
  • Seleccionar l’opció EFI GPT
  • Clicar a Analyse
  • Una vegada detectades totes les particions clicar sobre Write

L’única partició que no va recuperar bé va ser la de swap. Per sort aquesta la vaig poder recuperar de forma molt senzilla executant el GParted que ve amb la SystemRescueCd.