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

17

Não entendo completamente o conceito de setor de inicialização, esperava que alguém pudesse esclarecer isso para mim.

Se você possui 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 decidi finalmente usar o carregador de inicialização do Windows para inicializar. O Windows teria se livrado do grub quando usei / fixmbr ou ele fica lá no setor de inicialização da outra unidade?

GiH
fonte

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 poderá inicializar a partir dessa unidade e não poderá criar partições nessa unidade. MAS...

O termo Registro Mestre de Inicialização é freqüentemente usado para se referir a duas coisas - é apenas a primeira e, geralmente, é mal aplicado à segunda:

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

  2. O código do carregador de inicialização armazenado nesse local. Em um sistema BIOS, este é o primeiro código executado quando o BIOS inicializa a partir de uma unidade. Consulte MBRs, inicialização do sistema e carregador de inicialização de primeiro estágio : nos sistemas i386, esse código carrega em cadeia o carregador de inicialização de segundo estágio , armazenado no registro de inicialização de volume da partição ativa, que efetua a inicialização do sistema operacional.

O setor de registro de inicialização por volume ou de partição é o primeiro setor de uma partição e é onde um sistema operacional instalado nessa partição armazena seu código principal de inicialização. 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, Grub). Um gerenciador de inicialização coloca seu próprio código no gerenciador de inicialização no MBR e fornece um menu no qual um usuário pode escolher um sistema operacional para inicializar. (Em termos técnicos, o usuário está escolhendo qual gerenciador de inicialização de segundo estágio usar.)


Então, para responder suas perguntas diretamente:

  • Dois discos rígidos com um sistema operacional instalado em cada um 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 armazenam seus carregadores de inicialização de segundo estágio nesses VBRs; todas as partições que são apenas dados (provavelmente) não terão código de inicialização válido no VBR.
    • Se esse sistema inicializar, pelo menos um desses MBRs conterá um carregador de inicialização válido de primeiro estágio, mas é necessário apenas para a unidade na qual o BIOS tenta inicializar.

  • Quando você instalou o Linux na sua segunda unidade, provavelmente gravou o carregador de inicialização de primeiro estágio do Grub no MBR da unidade do Windows. Ele pode ter também escrito o carregador de inicialização do primeiro estágio no MBR de sua própria unidade, mas se o BIOS nunca tenta inicializar a partir da unidade de Linux, você nunca vai perceber. 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.

    • Sinceramente, não sei se o utilitário Bootrec.exe do Win-7 também gravará nos MBRs de outras unidades. Provavelmente, tem a capacidade de fazê-lo, mas provavelmente não é a ação padrão.
    • 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 uma coisa boa - se você desconectasse a unidade do Windows e tentasse inicializar a partir da unidade Linux, não inicializaria se o código de inicialização do Grub não estivesse presente.
charlatão quixote
fonte
Obrigado por essa resposta muito detalhada: -) ... Eu estava sempre perguntando por MBR estava sendo usado para dois significados diferentes, e agora eu sei haha
GIH
1
@ GiH, de nada. Obrigado por fazer esta pergunta; pode servir como uma introdução básica a MBRs e gerenciadores de inicialização para futuros leitores.
quack quixote
você tem uma fonte para "O termo Master Boot Record é frequentemente usado para se referir a duas coisas - é corretamente apenas a primeira e geralmente é mal aplicada à segunda:" Tenho certeza de que está certo, e eu li em algum lugar .. mas interessante se você tem uma fonte para isso. Além disso, como aqui é um termo para o carregador de inicialização, existe um termo para a parte que não é do carregador de inicialização do MBR? E quando se trata de GPT, o GPT inclui o carregador de inicialização e a tabela de partições, e que terminologia distingue entre GPT e a tabela de partições?
barlop
3

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

Para iniciantes, a máquina inicializará em qualquer disco que o BIOS for solicitado. Esse é o único disco que precisa de um MBR (isso é em máquinas baseadas em BIOS, por exemplo, a maioria no mercado, não a EFI).

Ter um MBR basicamente informará à máquina que a unidade é inicializável (e não retorna a temida mensagem "Sem disco ou erro de disco" ou mensagem semelhante), o carregador de inicialização será carregado.

Quando o carregador de inicialização é carregado, ele basicamente faz o que é instruído; isso pode ser para carregar outros gerenciadores de inicialização (por exemplo, Grub carregando o carregador de inicialização do Windows) ou sistemas operacionais - Por exemplo, você pode escolher unidade / partição.

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

William Hilsum
fonte
Ok, mas é possível que ambas as minhas unidades tenham um MBR desde que o grub funcionava antes? Basicamente, o que estou tentando descobrir é se minha unidade Linux está desperdiçando espaço em um MBR porque não estou usando o grub, ou quando instalei o gerenciador de inicialização do Windows, ele se livrou do grub e do MBR? Desculpe se minha pergunta é confuso ...
GIH
1
Você pode ter apenas um MBR, pois não é tanto um arquivo, mas um local - se você instalou um sistema operacional diferente em uma unidade diferente, é possível que você ainda o tenha na outra unidade, mas é tão insignificante quanto isso, Eu realmente não ficaria preocupado (estamos falando de algumas centenas de bytes (acho que o máximo é ~ 500), se isso, em uma unidade com muitos bilhões de bytes!). No entanto, é possível que você ainda tenha os arquivos grub - mas, novamente, é muito pequeno.
William Hilsum
3
@ GiH, re: desperdiçando espaço - não, o MBR também fornece a tabela de partição para a unidade, para que o espaço seja reservado (não usado pelo sistema operacional), independentemente de conter ou não um registro de inicialização válido. você pode pensar nisso como uma pequena quantidade de sobrecarga para seus sistemas de arquivos; em comparação com as capacidades modernas do disco rígido, a quantidade de espaço "desperdiçado" é muito pequena para se preocupar.
quack quixote
1

MBR (Master Boot Record) é o primeiro setor no qual é possível escrever. Ele possui um local e tamanho fixos (muito pequenos), para que você possa ter apenas um MBR por disco.

MBR é o primeiro setor lido na sequência de inicialização após o carregamento do BIOS. Ele pode ser usado para inicializar um sistema operacional ou carregar um carregador de inicialização como o grub ou o lilo para escolher qual sistema carregar.


fonte