Che cos’è un caricatore di avvio?

Un boot loader è un piccolo pezzo di codice software che viene eseguito durante la sequenza di avvio di un computer o di un altro dispositivo. Copia file e componenti critici di un sistema operativo da un dispositivo di archiviazione, come un disco rigido, nella memoria principale del computer. Il programma darà quindi il controllo del sistema operativo e si chiuderà fino al prossimo avvio. I boot loader variano in complessità e vengono utilizzati anche in dispositivi come smartphone, tablet e console per videogiochi.

Il processo di avvio nella maggior parte dei personal computer (PC) è un evento complesso con più fasi. L’unità di elaborazione centrale (CPU) all’interno della maggior parte dei PC non è in grado di eseguire programmi direttamente da un dispositivo di archiviazione, come un disco rigido, quindi il primo software da eseguire all’accensione del computer viene caricato da uno speciale microchip sulla scheda madre , il circuito centrale del computer. Questo microchip può contenere uno dei diversi programmi specializzati, incluso il BIOS (Basic Input Output System) o l’interfaccia firmware estensibile unificata (UEFI), che eseguono test hardware e funzioni di inizializzazione prima di cercare un boot loader su dischi rigidi e dispositivi di archiviazione rimovibili. Il codice dal caricatore di avvio viene quindi trasferito nella memoria di sistema, che assume il controllo del computer e sposta la sequenza di avvio al passaggio successivo.

Una volta che ha il controllo, il boot loader procede al caricamento dei driver essenziali e dei file di sistema critici necessari per eseguire un sistema operativo come Microsoft Windows®, Linux o Mac OS X®. I boot loader sono spesso specifici della piattaforma, poiché i driver e i file di sistema variano ampiamente tra i diversi sistemi. Possono anche essere eseguiti in più fasi, con ogni fase del programma che carica un software più complesso e potente. Sui computer su cui è installato più di un sistema operativo, un programma chiamato boot manager consente agli utenti di selezionare un sistema da avviare e di passare il controllo al caricatore di avvio appropriato. Dopo che un sistema operativo è stato caricato, il boot loader rinuncia al controllo del sistema ed esce.

Anche smartphone, tablet, console per videogiochi, prodotti di elettronica di consumo e molti altri tipi di dispositivi utilizzano i boot loader. Se un dispositivo attraversa un periodo di avvio o caricamento quando viene acceso per la prima volta, è molto probabile che utilizzi un caricatore di avvio. È noto che alcuni appassionati di tecnologia hanno hackerato o sostituito i boot loader di determinati dispositivi per eseguire software personalizzato o abilitare funzionalità più avanzate.