Registro de inicialização estendido - Extended boot record

Um registro de inicialização estendido ( EBR ), ou registro de inicialização de partição estendida ( EPBR ), é um descritor para uma partição lógica no sistema de particionamento de unidade de disco DOS comum. Nesse sistema, quando uma (e apenas uma) entrada de registro de partição no registro mestre de inicialização (MBR) é designada uma partição estendida , essa partição pode ser subdividida em várias partições lógicas. A estrutura real dessa partição estendida é descrita por um ou mais EBRs, que estão localizados dentro da partição estendida. O primeiro (e às vezes o único) EBR sempre estará localizado no primeiro setor da partição estendida.

Ao contrário das partições primárias, que são todas descritas por uma única tabela de partição dentro do MBR e, portanto, limitadas em número, cada EBR precede a partição lógica que descreve. Se outra partição lógica vier em seguida, o primeiro EBR conterá uma entrada apontando para o próximo EBR; assim, vários EBRs formam uma lista vinculada . Isso significa que o número de unidades lógicas que podem ser formadas em uma partição estendida é limitado apenas pela quantidade de espaço em disco disponível na partição estendida fornecida.

Enquanto nas versões do Windows até o XP, as partições lógicas dentro da partição estendida foram alinhadas seguindo convenções chamadas "geometria da unidade" ou "CHS" , desde o Windows Vista elas são alinhadas a um limite de 1 MiB. Devido a essa diferença de alinhamento, o Gerenciador de Disco Lógico do XP (Gerenciamento de Disco) pode excluir essas partições estendidas sem aviso prévio.

Estrutura e valores EBR

EBRs têm essencialmente a mesma estrutura que o MBR; exceto que apenas as duas primeiras entradas da tabela de partição devem ser usadas, além de ter a assinatura de registro de inicialização obrigatória (ou número mágico ) de 0xAA55 no final do setor. Essa assinatura de 2 bytes aparece em um editor de disco como 0x55 primeiro e 0xAA por último, porque os PCs compatíveis com IBM armazenam palavras hexadecimais na ordem little-endian (consulte a tabela abaixo).

Estruturas

Estrutura comum de registros de inicialização estendidos:
Compensações dentro dos setores EBR Conteúdo Tamanho
Hex Dez bytes
000 – 1BD 000 - 445 Geralmente não utilizado; normalmente preenchido com zeros;
pode conter outro carregador de boot, ou seja, um registro de boot de partição, por exemplo em conjunto com Partições Ativas Avançadas
446
1BE – 1CD 446 - 461 Primeira entrada da tabela de partição 16
1CE – 1DD 462-477 Segunda entrada da tabela de partição 16
1DE – 1ED 478-493 Terceira entrada não utilizada preenchida com zeros 16
1EE – 1FD 494 - 509 Quarta entrada não utilizada preenchida com zeros 16
1FE - 1FF 510 - 511 Assinatura 55AAh na ordem de rede big-endian , igual a little-endian 0xAA55 . No disco: 0x55 no deslocamento 510 e 0xAA no deslocamento 511.
2
EBR, tamanho total: 446 + (4 × 16) +2 = 512

O IBM Boot Manager (incluído com os sistemas operacionais OS / 2 e algumas versões anteriores do Partition Magic ) adiciona pelo menos uma entrada de 9 bytes (começando no deslocamento 0x18A ) para cada setor EBR. A entrada consiste em um byte de valor de sinalizador (indicando se a partição está no menu do IBM Boot Manager) seguido por uma string ASCII de 8 bytes que é o nome a ser usado no menu. Se a partição não estiver incluída no menu de inicialização (como partições apenas de dados), o byte do sinalizador é zero; nesse caso, o campo de 8 bytes a seguir pode conter uma representação ASCII do número do setor inicial dessa partição (em hexadecimal).

