📌 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àmetre | Significat |
|---|---|
sudo | Executa 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=4M | Block Size → mida de cada bloc de lectura/escriptura (4 MB). Aconsegueix un bon equilibri entre velocitat i memòria. |
status=progress | Mostra en temps real el progrés, la velocitat i el temps transcorregut. |
Què fa realment?
- Llegeix la partició
/dev/sda4bloc 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:
ddno 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 amblsblkabans. - 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àmetre | Significat |
|---|---|
partclone.ext4 | La variant per al sistema de fitxers ext4 (hi ha .xfs, .ntfs, .btrfs…). |
-c | Clone → crear una imatge. |
-s | Source → partició d’origen (/dev/sda4). |
-o | Output → 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?