• Tag Archives disc dur
  • Copiar el MBR d’un disc a un altre

    Amb la següent comanda podem copiar el MBR (Master Boot Record) d’un disc a un altre:

    dd if=/dev/sdx of=/dev/sdy bs=512 count=1

    L’explicació d’aquesta és: llegeix i escriu (copia) només un bloc de 512 bytes del disc sdx al disc sdy.

    Això pot ser útil quan per alguna raó perdem la taula de particions d’un disc dur o d’un pen drive, i d’aquesta manera restablim el MBR a partir d’un altre disc. He vist moltes vegades que un disc dur que no té cap partició, el sistema operatiu Windows no el reconeix. Això vol dir que el disc, per exemple /dev/sdx, no conté /dev/sdx1, /dev/sdx2… que seria cadascuna de les particions; ho podem comprovar si teclegem al terminal:

    ls /dev/sdx*

    només ens apareix l’arrel del disc /dev/sdx.

    Una altra manera de crear particions és amb els programes cfdisk o fdisk, tot seguint les instruccions que indiquen.

    GD Star Rating
    loading...

  • Mini benchmark de reiserfs

    Després d’haver recuperat totes les dades dels dos discos durs, i d’haver comprovat que el disc important no té errors de maquinari, l’he formatat. He creat el sistema de fitxers reiserfs amb:

    cfdisk /dev/sda1 #crear la partició de forma interactiva
    mkreiserfs /dev/sda1 #formatejar amb reiserfs

    He passat totes les dades d’un disc dur (de la marca Seagate) a un altre (Western Digital), tots dos SATA i de 500 GB. Primer he mirat la quantitat de dades que havia de passar, en kibibytes (KiB) i en gibibytes (GiB):

    minterior@jau:/media/recuperat$ du -sc
    309201518       .
    309201518       total
    minterior@jau:/media/recuperat$ du -sch
    295G    .
    295G    total

    Podem comprovar l’equivalència: 309201518 KiB / 1024 / 1024 = 294,877546 GiB ≈ 295 GiB

    La còpia l’he feta des del terminal, anteposant la comanda time a la comanda cp -rp per obtenir el temps de duració de la còpia, que ha estat:

    15.63user 2163.99system 1:54:07elapsed 31%CPU (0avgtext+0avgdata 0maxresident)k
    618162424inputs+617982328outputs (1major+347minor)pagefaults 0swaps

    Quasi dues hores. Per tant ha estat 6847 segons (1*3600 + 54*60 + 7) per escriure 316.622.354.432 bytes (309201518 * 1024), el que és una velocitat de:

    46242493.71 bytes/s ≈ 46,2425 MB/s = 44,1003 MiB/s

    GD Star Rating
    loading...

  • Comprovar sectors danyats d’un disc dur amb badblocks

    Un cop recuperades les dades dels discs durs que tenien problemes, volia comprovar si aquests tenien sectors danyats. Ho he fet amb l’eina de Linux badblocks. Es pot executar de forma destructiva o no-destructiva, i jo he triat la primera perquè no tenia dades al disc que hagués de conservar. Per tant he executat:

    badblocks -wvs -o badblocks-sda.log /dev/sda

    Les opcions triades volen dir:

    -w    test de lectura i escriptura DESTRUCTIU.
    -v    mostra més informació
    -s    mostra el progrés
    -o    fitxer on escriure la llista de blocs defectuosos
    

    Si observeu la comanda, no he indicat cap partició sinó tot el disc sencer (/dev/sda), la qual cosa combinada amb l’opció -w implica que el MBR, particions existents i dades, seran destruïts.

    Si no voleu perdre cap dada del disc i fer també el test de lectura i escriptura canvieu l’opció -w per -n. Si no en poseu cap de les dues el test serà de només lectura. Per a més informació i opcions recordeu mirar el manual escrivint al terminal:

    man badblocks

    En el meu cas, després d’esperar unes quantes hores, vaig tenir sort i cap sector del disc dur estava danyat. 🙂

    Sort! 😉

    GD Star Rating
    loading...

  • GNU ddrescue per recuperar dades de discs durs

    L’altre dia (uf, ja fa un mes d’això!) vaig explicar la mala sort que vaig tenir quan dos discs durs tenien errors dels tres que tinc al meu ordinador. Abans d’ahir vaig començar les tasques de recuperació de dades, amb el programa GNU ddrescue. Al mateix manual en línia de ddrescue hi ha exemples molt útils, el primer dels quals és el que necessito jo. Anem per feina.

    Recordo que l’objectiu és recuperar les dades de dos discos idèntics de 500 GB a un tercer disc auxiliar de la mateixa capacitat, que em va deixar un bon amic meu. És obvi que l’auxiliar ha de ser de la mateixa capacitat o major que el disc que volem recuperar. Primer ho intentaré amb un disc i després amb l’altre. El paràmetre de ddrescue -n o –no-split no intenta dividir o reintentar blocs fallits, i això faig a la primera passada:

    root@jau:~# ddrescue -n /dev/sda /dev/sdb ddrescue-sda-a-sdb.log
    
    Press Ctrl-C to interrupt
    Initial status (read from logfile)
    rescued:         0 B,  errsize:       0 B,  errors:       0
    Current status
    rescued:   500107 MB,  errsize:    143 kB,  current rate:    10265 B/s
    ipos:       29744 kB,   errors:      36,    average rate:   14150 kB/s
    opos:       29744 kB,     time from last successful read:       0 s
    Finished

    El procés ha trigat unes 10 hores. Cosa que podem comprovar a partir de les dades informatives anteriors:
    500107 MB / 14,150 MB/s / 3600 s/h ≈ 9,8 hores.

    Tot seguit executo ddrescue amb les opcions -d–direct , que usa accés directe al disc d’entrada, i -r o –max-retries=<n>, que surt després de n intents. Li passo el mateix nom de fitxer de log que a la comanda anterior i així ddrescue sap que només ha de buscar els sectors on ha tingut problemes durant la primera lectura:
    Continue reading  Post ID 359

    GD Star Rating
    loading...

  • Dos discs durs comprats alhora amb errors

    Quan semblava que la setmana havia anat malament i havia acabat el divendres amb un atropellament i embenat del turmell de la cama dreta, encara podia anar pitjor. Ja ho diu l’amic l’enemic Murphy: “Si alguna cosa pot sortir malament, sortirà malament”. I com vaig llegir al llibre de les lleis de Murphy: “si alguna cosa va malament, anirà pitjor”.

    El cas és que el dissabte, em disposava a fer feina a l’ordinador de casa, quan de sobte vaig començar a notar problemes d’accés a disc, i un sorollet sospitós. Després de comprovar que no podia escriure a la partició de dades, vaig reiniciar la màquina i van aparèixer els errors al syslog…