Vai al contenuto
Offerte

Windows 11, la vecchia funzione DOS che frena le cartelle enormi

In questo articolo Indice dei contenuti 2 sezioni

Un’unità SSD NVMe capace di trasferire diversi gigabyte al secondo non basta, da sola, a garantire che Windows 11 gestisca in fretta una cartella con centinaia di migliaia o addirittura milioni di file. In certi casi il freno non sta nel dispositivo di archiviazione ma in una funzione nata ai tempi di MS DOS e ancora supportata dal sistema operativo, cioè i nomi di file 8.3, noti anche come 8dot3 o Short File Names. Microsoft consente di disattivarne la generazione per motivi prestazionali, pur avvertendo che vecchi programmi, installer e voci del Registro possono dipendere ancora da quei nomi abbreviati. Con la creazione dei nomi corti spenta il sistema può risultare più fluido e le ricerche più rapide.

Dell ha documentato il fenomeno studiando le prestazioni di ripristino di Avamar, la piattaforma per backup, deduplicazione e recupero dei dati, verso directory NTFS popolate da milioni di file. Per separare il comportamento del file system da quello del software, i tecnici hanno usato uno strumento che crea file univoci nella stessa cartella. Con i nomi 8.3 attivi le prestazioni arrivavano quasi a bloccarsi intorno a 1,3 milioni di file, mentre disattivandoli la stessa prova permetteva di superare i 5 milioni in un tempo compreso fra 2 e 3 ore. L’azienda segnala anche un limite pratico attorno a 1,1 milioni di elementi, oltre il quale la velocità di creazione calava in modo molto marcato.

Perché Windows tiene ancora in vita i nomi corti

I nomi abbreviati servono a preservare la compatibilità con applicazioni, script e installer che lavorano con percorsi in formato DOS. In pratica Windows conserva accanto al nome lungo una seconda rappresentazione dello stesso oggetto. Secondo la documentazione Microsoft sulle convenzioni dei nomi file, quando nasce un nome esteso il sistema può generare anche un alias 8.3 e memorizzarlo insieme. L’API Win32 offre poi funzioni come GetShortPathName, che restituisce la forma breve di un percorso, e GetLongPathName, che compie l’operazione inversa. L’esempio più noto è probabilmente la cartella PROGRA~1, con la sua tilde.

Quando questa generazione è attiva il file system NTFS non si limita a registrare il nome lungo. Deve stabilire quale alias usare, verificare che non vada in conflitto con quelli già presenti nella directory e mantenere le informazioni che gli permettono di identificare sempre il file giusto. Con grandi volumi di dati il costo di queste operazioni aggiuntive si fa sentire. Un carico fatto di milioni di piccole creazioni, ricerche e controlli sui nomi pesa molto di più, in proporzione, della semplice copia sequenziale di un singolo file da 20 GB.

Come controllare lo stato e perché il disco di sistema va trattato con cautela

Per sapere se la funzione è abilitata basta il comando fsutil. Da un Prompt dei comandi aperto con privilegi di amministratore si può interrogare un volume, per esempio C:, digitando fsutil 8dot3name query C:. Se il volume risulta in stato 0 la creazione dei nomi 8.3 è attiva. Il valore 2 del Registro indica invece che Windows non impone una regola unica per tutte le unità collegate ma lascia la decisione alla configurazione di ciascun volume, per cui su C: prevale l’impostazione locale. Uno script PowerShell eseguito con diritti amministrativi permette poi di elencare quali file e cartelle sono salvati sia con il nome lungo sia nella forma abbreviata, mostrando entrambi i percorsi completi. Il numero può sorprendere parecchio.

Microsoft spiega che sui sistemi moderni l’aliasing 8.3 si può disattivare in modo selettivo, ma il volume di sistema merita un trattamento a parte proprio per ragioni di compatibilità applicativa. Rimuovere i nomi corti da un’unità secondaria piena di piccoli file con fsutil 8dot3name strip può essere una scelta sensata dopo aver controllato le dipendenze. Fare lo stesso su C: è un intervento che Microsoft stessa sconsiglia. Cancellare gli alias esistenti è poi ancora più delicato che bloccare la creazione dei nuovi, perché tocca nomi magari usati da software installato da anni.

Non si tratta comunque di una scorciatoia magica per velocizzare qualunque PC. Su una macchina normale l’effetto dei nomi corti può essere così ridotto da non giustificare alcuna modifica, mentre su un server che genera milioni di oggetti nella stessa cartella può trasformarsi in un vero collo di bottiglia. Prima di intervenire sui file esiste il comando fsutil 8dot3name scan, che cerca nel Registro i riferimenti a percorsi abbreviati e fa emergere eventuali rischi prima che la rimozione venga eseguita.

Fonte: TecnoAndroid

Condividi:
61 Condivisioni