Tabela de partição consumindo 32K de dados?

3

Eu criei um arquivo de 100 MB e use losetup para atribuir /dev/loop0 .

Consequentemente, eu uso fdisk para criar uma tabela de partições DOS vazia e uma nova partição que abrange todo o disco.

Uma coisa que é incomum para mim e não consigo entender, é que a partição mencionada começa no 63º setor; isto implica que a tabela de partições ocupa 62 setores, ou seja, 31Kb.

Fiquei com a impressão de que todos os dados referentes a entradas de partição são registrados no registro mestre de inicialização, o primeiro setor da unidade e, portanto, apenas os primeiros 512 bytes do disco devem estar fora dos limites.

Examinando a unidade, os setores após o primeiro não são completamente preenchidos com null, então, claramente, há alguns detalhes que estou faltando sobre as tabelas de partição.

fdisk print (tipo de exibição = setores):

      Device Boot     Start        End     Blocks   Id  System
/dev/loop0p1   *         63     192779      96358+  83  Linux
    
por Maxim Blinov 21.06.2016 / 00:33

1 resposta

4

O formato de partição MBR tem três décadas e está sujeito a estranheza por razões históricas.

Naquela época, o computador precisava conhecer a geometria do disco rígido. Como os dados são organizados em um disco rígido? Em três dimensões: cilindro, cabeças e setores .

(Diagramade LionKimbro )

A geometria foi armazenada com valores máximos que foram grandes o suficiente para o tempo: 8 bits para o número de cabeças (1–255), 6 bits para o número de setores em uma trilha (1-63) e 10 bits para o número de faixas por cabeça, ou seja, o número de cilindros (1 a 1023), com um setor contendo 512 bytes. Atualmente os computadores não precisam conhecer a geometria real do disco (e esses números nem são significativos), mas o formato permanece, e os discos que usam o particionamento MBR têm um tamanho expresso no formato CHS, mas tudo o que importa é que o produto dos três números é igual ao número total de setores.

O endereço inicial do início de uma partição é expresso no formato CHS, e muitos sistemas operacionais mais antigos não suportavam partições que abrangem faixas diferentes, ou seja, uma partição tinha que ser alinhada em um limite de cilindro. Isso significa um múltiplo de 63 setores para a primeira partição.

Há um espaço de 31 kB que não é usado para o conteúdo da partição. Pode ser usado para um gerenciador de inicialização.

O moderno formato de partição GPT , que é o padrão para PCs mais novos com discos de > 1 TB, gosta de se alinhar partição em limites de 1 MB, então há cerca de 1023 kB livres antes do início da primeira partição. Novamente, isso pode ser usado por um gerenciador de inicialização. Os sistemas operacionais modernos também alinham as partições MBR em limites de 1 MB, eliminando a compatibilidade do CHS e garantindo que as partições caiam em um limite do setor em unidades com setores de 4 kB (= 8 setores tradicionais de 512 kB). Alinhar partições em um limite de setor (como no tamanho do setor real usado pelo disco, ou seja, seu tamanho de transferência preferido) ajuda no desempenho.

    
por 21.06.2016 / 01:19