Perchè non si possono spostare i file di avvio dalla directory principale?
Se si esamina il contenuto del disco rigido, probabilmente si noterà che un certo numero di file del sistema operativo si trova nella directory principale dell’unità di avvio. A uno sguardo ravvicinato, si potrebbe notare un tema: boot.ini, NTLDR e NTDETECT.COM sono file di avvio critici e hiberfil.sys è il file di sospensione. Tutti questi file sono coinvolti nelle prime fasi cruciali di avvio del sistema operativo oppure, nel caso di hiberfil.sys, nella riattivazione dalla sospensione e devono trovarsi nella directory principale dell’unità di avvio. Perché non è possibile spostarli altrove?
Adrian Oney, collega di Chen, ha spiegato: per leggere i file di avvio dal disco, è necessario il driver del file system. Ma quest’ultimo si trova sul disco, che non è leggibile se prima non viene caricato il driver del file system. Oh no, è un vicolo cieco!
Niente paura: la soluzione consiste nell’integrare un driver del file system in miniatura nei file di avvio critici. Questo driver in miniatura riesce appena a individuare i file nella directory principale e a caricarli in memoria. I file, a loro volta, possono iniziare ad avviare il sistema operativo, dopo di che subentra il vero driver del file system che cerca i file necessari in posizioni più appropriate, come le sottodirectory