O código de inicialização do volume e o bloco de parâmetros do disco são as duas partes principais que compõem o registro/setor de inicialização do volume. O código de inicialização do volume é chamado pelo código de inicialização mestre e é usado para iniciar o gerenciador de inicialização, que inicia o carregamento real do sistema operacional.
O código de inicialização do volume existe em todas as partições onde existe o registro de inicialização do volume, que é toda partição formatada. No entanto, ele só é chamado pelo código de inicialização mestre para a partição primária definida como ativa. Caso contrário, para partições não ativas, o código de inicialização do volume permanece sem uso.
Os códigos de inicialização de volume são específicos para o sistema operacional dessa partição em particular. Por exemplo, um código de inicialização de volume para o Windows 10 pode funcionar de forma diferente de um para um tipo de Linux ou até mesmo uma versão diferente do Windows, como Windows XP ou Windows 7.
O código de inicialização do volume às vezes é chamado de VBC.
O que o código de inicialização de volume faz
O registro mestre de inicialização procura um dispositivo inicializável em qualquer sequência/ordem de inicialização definida pelo BIOS.
Veja Como alterar a ordem de inicialização no BIOS se precisar de ajuda para alterar a ordem na qual os códigos de inicialização do dispositivo são verificados.
Uma vez que um dispositivo relevante é encontrado, como um disco rígido, o código de inicialização do volume é responsável por carregar os arquivos apropriados que iniciam o sistema operacional. Para Windows 10 através do Windows Vista, é o Windows Boot Manager (BOOTMGR) que realmente carrega o sistema operacional.
Para versões mais antigas do Windows, como o Windows XP, é o NT Loader (NTLDR) que o código de inicialização do volume usa para iniciar o sistema operacional.
Em ambos os casos, o código de inicialização do volume encontra os dados corretos para mover o processo de inicialização adiante. Você pode ver aqui quando o código de inicialização do volume é usado em um processo típico no qual o SO é carregado de um disco rígido:
-
POST é executado para verificar a funcionalidade do hardware.
- BIOS carrega e executa o código do registro mestre de inicialização localizado no primeiro setor do disco rígido.
- O código de inicialização mestre procura na tabela de partições mestre uma partição inicializável nesse disco rígido.
- É feita uma tentativa de inicializar a partição primária ativa.
- O setor de inicialização do volume dessa partição é carregado na memória para que seu código e bloco de parâmetros de disco possam ser usados.
- O código de inicialização do volume dentro desse setor de inicialização recebe o controle do restante do processo de inicialização, onde ele garante que a estrutura do sistema de arquivos esteja funcionando corretamente.
- Uma vez que o código de inicialização do volume valida o sistema de arquivos, o BOOTMGR ou NTLDR é executado.
-
Como mencionado acima, o BOOTMGR ou NTLDR é carregado na memória e o controle é transferido para eles para que os arquivos apropriados do SO possam ser executados e o Windows possa iniciar normalmente.
Erros de código de inicialização de volume
Como você pode ver acima, existem muitos componentes que compõem o processo total durante o qual o sistema operacional pode ser carregado. Isso significa que há muitos casos em que um erro pode ser gerado e, portanto, diferentes problemas que podem causar mensagens de erro específicas.
Um código de inicialização de volume corrompido geralmente resulta em erros hal.dll como:
- Não foi possível encontrar \Windows\System32\hal.dll
- O Windows não pôde ser iniciado porque o seguinte arquivo está ausente ou corrompido: C:\Windows\system32\hal.dll. Por favor, reinstale uma cópia do arquivo acima.
Esses tipos de erros de código de inicialização de volume podem ser corrigidos com o comando bootsect, um dos muitos comandos de prompt de comando disponíveis no Windows. Consulte Como usar o Bootsect para atualizar o código de inicialização do volume para BOOTMGR se precisar de ajuda com isso.
No Passo 4 acima, se a tentativa de encontrar uma partição ativa falhar, você poderá ver um erro como "Sem dispositivo de inicialização." Fica claro no momento em que o erro ocorre que não é devido ao código de inicialização do volume.
É possível que não haja uma partição formatada corretamente nesse disco rígido ou que o BIOS esteja olhando para o dispositivo errado, nesse caso você pode alterar a ordem de inicialização para o dispositivo correto como o disco rígido (ao invés de um disco ou disco rígido externo, por exemplo).