# Inicialização do Windows

A inicialização do Windows é o processo pelo qual a série de sistemas operacionais Windows da Microsoft é inicializada.

## Windows baseado em DOS
### Windows 1.x/2.x

No Windows versões 1.01 para Windows/386, o sistema era carregado quando o WIN.COM era executado. Em seguida, ele carregava o WIN100.BIN ou WIN200.BIN e o WIN100.OVL ou o WIN200.OVL, juntamente com o arquivo de configurações WIN.INI. O shell padrão é o MS-DOS Executive.
Os módulos GDI.EXE, KERNEL.EXE e USER.EXE, fontes e os vários drivers de dispositivo (como COMM.DRV, MOUSE.DRV, KEYBOARD.DRV) são incorporados no WIN100.BIN/WIN200.BIN e WIN100.OVL/WIN200.OVL.

### Windows 3.x/9x

No Windows 3.x e 95/98/ME, a fase do carregador de inicialização é tratada pelo MS-DOS. Durante a fase de inicialização, CONFIG.SYS e Autoexec.bat são executados, juntamente com os arquivos de configuração WIN.INI e SYSTEM.INI. Drivers de dispositivo virtual também são carregados no processo de inicialização: eles são mais comumente carregados a partir do registro (HKLM\System\CurrentControlSet\Services\VxD) ou do arquivo SYSTEM.INI.
Quando todos os arquivos de configuração do sistema e drivers de dispositivo forem carregados, os módulos de 16 bits, KRNL386.EXE, GDI.EXE e USER.EXE, são carregados, em seguida, as DLLs de 32 bits (KERNEL32.DLL, GDI32.DLL e USER32.DLL) são carregados. O servidor de mensagens VxD de 32 bits (MSGSRV32) inicia o MPREXE.EXE, que é responsável por carregar o cliente de logon de rede (como Cliente para Redes Microsoft, Logon da Família Microsoft ou Logon do Windows).
Quando um usuário está fazendo logon no Windows, o som de inicialização é executado, o shell (geralmente EXPLORER.EXE) é carregado da seção [boot] do arquivo SYSTEM.INI e itens de inicialização são carregados.
Em todas as versões do Windows 9x, exceto ME, também é possível carregar o Windows, inicializando em um prompt do DOS e digitando "win". Existem algumas opções de linha de comando que podem ser usadas com o comando WIN: com a opção /D, o Windows é inicializado no modo de segurança e com a opção /D:n, o Windows é inicializado no modo de segurança com rede. A última opção só funciona corretamente com o Windows 95. No Windows 3.1, opções adicionais estão disponíveis, como /3, que inicia o Windows no modo 386 avançado e /S, que inicia o Windows no modo padrão.
Um som de inicialização foi adicionado no Windows 3.1.

## Windows NT

No Windows NT, o carregador de inicialização é chamado NTLDR. Ele é responsável por acessar o sistema de arquivos na unidade de inicialização, por iniciar o ntoskrnl.exe e por carregar os drivers de dispositivo de tempo de inicialização na memória. Depois que todos os drivers de inicialização e do sistema tiverem sido carregados, o núcleo (thread do sistema) inicia o Subsistema do Gerenciador de Sessão (smss.exe), que por sua vez inicia o winlogon, que carrega a biblioteca de identificação e autenticação gráfica.
Depois que um usuário tiver efetuado login com êxito na máquina, o winlogon faz o seguinte:
* Configurações de diretiva de grupo de usuário e do computador são aplicadas.
* Os programas de inicialização são executados nos seguintes locais:
** HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Runonce
** HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\Run
** HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
** HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\Run
** HKCU\Software\Microsoft\Windows\CurrentVersion\Run
** HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
** All Users ProfilePath\Start Menu\Programs\Startup\ (este caminho está localizado em versões não inglesas do Windows)
** Current User ProfilePath\Start Menu\Programs\Startup\ (este caminho está localizado em versões não inglesas do Windows)
No Windows 95/98/ME, também era possível executar um programa antes de o usuário efetuar logon usando as chaves RunServicesOnce ou RunServices. No Windows NT, isso foi substituído pelo programa services.exe, que pode carregar um conjunto de serviços do sistema antes que um usuário faça logon.
Além disso, nas versões em inglês do Windows, a pasta de inicialização era chamada "StartUp" em vez de "Startup" no Win9x.
Devido ao ambiente minimamente restrito desses sistemas operacionais, qualquer programa pode se adicionar à chave do Registro de Inicialização ou à pasta do sistema. Esse método é frequentemente usado por malwares.

## Windows Vista

A sequência de inicialização do Windows Vista é diferente de qualquer versão anterior do Windows que usa o núcleo do NT. O carregador de inicialização do sistema operacional no Vista é chamado winload.exe e é chamado pelo Gerenciador de Inicialização do Windows. Além disso, a identificação e autenticação gráfica que está em uso com todas as versões do Windows NT desde a versão 3.1 foi totalmente substituído por "Provedores de Credenciais".