⭐⭐Imatge de disc amb ‘dd’ vs ‘partclone’


📌 Què fa la comanda dd i com s’usa per fer una imatge de disc

dd és una eina clàssica de Linux que copia dades bit a bit (a nivell brut, sense interpretar el sistema de fitxers). És ideal per fer imatges exactes d’una partició o d’un disc sencer.

Exemple que vam utilitzar:

sudo dd if=/dev/sda4 of=/media/Miquel/backup/sda4_amd0.img bs=4M status=progress

Desglossament dels paràmetres:

ParàmetreSignificat
sudoExecuta amb permisos d’administrador (imprescindible per llegir el disc).
if=Input File → l’origen. Aquí /dev/sda4 (la partició que volem copiar).
of=Output File → la destinació. /media/Miquel/backup/sda4_amd0.img (el fitxer imatge al USB).
bs=4MBlock Size → mida de cada bloc de lectura/escriptura (4 MB). Aconsegueix un bon equilibri entre velocitat i memòria.
status=progressMostra en temps real el progrés, la velocitat i el temps transcorregut.

Què fa realment?

  • Llegeix la partició /dev/sda4 bloc a bloc i ho escriu tot al fitxer .img.
  • La imatge resultant és una còpia exacta de la partició (incloent-hi espai buit, sistema de fitxers, metadades…).
  • Es pot restaurar més endavant amb la mateixa comanda però invertint els paràmetres:sudo dd if=fitxer.img of=/dev/sda4 bs=4M status=progress

Aquí tens la comanda exacta de restauració:

sudo dd if=/media/Miquel/backup/sda4_amd0.img of=/dev/sda4 bs=4M status=progress

Recorda: executa-la des d’un USB en viu, amb sda4 desmuntada i verificant amb lsblk que of=/dev/sda4 és la partició correcta. 😉


⚠️ Avís important per al blog:

  • dd no comprova si la partició està muntada → fer-ho amb una partició en ús pot donar una imatge inconsistent o corrompre dades.
  • Molt perillós: si et confons en of=, pots sobrescriure un disc sencer. Sempre comprova els discs amb lsblk abans.
  • La imatge ocupa tota la mida de la partició, no només l’espai usat (en el nostre cas, 58G).

Aquí tens un resum clar i directe per al teu blog:


📌 partclone: copiar només l’espai usat (l’alternativa intel·ligent a dd)

Què és i què fa?

partclone és una eina de clonatge que només copia els blocs en ús d’una partició, ignorant l’espai buit. Això fa que les imatges siguin molt més petites i ràpides de crear que amb dd (que ho copia tot, fins i tot el buit).

  • Imatge dd: 58G (la partició sencera).
  • Imatge partclone: ~38G (només el que s’usa realment).

Com s’usa?

sudo partclone.ext4 -c -s /dev/sda4 -o /media/Miquel/backup/imatge.img
ParàmetreSignificat
partclone.ext4La variant per al sistema de fitxers ext4 (hi ha .xfs, .ntfs, .btrfs…).
-cClone → crear una imatge.
-sSource → partició d’origen (/dev/sda4).
-oOutput → fitxer de destinació.

Opcions útils:

  • -z → comprimeix la imatge (més petita, més lenta).
  • -N → interfície gràfica (ncurses) amb progrés visual.

Restauració:

sudo partclone.ext4 -r -s imatge.img -o /dev/sda4

⚠️ Per què NO ha estat possible en aquest cas?

Quan vam intentar fer la imatge de sda4, partclone va donar aquest error:

device (/dev/sda4) is mounted at /var
error exit

El motiu: partclone es nega a treballar amb particions muntades i en ús, perquè si hi ha escriptures mentre copia, la imatge quedaria inconsistent. Com que sda4 és la partició arrel (muntada a /, /var, /ostree…), i estàvem treballant des del mateix sistema, era impossible desmuntar-la.

En canvi, dd sí que ho va permetre perquè no comprova si la partició està muntada (tot i que ho fa amb cert risc d’inconsistència).

Solució per a partclone: cal fer-ho des d’un USB en viu (live), on sda4 no està muntada. Llavors partclone funciona sense problemes i amb la imatge més petita.


Si ho vols, et preparo també la part de comparació final dd vs partclone per tancar l’article. Vols?