Recuperar CDs i DVDs
Amb el temps m’he trobat que molts CDs que he gravat, deixen de funcionar, i sovint sembla que les dades i música desada ja no es pot recuperar.
Hi ha moltes eines pensades per fer-ho, tan GUI com CLI, fins i tot tenim distribucions fetes especialment per tasques d’aquest tipus.
En aquest cas usaré GNU ddrescue una comanda que permet recuperar dades. Així podem crear imatges de cds, dvds, usbs i discos durs des d’on recuperar-ne. Si no el tenim instal·lat, res més senzill (en la linkat 12.04 o en Ubuntu i derivades):
sudo apt-get install ddrescue
La comanda és:
ddrescue [options] infile outfile [logfile]
En un cas pràctic, vull reparar un CD, així que ara només ens cal iniciar la comanda:
ddrescue –n –b 2048 /dev/cdrom nomimatge.iso fitxerlog.txt
- La -b diu la mida dels blocs que té els CDs, és a dir 2048 bytes.
- La -n és per fer que duri menys temps, intentarà recuperar les parts llegibles.
- Si veiem que tenim molts errors, llavors substituim la -n per -d que és un mode directe per llegir tantes dades com sigui possible.
Mentre no canviem el log ni la ISO, podem seguir treballant sobre la mateixa imatge, és a dir, que després d’una passada, podem fer-ne tantes com vulguem i anirá afegint dades sobre la ISO creada. Cal tenir en compte que si tenim que recuperar un disc dur o un usb, llavors aconsello fer prèviament una còpia amb dd. Així evitem modificar res sobre el disc malmés i treballarem directament sobre la imatge. Així podríem començar a treballar sobre una partició:
dd-rescue /dev/hda1 hda1.img
Aquesta imatge és una còpia bit a bit exacta. Si volem provar de reparar-la, podem pasar fsck
sudo fsck -y ~/hda1.img
Ara, podem crear una carpeta on muntar la imatge hda1.img.
mkdir -p /lloc/on/volem/muntar/recuperar
i ara muntem la imatge:
mount -o loop,ro -t filesystemtype hda1.img /lloc/on/volem/muntar/recuperar
En qualsevol moment podem aturar el procés amb CRTL+c i després, podem reiniciar i seguirà on ho hem deixat. Si volem més informació:
ddrescue -help
Espero que sigui d’utilitat ;-)