Existem maneiras de “calcular” os guias para uma tabela de partições GPT?

1

Existem guias reservadas específicas, 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 de alguma forma fabricados, ou são apenas gerados aleatoriamente e depois registrados?

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

    
por Don Question 08.12.2015 / 13:59

1 resposta

3

Does not seem very rational to use a supposedly "random" scheme to create specific identifiers.

Na verdade, parece muito racional.

De volta aos tempos antigos do formato IBM MBR original, usamos um identificador de 8 bits para "tipo de partição". Isso foi em 1982 ou mais.

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 (algumas vezes diferentes). , foi muito fácil ficar sem escolhas.

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

O GPT, ou a Tabela de Partições GUID, usa GUIDs para mais ou menos tudo. Como o primitivo já está sendo usado, 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. Assim, você pode escolher um valor "especial" ou gerar apenas um único GUID e chamá-lo de "especial". Não há nada mágico que faça com que um determinado valor de GUID seja mais ou menos especial que qualquer outro. Sobre o único realmente "especial" GUID é o all-zeroes GUID, mas isso é somente porque geralmente tratamos all-zeroes ou all-ones valores especiais em computação.

Assim, depois de decidir usar os GUIDs e precisar definir algum valor específico, você simplesmente gera um GUID aleatório e, em seguida, anuncia por decreto que "esse GUID tem esse significado". quem quiser interagir com você deve tratar esse GUID específico como tendo esse significado específico e não outro.

    
por 08.12.2015 / 14:26