Estrutura de uma entrada de tabela de partição MBR ou EBR de 16 bytes:
Offsets dentro da entrada Bytes Descrição
Hex Dez
1?E 1 0 1 Indicador de inicialização (80h para ativo; caso contrário, 00h)
1?F - 1?1  1 - 3 3 Endereço do setor da cabeça do cilindro CHS : início da partição
1?2 4 1 Código do tipo de partição
1?3 - 1?5  5 - 7 3 Endereço do setor da cabeça do cilindro CHS : extremidade da partição
1?6 - 1?9  8-11 4 Endereço do bloco lógico LBA : início da partição
1?A - 1?D 12-15 4 Tamanho da partição (em setores)
1 : Para 1?E ler 1BE ou 1CE obter o hex. deslocamento da primeira ou segunda entrada, respectivamente

O tipo de partição de uma partição estendida é 0x05 ( endereçamento CHS ) ou 0x0F ( endereçamento LBA ). O DR DOS 6.0 e superior oferecem suporte a partições estendidas protegidas usando 0xC5 , que são invisíveis para outros sistemas operacionais. Como as versões do DR-DOS não habilitadas para LBA até 7.03 não reconhecem o tipo de partição 0x0F e outros sistemas operacionais não reconhecem o tipo 0xC5 , isso também pode ser utilizado para ocupar espaço até os primeiros 8 GB do disco para uso sob DR-DOS (para unidades lógicas em partições protegidas ou não protegidas) e ainda use 0x0F para alocar o restante do disco para sistemas operacionais habilitados para LBA de maneira não conflitante. Da mesma forma, o Linux suporta o conceito de uma segunda cadeia de partição estendida com o tipo 0x85 - esse tipo está oculto (desconhecido) para outros sistemas operacionais que suportam apenas uma cadeia. Outros tipos de partição estendida que podem conter EBRs incluem os tipos ocultos deliberadamente 0x15 , 0x1F , 0x91 e 0x9B , os tipos de acesso restrito 0x5E e 0x5F e os tipos protegidos 0xCF e 0xD5 . No entanto, eles devem ser tratados como privados para os sistemas operacionais e ferramentas que os suportam e não devem ser montados de outra forma.

Os endereços CHS de uma partição são difíceis de interpretar sem o conhecimento da geometria do disco (virtual), porque as traduções de CHS para LBA são baseadas no número de cabeças e no número de setores por trilha. No entanto, o endereço inicial do LBA fornecido e o tamanho da partição em setores permitem calcular uma geometria de disco que corresponda aos endereços CHS fornecidos onde isso for possível. O endereçamento CHS com 24 bits sempre usa 6 bits para até 63 setores por trilha (1 ... 63), e o acesso ao disco INT 13h geralmente usa 8 bits para até 256 cabeças (0 ... 255), deixando 10 bits para até 1024 cilindros (0 ... 1023). Os endereços ATA CHS sempre usam 4 bits para até 16 cabeçotes (0 ... 15), o que deixa 14 bits para até 16383 cilindros ( {{{1}}} ) em traduções de endereços CHS de 24 bits ATA-5.

Valores

A seguir estão as regras gerais que se aplicam apenas aos valores encontrados nos campos de 4 bytes das entradas da tabela de partição de um EBR (consulte as tabelas acima). Esses valores dependem da (s) ferramenta (s) de particionamento usada (s) para criá-los ou alterá-los e, de fato, a maioria dos sistemas operacionais que usam o esquema de particionamento estendido (incluindo Microsoft MS-DOS e Windows e Linux) ignoram o valor de "tamanho da partição" em entradas que apontam para outro setor EBR. Uma exceção é que o valor deve ser um ou maior para sistemas operacionais Linux.

A primeira entrada de uma tabela de partição EBR aponta para a partição lógica pertencente a esse EBR:

  • Setor inicial = deslocamento relativo entre este setor EBR e o primeiro setor da partição lógica
