Como funcionam os setores de inicialização e várias unidades?

17

Eu não entendo completamente o conceito de um setor de inicialização, eu estava esperando que alguém pudesse esclarecer isso para mim.

Se você tem dois discos rígidos, com um sistema operacional instalado em cada um, cada unidade possui seu próprio setor de inicialização? Cada unidade precisa de uma partição MBR?

Eu tenho Linux e Windows em duas unidades separadas. Eu tive problemas ao instalar o Linux e o grub, e agora finalmente decidi usar o bootloader do Windows para inicializar. O Windows teria se livrado do grub quando eu usei / fixmbr ou ele fica lá no setor de inicialização da outra unidade?

    
por GiH 10.02.2010 / 20:23

3 respostas

17

A resposta de Wil é vagamente correta, mas não é tecnicamente precisa. Sim, uma unidade não precisa de um MBR. Sem um, você não conseguirá inicializar a partir dessa unidade e não poderá criar partições nessa unidade. MAS ...

O termo Master Boot Record é frequentemente usado para se referir a duas coisas - é propriamente apenas o primeiro, e comumente mal aplicado ao segundo:

  1. Um local, especificamente, o primeiro setor de 512 bytes de um dispositivo de armazenamento de dados particionado ("LBA Sector 0"). Esse local contém os primeiros 440 bytes do código do carregador de boot (o carregador de inicialização do primeiro estágio) e a tabela de partição primária. Consulte o artigo do MBR da Wikipédia para obter detalhes sobre a estrutura de um MBR típico.

  2. O código do carregador de boot armazenado nesse local. Em um sistema de BIOS, esse é o primeiro código executado quando o BIOS é inicializado a partir de uma unidade. Veja MBRs e bootstrapping do sistema e gerenciador de inicialização de primeiro estágio : em sistemas i386, esse código carrega a inicialização de segundo estágio loader , armazenado no registro de inicialização de volume da partição ativa, que faz a inicialização real do sistema operacional.

O Volume Boot Record ou o setor de inicialização da partição é o primeiro setor de uma partição e é onde um sistema operacional instalado nessa partição armazenará seu código principal de bootstrapping. Um VBR também é usado em dispositivos de armazenamento de dados não particionados (disquetes, unidades flash USB ou até mesmo discos rígidos usados em funções não particionadas).

Os sistemas de inicialização múltipla usam um gerenciador de inicialização (por exemplo, o Grub). Um gerenciador de inicialização coloca seu próprio código de bootloader no MBR e fornece um menu do qual um usuário pode escolher um sistema operacional para inicializar. (Em termos técnicos, o usuário está escolhendo qual bootloader de segundo estágio usar.)

Então, para responder suas perguntas diretamente:

  • Dois discos rígidos com um sistema operacional instalado em cada terão seu próprio MBR .

    • Ambos os MBRs conterão pelo menos uma partição.
    • Cada partição nesses discos rígidos terá seu próprio VBR. As partições que contêm instalações do sistema operacional armazenarão seus loaders de boot de segundo estágio nesses VBRs; quaisquer partições que são somente de dados (provavelmente) não terão código de inicialização válido em seus VBR.
    • Se este sistema inicializar, pelo menos um desses MBRs conterá um carregador de inicialização de primeiro estágio válido, mas será necessário apenas para a unidade a partir da qual o BIOS tenta inicializar.

  • Quando você instalou o Linux em sua segunda unidade, provavelmente gravou o gerenciador de inicialização de primeiro estágio do Grub no MBR da unidade do Windows. Ele pode ter também escrito o gerenciador de inicialização de primeiro estágio para o MBR de sua própria unidade, mas se o BIOS nunca tentar inicializar a partir da unidade Linux, você nunca aviso prévio. Da mesma forma, quando você usa / fixmbr, o Windows reescreve o carregador de inicialização de primeiro estágio no MBR da unidade do sistema.

    • Eu honestamente não sei se o utilitário Bootrec.exe do Win-7 também irá gravar nos MBRs de outras unidades. Provavelmente tem a capacidade de fazer isso, mas provavelmente não é a ação padrão.
    • Eu também não sei se o instalador do Ubuntu 9.04 instalaria o Grub nos MBRs de ambas as unidades por padrão. É possível fazer isso manualmente, se desejado. Em algumas situações, seria bom - se você desconectasse a unidade do Windows e tentasse inicializar a partir da unidade do Linux, não inicializaria se o código de inicialização de primeiro estágio do Grub não estivesse presente.
por 12.02.2010 / 21:01
3

Uma unidade não precisa de um MBR, no entanto, sem uma, você não poderá inicializar a partir dessa unidade.

Para começar, a máquina inicializará em qualquer disco para o qual a BIOS seja informada. Esse é o único disco que precisa de um MBR (isto é em máquinas baseadas em BIOS, por exemplo, a maioria no mercado, não em EFI).

Ter um MBR basicamente informará à máquina que a unidade é inicializável (e não retornará o temido "Nenhum erro de disco ou disco" ou mensagem similar), o carregador de inicialização será então carregado.

Quando o bootloader é carregado, ele basicamente fará o que for instruído, isto pode ser para carregar outros gerenciadores de inicialização (por exemplo, o Grub carregando o gerenciador de inicialização do Windows) ou sistemas operacionais - Por exemplo, você pode escolher drive / partição.

Então, você só precisa ter o MBR (e o Bootloader) na unidade de inicialização real.

    
por 10.02.2010 / 20:35
1

MBR (Master Boot Record) é o primeiro setor no qual é possível escrever. Tem uma localização e tamanho fixos (muito pequenos), pelo que só pode ter um MBR por disco.

O MBR é o primeiro setor lido na sequência de inicialização depois que o BIOS é carregado. Ele pode ser usado para inicializar um sistema operacional ou carregar um carregador de inicialização, como grub ou lilo, para escolher qual sistema carregar.

    
por 10.02.2010 / 20:33