Por que a partição de inicialização sob uma configuração BIOS-GPT precisa ser 1007KiB?

3

Referência: link

Outras fontes podem se referir a 1 MiB para isso, mas estou realmente curioso sobre este Número Mágico. Por que não 1000KiB mais uma diferença de 24KiB?

    
por shunner 10.12.2013 / 09:44

2 respostas

2

A citação referenciada refere-se a uma Partição de inicialização do BIOS , que contém o código GRUB no modo BIOS. O wiki que você citou faz um trabalho ruim de explicar o problema. Não há "tamanho mágico" para uma partição de inicialização do BIOS, porque o código do GRUB que ela contém pode variar de tamanho dependendo da versão do GRUB que está sendo usada e dos recursos específicos (como drivers do sistema de arquivos) que devem ser incluídos nesse código. No passado, 33 KiB era grande o suficiente, mas em muitos casos hoje ele precisa ser maior do que isso. Eu já vi alegações de que algumas instalações realmente precisam de mais de 1 MiB, mas eu nunca verifiquei isso sozinho.

Parece que os autores do wiki do Arch estão excessivamente preocupados com a otimização do layout do disco; eles parecem querer que não haja setores não alocados no disco. Para atingir esse objetivo, eles estão defendendo a criação de uma partição de inicialização de BIOS de tamanho estranho, de forma que ocupe todo o espaço entre o setor 34 (o primeiro setor disponível no GPT, assumindo o tamanho da tabela de partição padrão) e 2047 (o setor final antes do setor). 2048, que é o primeiro setor padrão usado, dado o alinhamento do setor 2048). Não há nada de errado em fazer desta forma, assumindo que o código do GRUB se encaixa em 1007KiB; mas se você aceitar o alinhamento do setor 2048 padrão em todas as partições, incluindo a Partição de Inicialização do BIOS, o resultado seria simplesmente 1007KiB de espaço em disco não alocado e uma redução no tamanho de uma partição de dados em 1MiB comparado a fazê-lo como o wiki sugere . Dado que os discos modernos têm capacidades que são medidas em terabytes (em outras palavras, milhões de vezes maiores que o espaço desperdiçado), esta obsessão em preservar 1 MiB de espaço é, IMHO, deslocada.

    
por 10.12.2013 / 21:09
1

Eu não sei de onde você tem esses números "24KiB" e "1000KiB". A partição de inicialização é tão grande, para todos os possíveis códigos de bootloader, arquivo de configuração, helpfile, kernelimage, etc., tinha seu lugar nela. Este 1Meg é imho pouco, porque

  • os kernels podem ser hoje até 20megs ou mais

  • seu tamanho precisa ser declarado em excesso, porque

  • ter lugar no início de um disco rígido, movendo assim o início da primeira partição real de dados, é principalmente uma das operações de reparticionamento mais difíceis,

  • até mesmo as partições de inicialização realmente grandes serão pequenas comparadas com os tamanhos de disco rígido de hoje (por exemplo, 200 meg é praticamente nada em um disco 4T).

por 10.12.2013 / 15:33