• Artigos
  • Games
  • Hardware
  • Internet
  • Segurança
  • Tecnologia
TopGadget
TopGadget
Home Dicas e Artigos Tech O que é o Volume Boot Record?
Tech

O que é o Volume Boot Record?

Por Kayobrussy Guedes29 de abril de 2020Atualizado:19 de julho de 2021Nenhum comentário16 minutos de leitura
Facebook Twitter Pinterest Email Telegram WhatsApp
HD
Facebook Twitter LinkedIn Pinterest Telegram WhatsApp
Publicidade

Um Volume Boot Record, (VBR) frequentemente chamado de setor de inicialização da partição, é um tipo de setor de inicialização introduzido pelo IBM Personal Computer.

Ele pode ser encontrado em um dispositivo de armazenamento de dados particionado, como um disco rígido , ou um dispositivo não particionado, como um disquete, e contém código de máquina para programas de inicialização (geralmente, mas não necessariamente, sistemas operacionais ) armazenados em outras partes de o dispositivo.

Em dispositivos de armazenamento não particionados, é o primeiro setor do dispositivo.

Publicidade

Em dispositivos particionados, é o primeiro setor de uma partição individual no dispositivo, com o primeiro setor de todo o dispositivo sendo um Master Boot Record (MBR) contendo a tabela de partição .

O código nos registros de inicialização do volume é invocado diretamente pelo firmware da máquina ou indiretamente pelo código no registro mestre de inicialização ou em um gerenciador de inicialização.

O código no MBR e no VBR é basicamente carregado da mesma maneira.

volume boot record

Chamar um VBR (Volume Boot Record) por meio de um gerenciador de inicialização é conhecido como carregamento em cadeia.

Alguns sistemas de inicialização dupla , como o NTLDR (o carregador de inicialização para todas as versões de sistemas operacionais derivados do Windows NT da Microsoft até e incluindo o Windows XP e Windows Server 2003 ), fazem cópias do código de bootstrap que os sistemas operacionais individuais instalam em um único VBR da partição e armazená-los em arquivos de disco, carregando o conteúdo VBR relevante do arquivo após o carregador de boot perguntar ao usuário qual sistema operacional inicializar.

No Windows Vista, Windows Server 2008e versões mais recentes, o NTLDR foi substituído; a funcionalidade do carregador de inicialização é fornecida por dois novos componentes: WINLOAD.EXE e o Gerenciador de inicialização do Windows.

Em sistemas de arquivos como FAT12 (exceto no DOS 1.x), FAT16, FAT32, HPFS e NTFS, o VBR também contém um BIOS Parameter Block (BPB) que especifica a localização e o layout das principais estruturas de dados no disco para o sistema de arquivos. (Uma discussão detalhada do layout do setor de FAT VBRs, as várias versões FAT BPB e suas entradas podem ser encontradas no artigo FAT.)

Um componente do registro de inicialização do volume específico do sistema operacional ou do programa e é usado para carregar o sistema operacional ou o software é chamado de código de inicialização do volume. 

O outro é o bloco de parâmetros de disco ou bloco de parâmetros de mídia, que contém informações sobre o volume, como rótulo , tamanho, contagem de setores em cluster, número de série e mais.

O geralmente é abreviado como VBR, mas também é chamado de setor de inicialização de partição, registro de inicialização de partição, bloco de inicialização e setor de inicialização de volume.

Volume Boot Record (VBR) também é um acrônimo para taxa de bits variável, que nada tem a ver com um setor de inicialização, mas refere-se ao número de bits processados ​​ao longo do tempo. 

É o oposto da taxa de bits constante ou CBR. Consulte CBR vs VBR Encoding para obter mais informações.

Reparando um Volume Boot Record

Se o código de inicialização do volume for corrompido ou configurado de alguma maneira incorreta, você poderá repará-lo gravando uma nova cópia do código de inicialização na partição do sistema.

As etapas envolvidas na escrita de um novo código de inicialização de volume dependem da versão do Windows que você está usando.

Mais informações sobre Volume Boot Record

O Volume Boot Record é criado quando uma partição é formatada. Ele reside no primeiro setor da partição. 

