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
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).
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.
-
- Código do tipo de partição = 0x05 ( endereçamento CHS ) ou 0x0F ( endereçamento LBA ).
- 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.)
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.
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
- Registro mestre de inicialização (MBR)
- Volume Boot Record (VBR)
- Particionamento de disco
- Disklabel BSD
- Endereçamento de Bloco Lógico (LBA)
- Editor de disco
- Alinhamento de partição
- Gerenciador de disco lógico
Referências
- ^ 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 .
- ^ "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 .
- ^ 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 .
-
^ 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.
- ^ Andries Brouwer (2004). "Partições estendidas e lógicas" . HOWTO de disco grande . Página visitada em 2011-07-19 .
- ^ "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 .
- ^ Juergen Haas. "Partições estendidas" . linux.about.com . Página visitada em 2011-07-19 .
- ^ Anthony Lissot (2005). "Particionando com fdisk" . Linux Partition HOWTO Revisão 3.5 . Página visitada em 2011-07-19 .