Observação: geralmente é o mesmo valor para cada EBR no mesmo disco rígido; geralmente 63 para Windows XP ou mais antigo.
  • Número de setores = contagem total de setores para esta partição lógica
Nota: Quaisquer setores não utilizados entre o EBR e a unidade lógica não são considerados parte da unidade lógica.

A segunda entrada de uma tabela de partição EBR conterá zero bytes se for o último EBR na partição estendida; caso contrário, ele aponta para o próximo EBR na cadeia de EBR.

em outras palavras, o EBR deve ter um tipo de partição válido, assim como uma partição deve ter um tipo de partição válido.
  • Setor inicial = endereço relativo do próximo EBR dentro da partição estendida
em outras palavras: Setor inicial = endereço LBA do próximo EBR menos endereço LBA do primeiro EBR da partição estendida
  • Número de setores = contagem total de setores para a próxima partição lógica, mas a contagem começa a partir do próximo setor EBR
Nota: Ao contrário da primeira entrada em uma tabela de partição EBR, este número de contagem de setores inclui o setor EBR da próxima partição lógica junto com os outros setores em sua trilha não utilizada de outra forma . (Compare os Diagramas 1 e 2 abaixo.)
Diagrama 1. Qual a partida e
Número total de valores setores da
1ª entrada ponto para e enumerar .
Diagrama 2. Qual a partida e total
Número de
valores setores da de uma EBR
2ª entrada ponto para e enumerar .

Observações:
Os diagramas acima não estão em escala: As finas linhas brancas entre cada "EBR" e sua "partição" lógica representam o restante de uma área não utilizada, geralmente de 63 setores de comprimento; incluindo o único setor EBR (mostrado em um tamanho muito exagerado).

Em alguns sistemas, uma grande lacuna de espaço não utilizado pode existir entre o final de uma partição lógica e o próximo EBR, ou entre a última partição lógica e o final de toda a partição estendida em si, se qualquer partição lógica criada anteriormente foi excluída ou redimensionado (reduzido).

A intercalação de EBRs e partições mostrada acima é típica, mas não necessária. É legítimo ter dois ou mais EBRs consecutivos seguidos por duas ou mais regiões de dados de partição.

Nomeação

Linux e sistemas operacionais semelhantes designam discos rígidos IDE como /dev/hda para o primeiro disco rígido, /dev/hdb para o segundo disco rígido e assim por diante. Da mesma forma SCSI e em kernels posteriores também discos rígidos IDE e SATA são identificados como /dev/sda para o primeiro disco, etc.

As até quatro partições definidas no registro mestre de inicialização são designadas como /dev/hda1 ... /dev/hda4 para /dev/hda . A quinta partição neste esquema, por exemplo /dev/hda5 , corresponde à primeira unidade lógica . A sexta partição /dev/hda6 corresponderia então à segunda unidade lógica ou, em outras palavras, os contêineres de partição estendida não são contados. Apenas a partição estendida mais externa definida no MBR (uma de /dev/hda1 ... /dev/hda4 ) tem um nome neste esquema.

Exemplos

Isso mostra uma partição estendida com 6.000 setores e 3 partições lógicas.
Observação: Nem uma pequena partição estendida com apenas 3 MB, nem um disco rígido com 20 setores por trilha são realistas, mas esses valores foram escolhidos para tornar este exemplo mais legível.

06-02-05-EMBR-A.png

Instantâneo

A saída a seguir de uma ferramenta de linha de comando mostra o layout de um disco com duas unidades lógicas. Detalhes para as partições FAT e NTFS removidos, a linha anotada com o Linux é /dev/hda6 com um sistema de arquivos estendido . O início de /dev/hda5 mostra que os sistemas operacionais envolvidos PC DOS 7 , Windows NT e Debian não insistem em nenhum alinhamento de partição estendida com uma lacuna:

 \\.\PHYSICALDRIVE0 (assuming geometry CHS 99999 255 63)  id. [3189-3188]
   MBR CHS     0   0  1 at          0, end     0   0  1, size          1
