Qual é a diferença entre bootloader primário e secundário?

Qual é a diferença entre bootloader primário e secundário?

Qual é a diferença entre bootloader primário e secundário? Primário e secundário referem-se às duas partes do bootloader ou aos dois estágios do bootloader? Estou confuso.

Responder1

Você está confuso porque é uma maneira simplista de descrever o processo. Se você estiver lendo o mesmo artigo da IBM mencionado emcarregadores de inicialização primários e secundários, que é um lugar de onde as pessoas parecem ter extraído essa noção primária/secundária, observe que ela adota uma visão de mundo bastante restrita, somente Linux (como afirma claramente em sua primeira frase), que foi escrita em 2005, e que está efectivamente a fazer uma distinção entreo mesmoprograma carregador de inicialização (GRUB) instalado em dois locais diferentes em um disco rígido (a área do vírus MBR e uma partição do disco) em vez de entre dois programas carregadores de inicialização diferentes, um "primário" e um "secundário".

Na realidade, inicializar a maioria dos sistemas operacionais para máquinas compatíveis com PC e de classe de estação de trabalho (de acordo com a tag da pergunta) é uma tarefa difícil.Seriesde programas carregadores, cada um carregando o próximo. Uma distinção primário/secundário implica erroneamente que existem apenas dois programas, ou (como na resposta de Thayne) implica erroneamente que apenas dois dos vários programas na sequência têm status especial como "primário" e "secundário", ou implica erroneamente que Os PCs hoje em dia necessariamente usam programas de carregador de boot em MBRs e VBRs.

Três breves exemplos de tais cadeias com mais do que apenas dois programas:

  • O programa carregador no firmware de uma máquina PC98/PC-AT de estilo antigo carrega o programa carregador no Master Boot Record que carrega o programa carregador no Volume Boot Record que carrega a parte do sistema básico de entrada/saída do PC-DOS/DR- DOS do IBMBIO.COMarquivo que carrega a parte do sistema operacional de disco básico do PC-DOS/DR-DOS do IBMDOS.COMarquivo.
  • O programa carregador no firmware de uma máquina PC98/PC-AT antiga carrega o programa carregador no Master Boot Record que carrega o programa carregador no Volume Boot Record que carrega o OS2BOOTprograma carregador que carrega o OS2LDRprograma carregador que carrega o OS2KRNLprograma.
  • O programa EFI Boot Manager em um firmware de máquina EFI de novo estilo carrega o bootmgfw.efiprograma que carrega o winload.exeprograma que carrega o ntoskrnl.exeprograma.

Não há bons argumentos para designar qualquer um deles como mais “primário” do que os outros. Na verdade, não há bons argumentos para designar os programas carregadoresincorporado no firmware da máquinacomo "primário". Se olharmos o TianoCore em detalhes, por exemplo, descobriremos que há até uma série de estágios de carregamento de inicialização que ocorremdentro do firmwaree que existe até um conceito conhecido comoSistema de arquivos de firmware. (Ambos vão muito além do escopo desta resposta, assim como o processo de inicialização das máquinas IBM MicroChannel Architecture, que carregavam coisas do DASD antes mesmo do programa carregador de inicialização MBR.)

O fato de o GRUB 1 ter um "estágio 1.5" deveria dizer por si só, mesmo ignorando o fato de que obviamente existe outro programa carregador que carrega o "estágio 1" do GRUB em primeiro lugar, que a ideia de inicializar sequências no PC O mundo compatível tem apenas dois estágios, e os programas de bootstrap dividem-se nitidamente em "primário" e "secundário", não correspondendo à realidade.

Leitura adicional

Responder2

O bootloader primário é o bootloader que está no MBR. O bootloader secundário está em uma das partições e é iniciado pelo bootloader primário.

Por exemplo, em um sistema Linux e Windows de inicialização dupla, o grub seria o gerenciador de inicialização primário e carregaria um carregador de inicialização secundário do Windows se o Windows fosse selecionado.

informação relacionada