I boo­tloa­der as­si­cu­ra­no che tutti i dati rilevanti del sistema operativo siano già caricati nella memoria prin­ci­pa­le quando il di­spo­si­ti­vo viene avviato. Durante il processo di avvio, il firmware trasmette le in­for­ma­zio­ni ne­ces­sa­rie per farlo.

Che cos’è un boo­tloa­der?

I dati del sistema operativo devono essere caricati di­ret­ta­men­te nella RAM all’avvio del di­spo­si­ti­vo. Ciò è reso possibile dal co­sid­det­to boo­tloa­der, chiamato anche programma di avvio o boot loader. Un boo­tloa­der viene di solito eseguito subito dopo l’avvio di un di­spo­si­ti­vo, tramite un supporto di avvio come un disco rigido, un CD/DVD o una chiavetta USB. Le in­for­ma­zio­ni in merito alla posizione del boo­tloa­der si trovano nel supporto di avvio del firmware del computer (ad esempio nel BIOS). L’intero processo è co­mu­ne­men­te chiamato “boot”, “booting” o “bootstrap”.

N.B.

Il termine “boo­tloa­der” è la forma ab­bre­via­ta delle due parole inglesi “bootstrap loader”, espres­sio­ne che deriva dal detto inglese “to lift oneself by one’s own bootstrap” che significa let­te­ral­men­te “tirarsi su per le fibbie degli stivali” e allude, dunque, al ruolo di supporto decisivo che il boot manager svolge nel processo di avvio del computer.

Come funziona un boo­tloa­der?

Quando si preme il pulsante Start su un computer, la prima cosa che si vede sullo schermo sono alcune in­for­ma­zio­ni relative all’hardware integrato. Il software re­spon­sa­bi­le di questo messaggio è prima di tutto il già citato firmware del di­spo­si­ti­vo, che di solito viene im­ple­men­ta­to dai pro­dut­to­ri in una memoria flash sulla scheda madre del computer. La maggior parte dei PC desktop e notebook uti­liz­za­no il già col­lau­da­to BIOS (Basic Input/Output System) o il più moderno UEFI (Unified Extensible Firmware Interface). Entrambe le ap­pli­ca­zio­ni rac­col­go­no vari dati hardware e creano un elenco completo di tutte le unità di­spo­ni­bi­li del di­spo­si­ti­vo.

Una volta com­ple­ta­to il processo, il firmware esamina i supporti dati trovati uno dopo l’altro per cercare un boo­tloa­der, più pre­ci­sa­men­te per in­di­vi­dua­re una firma speciale, la co­sid­det­ta firma di avvio (chiamata anche “boot record”). La ricerca viene eseguita ini­zial­men­te sui supporti ri­mo­vi­bi­li collegati o inseriti (CD/DVD, chiavette USB, dischi rigidi esterni, ecc.), poi sui dischi rigidi in­stal­la­ti in modo per­ma­nen­te. In quest’ultimo caso, il boo­tloa­der o la sua firma si trovano so­li­ta­men­te nel Master Boot Record (MBR), che contiene anche le tabelle delle par­ti­zio­ni del supporto dati. Una volta iden­ti­fi­ca­to un boo­tloa­der, questo viene caricato e il sistema viene avviato. Se la ricerca non ha esito positivo, il firmware emette un messaggio di errore.

Consiglio

Dopo aver in­stal­la­to cor­ret­ta­men­te un sistema operativo, questo si avvierà con un boo­tloa­der situato so­li­ta­men­te sulla par­ti­zio­ne prin­ci­pa­le. Tuttavia, se il sistema è dan­neg­gia­to e de­si­de­ra­te fare una nuova in­stal­la­zio­ne, dovete avvalervi del supporto di avvio ri­mo­vi­bi­le già men­zio­na­to; questo vale, na­tu­ral­men­te, anche se non è ancora presente un sistema operativo. La nostra guida vi informa su come con­ver­ti­re una chiavetta USB in un supporto di avvio com­ple­ta­men­te fun­zio­na­le.

Dove sono me­mo­riz­za­ti esat­ta­men­te i boo­tloa­der?

Per quanto riguarda la posizione dei boo­tloa­der, ci sono es­sen­zial­men­te due pos­si­bi­li­tà:

  1. Il boo­tloa­der è me­mo­riz­za­to nel primo blocco del supporto di avvio.
  2. Il boo­tloa­der è me­mo­riz­za­to in una par­ti­zio­ne specifica del supporto di avvio.

