Qual è il modo migliore per deframmentare un filesystem FAT quando si esegue Linux/Unix (ad esempio su chiavetta USB)?
- Copiare tutti i contenuti altrove, formattare, copiare nuovamente?
- Usare l'utilità di deframmentazione di FreeDOS, in un comando KVM?
- Avvio con logica di partizione?
- altro?
Risposta accettata:
Puoi controllare se un file è frammentato o meno usando il filefrag
utilità.
In questo modo puoi filtrare i file che non sono frammentati ed eseguire la copia/copia indietro solo per i file già frammentati. Questo dovrebbe farti risparmiare tempo. Tuttavia, tieni presente che non vi è alcuna garanzia che il nuovo layout del file sarà migliore di quello vecchio.
Il modo migliore è ignorare del tutto la frammentazione dei file. Soprattutto su una chiavetta USB non ha importanza, spreca solo cicli di scrittura e, a differenza degli HDD, non ci sono parti mobili e quindi non è una penalità dovuta alla frammentazione.
La deframmentazione dovrebbe essere necessaria solo se è successo qualcosa di divertente che ha causato la frammentazione dei file in modo molto estremo. Ad esempio client torrent che scaricano i contenuti dei file in ordine casuale senza preallocazione. Ma a meno che FAT non abbia iniziato a supportare file sparsi a un certo punto, non è nemmeno un problema, poiché la preallocazione è obbligatoria su un tale FS.