No entanto, se o dispositivo não estiver particionado, como se você estivesse lidando com um disquete, o registro de inicialização do volume estará no primeiro setor de todo o dispositivo.

Um registro mestre de inicialização é outro tipo de setor de inicialização. Se um dispositivo tiver uma ou mais partições, o registro mestre de inicialização estará no primeiro setor de todo o dispositivo.

Todos os discos têm apenas um registro mestre de inicialização, mas podem ter vários registros de inicialização por volume devido ao simples fato de um dispositivo de armazenamento poder conter várias partições, cada uma com seu próprio registro de inicialização por volume.

O código do computador armazenado no registro de inicialização do volume é iniciado pelo BIOS, pelo registro mestre de inicialização ou pelo gerenciador de inicialização. 

Se um gerenciador de inicialização for usado para chamar o registro de inicialização de volume, isso será chamado de carregamento em cadeia.

NTLDR é o carregador de inicialização para algumas versões do Windows (XP e versões anteriores). 

Se você possui mais de um sistema operacional instalado no disco rígido, ele pega um código específico relevante para os diferentes sistemas operacionais e os reúne em um registro de inicialização de volume para que, antes de qualquer sistema operacional inicializar, você possa escolher qual inicializar. 

As versões mais recentes do Windows substituíram o NTLDR por BOOTMGR e winload.exe.

Também no registro de inicialização do volume há informações sobre o sistema de arquivos da partição, como se fosse NTFS ou FAT, e também onde está o MFT e o MFT Mirror (se a partição estiver formatada em NTFS).

Um registro de inicialização por volume é um alvo comum para vírus, pois seu código é iniciado mesmo antes do carregamento do sistema operacional e o faz automaticamente sem nenhuma intervenção do usuário. 

Detalhes Técnicos sobre o Volume Boot Record

Assinatura

A presença de um carregador de boot compatível com IBM PC para CPUs x86 no setor de boot é por convenção indicada por uma sequência hexadecimal de dois bytes chamada assinatura do setor de boot ( 55h em deslocamento fixo + 1FEh e AAh em + 1FFh ) para tamanhos de setor 512 bytes ou mais.

Para setores de 512 bytes, a assinatura do setor de inicialização também marca o fim do setor. VBRs em setores menores e maiores podem mostrar assinaturas no final do tamanho do setor real também, no entanto, a semântica aqui descrita se aplica à assinatura de 16 bits em + 1FEh apenas.

Esta assinatura indica a presença de pelo menos um gerenciador de inicialização fictício que é seguro para ser executado, mesmo que não seja capaz de realmente carregar um sistema operacional.

Ele não indica a presença de um (ou mesmo de um determinado) sistema de arquivos ou sistema operacional, embora algumas versões antigas do DOS anteriores ao 3.3 dependessem dele em seu processo para detectar mídia formatada em FAT (versões mais recentes não).

O código de inicialização para outras plataformas ou CPUs não deve usar esta assinatura, pois isso pode levar a um travamento quando o BIOS passa a execução para o setor de inicialização supondo que contenha código executável válido.

Isso implica que FAT12 / FAT16a mídia a ser usada também por versões muito antigas do DOS deve manter a assinatura, mesmo que não contenha um sistema operacional ou se destine a ser inicializável apenas em outras plataformas; consequentemente, eles devem conter pelo menos um carregador compatível com x86 (fictício) também (para comparação, veja exemplos de FAT no Atari ST e com MSX-DOS).

No entanto, algumas mídias para outras plataformas contêm erroneamente a assinatura, mesmo sem um carregador fictício compatível com x86, tornando a verificação não 100% confiável na prática.

A assinatura é testada pela maioria dos BIOS do sistema desde (pelo menos) o IBM PC / AT (mas não pelo IBM PC original e algumas outras máquinas).

Ainda mais, ele também é verificado pela maioria dos carregadores de boot MBR antes de passar o controle para o setor de boot.

Algumas BIOS (como o IBM PC / AT) realizam a verificação apenas para discos fixos / unidades removíveis, enquanto para disquetes e superfloppies é suficiente começar com um byte maior ou igual a 06h e as primeiras nove palavras não conterem o mesmo valor, antes que o setor de boot seja aceito como válido, evitando assim o teste explícito para 55h, AAh em disquetes.

