Existe uma maneira de "calcular" os guias de uma tabela de partição GPT?

Existe uma maneira de "calcular" os guias de uma tabela de partição GPT?

Existem guias reservados específicos, como {DE94BBA4-06D1-4D40-A16A-BFD50179D6AC}para uma partição do Windows ou {00000000-0000-0000-0000-000000000000}para uma partição não utilizada.

De onde vêm esses valores? Eles são fabricados de alguma forma ou são gerados aleatoriamente e depois registrados?

Não parece muito racional usar um esquema supostamente “aleatório” para criar identificadores específicos.

Responder1

Não parece muito racional usar um esquema supostamente “aleatório” para criar identificadores específicos.

Na verdade, parece muito racional.

Nos velhos tempos do formato IBM MBR original, usávamos um identificador de 8 bits para “tipo de partição”. Isso foi em 1982 ou algo assim.

Isso pode ter sido suficiente quando previmos apenas um pequeno número de possibilidades, mas entre diferentes variantes do DOS, outros sistemas operacionais baseados em PC e alguns outros sistemas que precisavam de seus próprios identificadores de tipo de partição (às vezes alguns diferentes), foi muito fácil ficar sem opções.

O GPT foi projetado para resolver os problemas do MBR que surgiram nos últimos 35 anos. Agora que temos muitas vezes mais espaço de armazenamento disponível do tamanho de uma unha do que um enorme conjunto de armazenamento tinha então, podemos nos dar ao luxo de "desperdiçar" alguns bytes extras para garantir que, dadas as leis da física como as entendemos, possamosnuncaficar sem escolhas. (Grosso modo, simplesmente não há matéria suficiente na Terra para sequerlojauma única cópia de cada GUID válido com métodos de armazenamento conhecidos atualmente. Cada pessoa viva atualmente na Terra poderia gerar cerca de 10 ^ 25 GUIDs e o risco de colisão ainda seria apenas marginal.)

GPT, ou tabela de partição GUID, usa GUIDs para mais ou menos tudo. Como a primitiva já está sendo usada, não parece haver nenhum motivo importante para usar algo diferente para o tipo de partição.

Os GUIDs são gerados aleatoriamente, de acordo com um formato fixo. Portanto, você pode escolher algum valor "especial" ou simplesmente gerar um único GUID e chamá-lo de "especial". Não há nada mágico que torne um valor GUID específico mais ou menos especial do que qualquer outro. Praticamente o único GUID realmente "especial" é o GUID com todos os zeros, mas isso ocorre apenas porque geralmente tratamos os valores com todos os zeros ou todos os uns como especiais na computação.

Assim, uma vez que você tenha decidido usar GUIDs e precise definir algum valor específico, bastagerar um GUID aleatório e depois anunciar por decreto que "este GUID tem esse significado".Qualquer pessoa que queira interoperar com você deve tratar aquele GUID específico como tendo aquele significado específico e não outro.

informação relacionada