O que torna a mídia inicializável inicializável?

10

Por curiosidade, o que torna a mídia inicializável? Links para explicações seriam apreciados.

    
por fakedrake 19.12.2010 / 11:11

2 respostas

5

Talvez alguns detalhes sobre como a mídia inicializável é organizada ajudem a definir "o que torna a mídia inicializável inicializável".

O procedimento de inicialização difere dependendo das arquiteturas, então eu vou apenas manter o PC padrão (ou seja, arquitetura x86).

Primeiro, para ser efetivamente "inicializado", um meio precisa ser selecionado pelo BIOS após o autoteste de ativação (POST) posterior. Para que isso aconteça, o meio deve ser marcado como inicializável , o que significa que ele deve ter uma assinatura de inicialização em seu primeiro setor. Esta é a primeira coisa que torna um media inicializável.

Em seguida, o BIOS carrega e dá a mão a esse setor de inicialização (o que estiver armazenado lá ... então, pode ser diretamente um programa em modo real adequado, mas vamos nos ater a um esquema "normal"). Portanto, para ser inicializável, um meio deve ter esse setor de inicialização em funcionamento.

Se a mídia estiver particionada, um Master Boot Record (MBR) será instalado nesse setor. Esse código será responsável por verificar a tabela de partições e encontrar a partição com o sinalizador de inicialização definido . Em seguida, o MBR carregará o primeiro setor dessa partição, que contém o que é chamado de Volume Boot Record (VBR). Observe que, no caso de um meio não particionado, um VBR está localizado no primeiro setor do meio e, portanto, é chamado diretamente pelo BIOS.

Uma VBR contém um programa de bootstrapping . Este programa deve inicializar a máquina (isto é, ativação da memória estendida através do A20 Gate, alternar do modo real para o modo protegido, etc) para definir um ambiente apropriado para o código "moderno", carregar este código na memória e depois "pular" "para isso. O código acima mencionado pode ser um kernel do sistema operacional no caso de um programa de bootloader ou um sistema de inicialização múltipla (por exemplo, GRUB, LILO) no caso de carregamento em cadeia. De qualquer forma, no final, é necessário algum código executável para rodar.

O que segue (por exemplo, descompactação do kernel, montagem inicial do ramdisk, carregamento de módulos no caso de kernels híbridos ou servidores iniciados por microkernels, etc.) não é estritamente relevante do ponto de vista da organização de mídia inicializável.

Nota: O que eu descrevi é o processo para discos rígidos e disquetes. O caso dos CDs é muito semelhante. Além disso, para ser inicializável, um CD deve seguir a especificação El-Torito, que é uma extensão do padrão ISO9660. Originalmente, o CD era obrigado a conter uma imagem de disquete inicializável (ou seja, uma imagem de 1,44M na verdade), que foi tratada pelo BIOS como um disquete e foi inicializada de acordo. Hardware mais recente permite inicializar diretamente sem essa solução alternativa.

    
por 29.05.2012 / 13:43
9

O que torna um meio de inicialização inicializável é

  • padrões para mídia inicializável que definem coisas como:
    • plataforma de hardware para a qual o carregador de boot é aplicável.
    • localização na mídia do software de boot loader.
    • o processo pelo qual esse software será carregado.
  • implementação desses padrões no hardware ao qual a mídia é acoplável.

A Wikepedia tem um artigo que descreve o processo de inicialização.

    
por 19.12.2010 / 11:25