Desde setores de inicialização antigos (ou seja, CP / M-86 muito antigo e mídia DOS) às vezes não apresentam essa assinatura, apesar do fato de que eles podem ser inicializados com êxito, a verificação pode ser desabilitada em alguns ambientes.

Isso também reflete o fato de que os disquetes podem ser formatados para usar tamanhos de setor menores que 512 bytes.

Se o código BIOS ou MBR não detectar um setor de inicialização válido e, portanto, não puder passar a execução para o código do setor de inicialização, ele tentará o próximo dispositivo de inicialização na linha. Se todos eles falharem, normalmente exibirá uma mensagem de erro e invocará o INT 18h.

Isso iniciará o software residente opcional na ROM (ROM BASIC), tentará inicializar remotamente via rede, reinicializará o sistema via INT 19h após a confirmação do usuário ou fará com que o sistema pare o processo de inicialização até a próxima inicialização.

Invocação

O código de inicialização no VBR pode assumir que o BIOS configurou suas estruturas de dados e interrupções e inicializou o hardware.

O código não deve presumir que mais de 32 KB de memória estejam presentes para operação à prova de falhas; se precisar de mais memória, ele deve consultar o INT 12h para isso, uma vez que outro código de pré-inicialização (como sobreposições de extensão de BIOS, sistemas de criptografia ou carregadores de bootstrap remotos) podem estar presentes em outro lugar na memória também (e normalmente ocultar-se do setor de inicialização reduzindo a memória INT 12h relatada de acordo, para que não sejam substituídos pelas ações do MBR e do VBR).

A especificação de inicialização do BIOS permite 64 KB de memória e recomenda explicitamente 0000h: 7C00h a 0000h: FFFFhcomo um bloco de notas temporário.

O código de inicialização não deve assumir CPUs melhores do que o Intel 8088 ou 8086 original (usado no PC original) e não fazer suposições em relação ao estado exato do hardware, o sistema de interrupção (interrupções podem ser habilitadas ou desativado) ou a localização e tamanho da pilha.

Embora o BIOS IBM original inicialize o DS, ES e SS, a CPU se registra no segmento 0000h e mantém a pilha inicial em SS : SP = 0000h: 0400h, esta não é uma condição na qual se possa confiar, pois nem todos os códigos BIOS e MBR seguem essa convenção.

Os registros não mencionados abaixo devem ser tratados como não inicializados. O acesso direto ao hardware normalmente não é permitido.

Enquanto a Tabela de Parâmetros de Disco (DPT / FDPB) é normalmente configurada em 0000h: 0078h já na memória, o VBR deve mover (e possivelmente corrigir) o DPT apontado pelo vetor INT 1Eh para este local (INT 1Eh não é uma interrupção , mas um ponteiro distante para o DPT).

Algumas condições podem ser relaxadas em ambientes controlados, por exemplo, alguns carregadores de boot hoje assumem ter até 128 KB de memória para trabalhar em operação normal (sem consultar por mais), e alguns carregadores de boot usando acesso LBA assumem pelo menos um processador Intel CPU 80188 ou 80186.

O volume boot record é carregado no local de memória 0000h: 7C00h e com os seguintes registros de CPU configurados quando o carregador de bootstrap anterior (ou seja, normalmente o BIOS ou MBR, mas possivelmente outro carregador de boot) passa a execução para ele saltando para 0000h: 7C00h no modo real da CPU.

Do deslocamento decimal 72 a 79, um NTFS PBR contém o número de série do ID do volume UUID da partição.

  • CS : IP = 0000h : 7C00h (fixo)

