Boot loader: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
fix |
m Aggiunto riferimento a Sblocco del bootloader (per disorfanare). |
||
(4 versioni intermedie di 4 utenti non mostrate) | |||
Riga 9:
[[File:Windows_Boot_Manager.png|thumb|upright=1.1|[[Windows Boot Manager]]]]
=== Compiti ===
La funzione fondamentale di un boot loader è dunque caricare ed eseguire una kernel di sistema operativo, unitamente ai processi e servizi secondari. Nella maggior parte dei casi, questo richiede di accedere alla [[memoria di massa]], per leggere il kernel di sistema operativo, e potenzialmente altri [[file]]. Nei casi più semplici, il boot loader contiene l'indirizzo dei blocchi di disco in cui sono memorizzati i file da caricare, e deve quindi essere aggiornato se questi file vengono modificati. L'accesso al disco spesso avviene attraverso le funzioni fornite dal [[firmware]] (il [[BIOS]] nei sistemi [[PC IBM]] compatibili).
Alcuni boot loader posseggono la capacità di interpretare uno o più [[file system]] per trovare i file da caricare. In questo caso, possono anche caricare un [[file di configurazione]] dal disco, o permettere ad un utente avanzato di esplorare il disco alla ricerca di file da caricare.
Alcuni boot loader sono in grado di utilizzare le funzionalità fornite da alcune [[scheda di rete|schede di rete]] (tipicamente [[ethernet]]) per scaricare un kernel dalla rete, tipicamente via [[TFTP]].
Ogni sistema operativo installato anzi ogni volume avviabile (esistono infatti anche ambienti di ripristino o simili) ha uno specifico boot loader o, meglio, il file di configurazione di avvio (per [[Windows 10]] si chiama BCD, ad esempio) contiene le istruzioni di avvio specifiche che devono essere lette dal boot loader per ogni volume avviabile.
Funzionalità aggiuntive presenti in alcuni boot loader:
Riga 30:
Esistono alcune limitazioni imposte dalla tecnica e dai produttori di hardware e firmware per cui, al fine di aggirarle molti boot loader moderni operano ricorrendo al cosiddetto ''boot in due stadi'', lo stage 1 e lo stage 2, divisione logica che rimarca diversi momenti della fase di avvio. Quanto alle limitazioni esse sono, per esempio, la possibilità di caricare dal dispositivo di boot nella [[RAM|memoria centrale]] solo una piccola quantità di byte e trovarla posizionata in un punto piuttosto sconveniente della memoria - è il caso emblematico dei sistemi basati sulla famiglia [[Architettura x86|x86]] che carica i primi 512 byte che incontra sul dispositivo di boot a partire dall'indirizzo 0x0000:0x7C00 in avanti (ultimo byte in 0x0000:0x7DFF).
Con l'avvento della tecnologia [[Unified Extensible Firmware Interface|Uefi]] e del relativo partizionamento [[GUID Partition Table|GPT]] il funzionamento del boot loader è cambiato sostanzialmente a cominciare dal fatto che si trova, fisicamente, nella cartella efi contenuta nella relativa partizione di sistema.<ref>{{Cita web|lingua=en|url=https://conclusive.tech/glossary/what-is-a-bootloader-how-does-it-work/?utm_source=chatgpt.com|titolo=What is a Bootloader? How Does It Work In Embedded System? {{!}} Glossary|sito=conclusive.tech|accesso=2025-02-01}}</ref>
== Esempio di boot a stadi ==
Riga 65:
Anche il sistema operativo di uno [[smartphone]], [[Tablet PC|tablet]] o [[palmare]] contiene un boot loader. Nel campo dei [[Dispositivo mobile|dispositivi mobili]] i bootloader dei sistemi operativi originali sono spesso modificati dagli [[Original equipment manufacturer|OEM]] cioè i produttori del dispositivo, come succede per gli smartphone che montano [[Android]]. Questo, invece, non accade per i dispositivi [[Apple]] essendo realizzati dalla stessa azienda che sviluppa il sistema operativo ([[IOS]]).
I boot loader dei sistemi operativi installati su dispositivi mobili, con le relative limitazioni lato utente, hanno scatenato la "moda" del cosiddetto [[modding]] e delle operazioni conseguenti (''[[rooting|rootare]]'', [[Sblocco del bootloader|sbloccare]], ''flashare'', ecc.)<ref>[https://www.androidpit.it/bootloader-cose Guida al Bootloader: cos'è e a cosa serve - AndroidPIT]</ref>.
== Note ==
|