Quand un fichier est écrit sur disque, il ne peut pas toujours l'être dans des blocs consécutifs. Un fichier qui n'est pas stocké dans des blocs consécutifs est fragmenté. Lire un tel fichier exige d'avantage de temps car la tête de lecture doit se déplacer plus. Il est donc souhaitable d'éviter la fragmentation bien que ce soit moins problématique avec un système pourvu d'un bon cache avec lecture anticipée.
Le système de fichiers ext2 tente de minimiser la fragmentation en mettant tous les blocs d'un fichier les uns près des autres, même s'ils ne peuvent pas être dans des secteurs consécutifs. Ext2 alloue toujours le bloc libre qui est le plus près des autres blocs d'un fichier. Pour ext2, il est donc rarement nécessaire de se soucier de la fragmentation. Il existe un programme pour défragmenter un système de fichiers ext2, voir [TV] dans la bibliographie.
De nombreux programmes de défragmentation MS-DOS qui déplacent les blocs du système de fichiers pour supprimer la fragmentation. Pour d'autres systèmes, la défragmentation doit être réalisée en sauvegardant le système de fichiers, en le recréant et en restaurant les fichiers à partir des sauvegardes. Sauvegarder un système de fichiers avant de le défragmenter est une bonne idée dans tous les cas, car plusieurs choses peuvent mal tourner durant cette opération.