Formatar un disc amb mkfs: ext4, FAT32, exFAT | Iespai

Formatar un sistema de fitxers a Linux: mkfs, ext4, FAT32, exFAT i swap



Formatar és crear un sistema de fitxers nou en una partició o un disc: l’estructura (superbloc, taules d’inodes, directori arrel…) que permet guardar-hi fitxers. A Linux es fa amb la família de comandes mkfs, una per a cada tipus de sistema de fitxers. En aquest article veuràs quina triar en cada cas i com fer-la servir sense esborrar el disc equivocat.


Abans de començar

Formatar esborra tot el que hi ha a la partició. Abans d’executar res:

  1. Identifica bé el dispositiu amb lsblk -f. Mira la mida, l’etiqueta i on està muntat:
$ lsblk -f
NAME        FSTYPE FSVER LABEL  UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
sda
└─sda1      ext4   1.0   dades  3c1f…
mmcblk0
├─mmcblk0p1 vfat   FAT32 bootfs BFD4-9C30                             425.4M    16% /boot/firmware
└─mmcblk0p2 ext4   1.0   rootfs 8abab6b9-ef90-4fee-ae3d-91079bfae7c1   91.4G    18% /
  1. Desmunta la partició si està muntada: sudo umount /dev/sdb1.
  2. Totes aquestes comandes necessiten permisos d’administrador (sudo).

Sobre els noms dels dispositius: l’article original feia servir /dev/hda1, que és el nom dels antics discos IDE. Avui els discos SATA, SAS i USB es diuen /dev/sda, /dev/sdb…, els NVMe /dev/nvme0n1p1 i les targetes SD /dev/mmcblk0p1. Als exemples faré servir /dev/sdb1; canvia’l pel teu.


mkfs: la comanda general

mkfs és un intermediari: crida el programa específic segons el tipus que li indiquis amb -t.

sudo mkfs -t ext4 /dev/sdb1     # equival a mkfs.ext4 /dev/sdb1

Compte: si no poses -t, mkfs crea un ext2, un sistema de fitxers sense diari (journal) que avui no té sentit per a un disc de dades. Val més cridar directament el programa concret: mkfs.ext4, mkfs.fat, mkfs.exfat…


ext4: el sistema de fitxers habitual a Linux

sudo mkfs.ext4 -L dades /dev/sdb1

Sortida (en una partició de 512 MB):

mke2fs 1.47.2 (1-Jan-2025)
Creating filesystem with 131072 4k blocks and 32768 inodes
Filesystem UUID: 55077498-3d7e-44e7-ad8e-e3493f37255d
Superblock backups stored on blocks:
 32768, 98304

Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

Apunta’t els Superblock backups: si un dia el superbloc principal es fa malbé, e2fsck -b 32768 pot fer servir una d’aquestes còpies.

OpcióQuè fa
-L etiquetaPosa una etiqueta (nom) al sistema de fitxers
-m percentatgeBlocs reservats per a root (per defecte, el 5%)
-t tipusTipus: ext2, ext3 o ext4
-cBusca blocs defectuosos abans de crear-lo
-FForça la creació encara que el dispositiu sembli en ús o tingui un sistema de fitxers
-U uuidFixa un UUID concret

En un disc només de dades (no el del sistema), el 5% reservat per a root és molt d’espai. Pots reduir-lo a l’1% en crear-lo (mkfs.ext4 -m 1 …) o després amb sudo tune2fs -m 1 /dev/sdb1.

I ext2 i ext3?

L’original explicava mke2fs (crea un ext2) i mke2fs -j (afegeix el diari i, per tant, crea un ext3). Totes dues funcionen, i mkfs.ext2, mkfs.ext3 i mkfs.ext4 són el mateix programa (mke2fs) amb una configuració diferent. Però ext2 i ext3 ja són històrics: per a qualsevol disc nou, fes servir ext4.


FAT32 i exFAT: memòries USB i targetes

Per a una memòria que també s’ha de llegir a Windows o macOS, o per a una partició d’arrencada UEFI, el format és FAT32:

sudo mkfs.fat -F 32 -n USB /dev/sdc1

-F 32 indica FAT32 i -n posa l’etiqueta (a FAT, millor en majúscules i d’11 caràcters com a màxim). mkfs -t vfat -F 32 /dev/sdc1 fa el mateix. Fixa’t que la comanda de l’original tenia l’ordre canviat (-t vfat 32 -F) i no funcionaria.

FAT32 no admet fitxers de més de 4 GB. Per a memòries i discos grans, millor exFAT (paquet exfatprogs):

sudo mkfs.exfat -L DADES /dev/sdc1

Per a un disc que s’ha de fer servir sobretot a Windows hi ha mkfs.ntfs (paquet ntfs-3g); afegeix -Q per fer un format ràpid, perquè sense aquesta opció omple tot el disc de zeros i pot tardar hores.


Altres sistemes de fitxers

SistemaComandaPaquet a Debian/Ubuntu
ext4mkfs.ext4e2fsprogs (ja instal·lat)
FAT32mkfs.fat -F 32dosfstools
exFATmkfs.exfatexfatprogs
NTFSmkfs.ntfs -Qntfs-3g
XFSmkfs.xfsxfsprogs
Btrfsmkfs.btrfsbtrfs-progs

XFS és el sistema per defecte a Red Hat, Rocky i Alma; Btrfs, a Fedora i openSUSE.


Swap: mkswap

mkswap prepara una partició (o un fitxer) com a espai d’intercanvi (swap), la memòria virtual que el sistema fa servir quan la RAM no n’hi ha prou. No és un sistema de fitxers per guardar-hi dades.

sudo mkswap -L swap /dev/sdb3
sudo swapon /dev/sdb3
Setting up swapspace version 1, size = 256 MiB (268431360 bytes)
LABEL=swap, UUID=dc12ef29-5632-4bbd-b3f6-8ca5ce491df6

mkswap només el prepara: és swapon qui l’activa. Perquè s’activi a cada arrencada, cal afegir-lo a /etc/fstab. Avui, a més, és habitual fer servir un fitxer de swap en lloc d’una partició, o swap comprimit a la RAM (zram), que és el que fan Fedora i Raspberry Pi OS.


Disquets: fdformat

L’original també esmentava fdformat -n /dev/fd0, que fa un format de baix nivell d’un disquet (l’opció -n desactiva la verificació posterior, no fa cap verificació «sense esborrar»). Avui ja no té cap ús pràctic: no hi ha disquets ni disqueteres, i les memòries USB i targetes SD no necessiten format de baix nivell; només cal crear-hi el sistema de fitxers amb mkfs. Debian 13 ni tan sols l’instal·la per defecte.


Després de formatar

  1. Comprova-ho amb lsblk -f o blkid: hi ha d’aparèixer el tipus, l’etiqueta i l’UUID nous.
  2. Munta’l: sudo mount /dev/sdb1 /mnt/dades.
  3. Si s’ha de muntar sol a cada arrencada, afegeix-lo a /etc/fstab fent servir l’UUID (no /dev/sdb1, que pot canviar si connectes discos en un altre ordre).

Si vols deixar un disc net abans de fer-hi particions noves, wipefs mostra (sense opcions) i esborra (amb -a) les signatures de sistemes de fitxers que hi ha:

$ sudo wipefs /dev/sdb1
DEVICE OFFSET TYPE UUID                                 LABEL
sdb1   0x438  ext4 932db628-7261-4f6e-8f9e-07cdc213ebf9 dades

Resum

Vull…Comanda
Un disc de dades per a Linuxsudo mkfs.ext4 -L dades /dev/sdb1
Una memòria USB per a qualsevol sistemasudo mkfs.fat -F 32 -n USB /dev/sdc1
Una memòria o un disc gran, amb fitxers de més de 4 GBsudo mkfs.exfat -L DADES /dev/sdc1
Una partició de swapsudo mkswap /dev/sdb3 i sudo swapon /dev/sdb3
Veure què hi ha a cada particiólsblk -f

Articles relacionats

Esta web usa cookies.