Alguns BIOSes da Compaq usam erroneamente 07C0h: 0000h. Embora isso resolva para o mesmo local na memória de modo real, não é padrão e deve ser evitado, uma vez que o código VBR assumindo certos valores de registro ou não escrito para ser relocável pode não funcionar de outra forma.

  • DL = unidade de unidade de inicialização ( disquetes / superfloppies: 00h = primeiro, 01h = segundo, …, 7Eh; discos fixos / unidades removíveis : 80h = primeiro, 81h = segundo,…, FEh; os valores 7Fh e FFh são reservados para ROM / unidades remotas e não deve ser usado no disco). DL é suportado por BIOS da IBM, bem como pela maioria dos outros BIOS. Sabe-se que o BIOS do Toshiba T1000 não oferece suporte a isso de forma adequada, e alguns antigos BIOS Wyse 286 usam valores DL maiores ou iguais a 2 para discos rígidos. Os pen drives configurados como superfloppies normalmente recebem uma atribuição de DL = 00h ou 01h , no entanto, alguns BIOS raros apresentam erroneamente pen drives configurados como drives removíveis como DL = 01h , em vez de usar DL = 80h . Tradicionalmente, apenas os valores 00h e 80h eram repassados ​​pela BIOS durante a inicialização, e muitos setores de inicialização eram hard-wired para trabalhar com valores fixos, de qualquer maneira. A especificação do BIOS Plug and Play e a especificação de inicialização do BIOS(BBS) permite que outros dispositivos também se tornem inicializáveis. Este último também recomenda que os códigos MBR e VBR usem DL em vez de padrões internamente conectados. (NB. MS-DOS / PC DOS e OS / 2 VBRs ignoram o valor DL ​​fornecido e, em vez disso, recuperam o valor armazenado no deslocamento + 19h no bloco de parâmetros do BIOS estendido (EBPB) ou no deslocamento do setor + 1FDh nas versões DOS 3.2 a 3.31. Algumas versões do DR-DOS usam DL começando com 7.02. DR-DOS 7.07 VBRs padrão para usar DL e ignorar o valor BPB, mas SYS / O [: nnn]pode ser usado para reinvocar o comportamento antigo de usar o valor BPB ou até mesmo fazer com que uma unidade de inicialização específica nnn seja armazenada lá. Em volumes FAT32, o FreeDOS aproveita o valor DL ​​também, enquanto o faz apenas em volumes FAT12 / FAT16 , se o valor de BPB for definido como FFh.)
  • DH bit 5 = 0: dispositivo compatível com INT 13h; mais: não importa (deve ser zero). DH é suportado por alguns BIOS da IBM. Alguns códigos MBR e VBR preservam o valor de DH.

Os sistemas com BIOS Plug-and-Play ou suporte BBS fornecerão um ponteiro para dados PnP além de DL: 

  • DL = unidade de acionamento de inicialização (veja acima)
  • ES : DI = aponta para ” $PnP” estrutura de verificação de instalação

Essas informações permitem que o carregador de boot (no MBR ou VBR) interaja ativamente com o BIOS ou uma sobreposição PnP / BBS residente na memória para configurar a ordem de boot, etc., no entanto, essas informações são ignoradas pela maioria dos MBRs e VBRs padrão. 

O ideal é que o ES: DI seja passado adiante, mas os sistemas operacionais habilitados para PnP normalmente também possuem métodos de fallback para recuperar o ponto de entrada do BIOS PnP posteriormente, para que a maioria dos sistemas operacionais não dependa disso. 

As informações no ES:DI podem ser usadas como uma dica – de acordo com a especificação do BIOS PnP, a estrutura de verificação de instalação “$ PnP” pode ser encontrada procurando uma assinatura da string ASCII $ PnP na memória do sistema começando de F0000h a FFFFFh a cada Limite de 16 bytes.

Com mídia particionada, quando o VBR é iniciado pelo MBR (ou carregador de boot diferente) em vez do BIOS, muitas implementações passam informações adicionais para o VBR além de apenas DL (e às vezes DH e ES: DI também):

  • DS:SI = aponta para a entrada da tabela de partição MBR de 16 bytes (no MBR realocado) correspondente ao VBR ativado. O PC-MOS 5.1 depende disso para inicializar se nenhuma partição na tabela de partição for marcada como inicializavel. Em conjunto com LOADER, os setores de inicialização multiusuário DOS e REAL / 32 usam isso para localizar o setor de inicialização da partição ativa (ou outro carregador de inicialização como IBMBIO.LDR em uma posição fixa no disco) se o arquivo de inicialização (LOADER.SYS) puder não ser encontrado. PTS-DOS 6.5 e S/DOS 1.0 usam isso em conjunto com sua partição ativa avançada(AAP). Além do suporte para LOADER e AAPs, o DR-DOS 7.07 pode usar isso para determinar o método de acesso INT 13h necessário ao usar seu código CHS / LBA VBR duplo. O código MBR do OS / 2, MS-DOS (anterior a 7.0), PC DOS (até 7.10) e Windows NT (até 2007) também fornece essa mesma interface, embora esses sistemas não forneçam uso dele. O MBR instalado pelo Windows NT 6.0 (e superior) usa outros registros e, portanto, não é mais compatível com essas extensões. Enquanto algumas extensões dependem apenas da própria entrada da tabela de partição de 16 bytes, outras extensões podem exigir que toda a tabela de partição de 4 (ou 5 entradas) esteja presente também.

