Comprendere il processo di avvio di Windows può aiutare un tecnico a risolvere i problemi di avvio.
Processo di avvio di Windows
Per iniziare il processo di avvio, accendi il computer. Questo è chiamato un avvio a freddo. Quando il computer è acceso, esegue un POST (Power On Self Test). Poiché l'adattatore video non è ancora stato inizializzato, gli errori che si verificano a questo punto del processo di avvio sono segnalati da una serie di toni udibili, chiamati codici bip.
Dopo il POST, il BIOS individua e legge le impostazioni di configurazione che sono memorizzate nella memoria CMOS. La priorità del dispositivo di avvio è l'ordine in cui i dispositivi vengono controllati per individuare il sistema operativo. La priorità del dispositivo di avvio è impostata nel BIOS e può essere disposta in qualsiasi ordine. Il BIOS avvia il computer usando la prima unità che contiene un sistema operativo.
I dischi rigidi, unità di rete, unità USB e persino supporti magnetici rimovibili, come le schede CompactFlash o Secure Digital (SD) possono essere utilizzati nell'ordine di avvio, a seconda delle capacità della scheda madre. Alcuni BIOS hanno anche un menu di priorità del dispositivo di avvio a cui si accede con una speciale combinazione di tasti mentre il computer si avvia ma prima che la sequenza di avvio inizi. È possibile utilizzare questo menu per selezionare il dispositivo da avviare, il che è utile se più unità possono avviare il computer.
Windows Boot Loader e Windows Boot Manager in Windows 7 e Windows Vista
Quando l'unità che memorizza il sistema operativo si trova, il BIOS trova il Master Boot Record (MBR). A questo punto, Windows Boot Manager (BOOTMGR) controlla diverse fasi dell'installazione. Per esempio, se più di un sistema operativo è presente sul disco, BOOTMGR dà all'utente la possibilità di scegliere quale usare. Se non ci sono altri sistemi operativi, o se l'utente non fa una selezione prima che il timer scada, avviene il seguente processo:
1. WinLoad usa il percorso specificato in BOOTMGR per trovare la partizione di avvio.
2. WinLoad carica due file che costituiscono il nucleo di Windows 7: NTOSKRNL.EXE e HAL.DLL.
3. WinLoad legge i file di registro, sceglie un profilo hardware e carica i driver dei dispositivi.
NOTA: Se sul disco è presente un'altra versione del sistema operativo che è Windows Vista o successiva, BOOTMGR ripete il processo. Se sul disco c'è un'altra versione del sistema operativo che è Windows XP o precedente, BOOTMGR invoca il boot loader di Windows XP (NTLDR).
NTLDR e il menu di avvio di Windows XP
Quando l'unità con il sistema operativo si trova su un computer con Windows XP, il BIOS individua l'MBR. L'MBR individua il boot loader del sistema operativo NTLDR. A questo punto, NTLDR controlla diversi passi dell'installazione. Per esempio, se più di un sistema operativo è presente sul disco, BOOT.INI dà all'utente la possibilità di scegliere quale usare. Se non ci sono altri sistemi operativi, o se l'utente non fa una selezione prima che il timer scada, avviene il seguente processo:
1. NTLDR viene eseguito per ottenere informazioni sull'hardware installato.
2. NTLDR usa il percorso specificato in BOOT.INI per trovare la partizione di avvio.
3. NTLDR carica due file che costituiscono il nucleo di XP: NTOSKRNL.EXE e HAL.DLL.
4. NTLDR legge i file di registro, sceglie un profilo hardware e carica i driver dei dispositivi.
NT Kernel
A questo punto, il kernel NT prende il controllo. Il kernel NT è il cuore di tutti i sistemi operativi Windows. Il nome di questo file è NTOSKRNL.EXE. Avvia il file di login chiamato WINLOGON.EXE e visualizza la schermata di benvenuto di Windows.