La prima pos­si­bi­li­tà è stret­ta­men­te legata al principio dei Master Boot Record, che con­ten­go­no non solo il ri­fe­ri­men­to al boo­tloa­der richiesto dal firmware, ma anche il software di avvio stesso. Il primo blocco di memoria di­spo­ni­bi­le o settore del supporto è sempre riservato al record, indicato come blocco di avvio o settore di avvio a causa di questa im­por­tan­te funzione.

Nel secondo caso, il sistema operativo utilizza una par­ti­zio­ne se­le­zio­na­ta, per cui il file system sot­to­stan­te e le tabelle delle par­ti­zio­ni uti­liz­za­te possono essere molto diverse. Il fattore decisivo è sempre il firmware, che in questo modello di memoria di boo­tloa­der fornisce anche un formato di file specifico per il boot manager. I di­spo­si­ti­vi con UEFI, ad esempio, uti­liz­za­no il formato PE/COFF (Portable Executable / Common Object File Format).

N.B.

I boo­tloa­der possono anche essere di­stri­bui­ti su più livelli con­se­cu­ti­vi. I mul­ti­sta­ge boo­tloa­der com­pren­do­no fino a tre diversi livelli, che vengono eseguiti uno dopo l’altro. Sono ti­pi­ca­men­te usati quando il programma di avvio è troppo grande per il settore di avvio.

I compiti di un boo­tloa­der in sintesi

I boo­tloa­der fungono da in­ter­me­dia­ri tra l’hardware e il sistema operativo. Non appena un boo­tloa­der è stato ini­zia­liz­za­to dal ri­spet­ti­vo firmware, ha la re­spon­sa­bi­li­tà di sistema di avviare il booting. Il primo compito è quello di caricare la memoria centrale, fon­da­men­ta­le per la fun­zio­na­li­tà del pro­ces­so­re.

Nel secondo passaggio, il boo­tloa­der carica il kernel del sistema operativo, cioè il com­po­nen­te di base del software di sistema che controlla tutti gli accessi alla memoria e al pro­ces­so­re e contiene tutti i driver più im­por­tan­ti. Inoltre, elabora vari compiti e comandi di routine, come l’in­te­gra­zio­ne dell’archivio di dati. Alcuni boo­tloa­der eseguono compiti che vanno oltre lo scopo effettivo del software di avvio, ad esempio:

  • Ri­co­no­sce­re e avviare ulteriori boo­tloa­der di­spo­ni­bi­li
  • Eseguire programmi ap­pli­ca­ti­vi (uti­liz­za­ti negli anni ‘80 per eseguire giochi per computer di­ret­ta­men­te dal dischetto)
  • Cor­reg­ge­re funzioni errate o mancanti e input nel firmware
  • Caricare un firmware al­ter­na­ti­vo

Dopo aver com­ple­ta­to con successo tutti i compiti, il boo­tloa­der passa infine la re­spon­sa­bi­li­tà di sistema al kernel.

Quali tipi di boo­tloa­der esistono?

Abbiamo riassunto gli aspetti più im­por­tan­ti sui boo­tloa­der. La seguente tabella elenca quali sono i boo­tloa­der più noti e più im­por­tan­ti:

Nome del boo­tloa­der De­scri­zio­ne
Bootmgr Programma di boot dei sistemi Microsoft da Windows Vista o Windows Server 2008
NT-Loader (NTLDR) Programma di boot dei sistemi Microsoft fino a Windows XP o Windows Server 2003
barebox Boo­tloa­der per sistemi integrati in stampanti, macchine fo­to­gra­fi­che, auto, aerei, ecc.
boot.efi Boo­tloa­der EFI, in uso su di­spo­si­ti­vi Mac dal 2006
BootX Ex boo­tloa­der di sistemi operativi Mac
Grand Unified Boo­tloa­der (GRUB) Programma di boot gratuito per sistemi operativi simili a Unix, come Linux
ARM Core Boo­tloa­der Boo­tloa­der per mi­cro­con­trol­lo­ri (usato ad esempio su iPhone)
OpenBIOS Boot manager gratuito e portatile con licenza GNU-GPL
Vai al menu prin­ci­pa­le