unused CHS     0   0  2 at          1, end     0   0 63, size         62
1:*06: CHS     0   1  1 at         63, end   260 254 63, size    4192902 bigFAT
2: 05: CHS   261   0  1 at    4192965, end   757 254 63, size    7984305 => EXT
3: 17: CHS   758   0  1 at   12177270, end  1522 254 63, size   12289725 NTFS
4: 1C: CHS  1523   0  1 at   24466995, end  1825 254 63, size    4867695 FAT32
          (extended offset    4192965)                  total   29334690
=> EXT CHS   261   0  1 at          0, end   261   0  1, size          1
5: 06: CHS   261   0  2 at          1, end   384 254 63, size    1992059 bigFAT
6: 05: CHS   385   0  1 at    1992060, end   757 254 63, size    5992245 => EXT
          (extended offset    6185025)                  total    7984305
=> EXT CHS   385   0  1 at          0, end   385   0  1, size          1
unused CHS   385   0  2 at          1, end   385   0 63, size         62
6: 83: CHS   385   1  1 at         63, end   757 254 63, size    5992182 Linux
7: 00: CHS     0   0  0 at          0, end     0   0  0, size          0 unused
                                                        total    5992245

bigFAT CHS     0   1  1 at         63, end   260 254 63, size    4192902
PC DOS 7    (cluster size  64, number      65506)       total    4192902

  NTFS CHS   758   0  1 at   12177270, end  1522 254 63, size   12289725
[1C81-013D] (cluster size   8, number    1536215)       total   12289725

 FAT32 CHS  1523   0  1 at   24466995, end  1825 254 63, size    4867695
[C417-9E22] (cluster size   8, number     607271)       total    4867695

bigFAT CHS   261   0  2 at    4192966, end   384 254 63, size    1992059
FAT SWAP    (cluster size  32, number      62236)       total    1992059

Para outro exemplo, veja o "Linux Partition HOWTO" .

Notas de rodapé

Veja também

Referências

  1. ^ a b c "Conceitos de disco e solução de problemas" . Visão geral técnica dos serviços da Web e de aplicativos do Windows 2000 . Microsoft Technet. 2000 . Página visitada em 2011-07-19 .
  2. ^ "A partição que hospeda o Windows Vista pode desaparecer se você usar o Windows XP para criar uma partição em um computador que tenha o Windows XP e o Windows Vista instalados" . Suporte da Microsoft . 02-12-2007 . Página visitada em 2015-08-29 .
  3. ^ a b "Resolução de problemas em discos e sistemas de arquivos" . Kit de recursos do Windows XP . Microsoft TechNet . 03-11-2005 . Página visitada em 15/09/2011 .
  4. ^ a b Andries E. Brouwer (2011). "Lista de identificadores de partição para PCs" . Página visitada em 2011-07-19 . [0x05 s] suporta no máximo discos de 8,4 GB: com o tipo 05, DOS / Windows não usará a chamada de BIOS estendida, mesmo se estiver disponível. Veja o tipo 0f abaixo. Usar o tipo 05 para partições estendidas além de 8 GB pode levar à corrupção de dados com o MSDOS.
  5. ^ Andries Brouwer (2004). "Partições estendidas e lógicas" . HOWTO de disco grande . Página visitada em 2011-07-19 .
  6. ^ "ATA-5" (PDF) . T13 / 1321D . INCITS Technical Committee T10 SCSI Storage Interfaces. 2000. Arquivo do original (PDF) em 28/07/2011 . Página visitada em 30/07/2011 .
  7. ^ Juergen Haas. "Partições estendidas" . linux.about.com . Página visitada em 2011-07-19 .
  8. ^ Anthony Lissot (2005). "Particionando com fdisk" . Linux Partition HOWTO Revisão 3.5 . Página visitada em 2011-07-19 .