No DR-DOS 7.07, uma interface estendida pode ser usada opcionalmente pelo MBR e em conjunto com o LOADER:

  • AX = assinatura mágica indicando a presença desta extensão ( 0EDCh )
  • DL = unidade de acionamento de inicialização (veja acima)
  • DS: SI = aponta para a entrada da tabela de partição MBR de 16 bytes usada (veja acima)
  • ES: BX = início do setor de inicialização ou imagem especial do NEWLDRsetor ” ” (normalmente 7C00h)
  • CX = reservado

Em conjunto com as tabelas de partição GUID (GPT), uma Enhanced Disk Drive Specification (EDD) 4 Hybrid MBR proposta recomenda outra extensão para a interface MBR para VBR: 

  • EAX = 54504721h (“!GPT“)
  • DL = unidade de acionamento de inicialização (veja acima)
  • ES: DI = aponta para ” $PnP” estrutura de verificação de instalação (veja acima)
  • DS: SI = aponta para uma estrutura de transferência de MBR híbrida, consistindo em uma entrada de tabela de partição MBR fictícia de 16 bytes (com todos os bits definidos, exceto para o sinalizador de inicialização no deslocamento + 0h e o tipo de partição no deslocamento + 4h ) seguido por dados adicionais . Isso é parcialmente compatível com a extensão DS: SI mais antiga discutida acima, se apenas a entrada de partição de 16 bytes, e não toda a tabela de partição, for exigida por essas extensões mais antigas.

Saiba mais sobre Volume Boot Record em nosso setor de dicas especializadas.

Perguntas Frequentes sobre Volume Boot Record

O que é MBR e VBR?

Um registro de inicialização de volume (VBR ) (também conhecido como setor de inicialização de volume, registro de inicialização de partição ou setor de inicialização de partição ) é um tipo de setor de inicialização introduzido pelo IBM Personal Computer. O código no MBR e no VBR é basicamente carregado da mesma maneira. Chamar um VBR por meio de um gerenciador de inicialização é conhecido como carregamento em cadeia.

O que significa registro de inicialização?

Significa “Master Boot Record “. Um MBR é uma pequena seção de um disco rígido ou outro dispositivo de armazenamento que contém informações sobre o disco. Ele está localizado no setor de inicialização e define as partições do disco, bem como o código usado para iniciar a sequência de inicialização .

O que é MBR no computador?

Um registro mestre de inicialização ( MBR ) é um tipo especial de setor de inicialização no início de dispositivos de armazenamento em massa de computador particionado , como discos fixos ou unidades removíveis destinadas ao uso com sistemas compatíveis com IBM PC e além.

mbr vbr mbr vs vbr o'que significa boot record volume registro de inicialização de partição Registro de inicialização de volume setor de inicialização de volume vbr mbr volume boot Volume Boot Record
Compartilhe. Facebook Twitter Pinterest LinkedIn Tumblr Email

Artigos Relacionados

Atualizado:26 de abril de 2022

Como copiar URLs de todas as guias abertas no Safari

26 de abril de 2022
Atualizado:12 de abril de 2022

Como converter um arquivo JPG para um PDF no Windows 10 e 11

12 de abril de 2022
Atualizado:12 de abril de 2022

Como desativar login automático do Chrome no Android

12 de abril de 2022
Adicionar um comentário

Deixar uma resposta Cancelar Resposta

  • Home
  • Privacidade
  • Termos de Uso
  • Cookies
©2019 - 2022 A menos que aja alguma outra indicação, todos os direitos são reservados.

Type above and press Enter to search. Press Esc to cancel.