MBR max de 2TiB em cada partição ou no disco?

3

Um ponto rápido de esclarecimento necessário. Com o MBR

Maketecheasier.com diz

each partition can only go up to a maximum of 2TB in size

As diferenças entre o MBR e o GPT

Mas o Developerworks da IBM diz

The MBR layout also limits the maximum size of disk that is supported to approximately 2TB

Aprenda Linux, 101: Layout do disco rígido

Qual é o correto?

* cross postado em stackoverflow

    
por mycowan 19.01.2016 / 05:11

2 respostas

2

Ambos estão corretos - e nenhum deles está correto.

Primeiro, a parte "nenhuma": o limite de MBR é de 2 a 32 setores. Dados os tamanhos comuns de setor de 512 bytes, o limite é de 512 * 2 ^ 32 bytes, o que equivale a 2 TiB. Note que é TiB, não TB. Consulte aqui, entre outros lugares, para obter informações sobre as diferentes unidades IEEE-1541 (como TiB) e SI (como TB). No nível de TB ou TiB, a diferença é de cerca de 10%, o que é suficiente para causar muita confusão. Além disso, para adicionar outra nota pedante, um comentário se refere a "Tb", que é tecnicamente tera bits , não tera bytes - que é desativado por um fator de 8; mas eu discordo ...

Pior, alguns discos têm setores que não têm 512 bytes de tamanho. Mais comumente, alguns discos (principalmente unidades USB externas, mas também alguns discos internos) têm setores de 4096 bytes. Em tais discos, o limite de MBR é aumentado para 16 TiB. Note que o tamanho do setor aqui é o tamanho do setor lógico . A maioria dos discos rígidos modernos possui setores físicos de 4096 bytes, mas como as estruturas de dados e E / S de disco, incluindo tabelas de partição, são tratadas em termos de setores lógicos , é o < tamanho do setor> lógico que é importante para essa discussão. De qualquer forma, o resultado disso é que você pode ter um disco USB externo de 3 TB, 4 TB ou maior que usa o MBR e não há problemas.

Segundo, a parte "both": as estruturas de dados do MBR estão um pouco confusas, mas a parte importante para essa discussão é a maneira como as partições são descritas no formulário de endereço de bloco lógico (LBA). Isso é como um ponto inicial e um tamanho em setores, ambos expressos como valores setoriais de 32 bits (daí o limite do setor 2 ^ 32). Devido a esse fato, o tamanho máximo de partição de um disco MBR é de 2 a 32 setores (2 TiB, dado um tamanho de setor de 512 bytes). Esse limite não pode ser superado, exceto aumentando o tamanho do setor ou alterando o tipo de tabela de partição. Como o ponto de partida da partição também é um valor de 32 bits, é teoricamente possível ter de 1 a 3 partições que residam inteiramente nos primeiros 2 a 32 setores do disco e depois ter uma partição final de até para 2 ^ 32 setores que começa logo antes do 2 ^ 32 setor do disco. Tal configuração poderia teoricamente apoiar discos de até 4 TB, dado um tamanho de setor de 512 bytes. Claro, você ainda estaria limitado a um tamanho de partição do setor 2 ^ 32, e o posicionamento das partições seria extremamente importante. Você não poderia ter quatro partições de 1 TiB em tal disco, por exemplo. Assim, mesmo esse suporte teórico para discos grandes é muito limitado.

Note que enfatizei a palavra "teoricamente" várias vezes no parágrafo anterior. A razão é que muitos sistemas operacionais e ferramentas de manipulação de MBR irão falhar quando o tamanho do disco exceder 2 ^ 32 setores, uma vez que esses sistemas operacionais e ferramentas ainda devem se referir a dados além do ponto do setor 2 ^ 32. Portanto, não é seguro criar uma estrutura de dados MBR em que uma partição abranja o ponto do setor 2 ^ 32, mesmo que seja possível criar uma estrutura de dados desse tipo. Na verdade, fiz alguns testes sobre esse problema (consulte aqui para obter um resumo dos meus resultados) e descobri que os únicos sistemas operacionais que funcionavam com um disco MBR com uma partição que abrangia o valor do setor 2 ^ 32 também funcionavam bem com o GPT. Como o GPT é muito mais capaz do que o MBR, há pouca ou nenhuma razão para o risco de usar o MBR nessas situações. Além disso, meus testes não cobriam todas as ferramentas possíveis; mesmo que você use um sistema operacional como o Linux ou o Windows 7, que pode manipular um disco MBR maior do que o normal, é possível que você execute um utilitário de disco que se soltará nesse disco, o que pode resultar em graves perda de dados.

Em suma, você pode usar discos maiores do que 2TiB com MBR se o disco tiver setores lógicos de 4096 bytes. A maneira mais comum de fazer isso é colocá-lo em determinados gabinetes USB externos. Usar um disco maior que 2TiB com setores lógicos de 512 bytes, porém, pode ser feito com segurança apenas com o GPT (ou por não usar o disco além do limite de 2 TiB). A maioria dos sistemas operacionais modernos suporta GPT, então isso não é uma dificuldade para a maioria das pessoas.

    
por 20.01.2016 / 16:47
1

Cada partição não pode ter mais de 2 TB. Isso ocorre porque 2TB (aproximadamente) é o tamanho máximo que pode ser especificado pelos bytes 9 a 12, que é o setor inicial no formato LBA. Então, os bytes 13-16 podem especificar o tamanho, que deve ser 4.294.967.295 setores ou menor, que é 2.199.023.255,040 bytes se cada setor tiver 512 bytes (que era o tamanho padrão mais amplamente suportado para um setor, ao longo do tempo em que os MBRs eram usados regularmente ). 2 TB é 2.199.023.255.552 bytes, então o limite real (com setores de tamanho padrão) é de 2 TB - 512 bytes. Assumindo que aceitamos essa aproximação, a alegação da MakeTechEasier.com (mencionada na pergunta) está correta.

Então, os bytes 13-16 do MBR podem especificar o tamanho, que deve ser similarmente 2.199.023.255.040 ou menor (fazendo as mesmas suposições sobre tamanhos de setor). Portanto, o limite real do que um MBR pode especificar (usando os padrões mais comuns) é de 4 TB - 1 KB.

No entanto, uma pessoa não pode ter 4 partições com 1TB cada, porque iniciar na 3ª partição não seria possível. Isso é confuso demais para facilitar o marketing, então as pessoas geralmente se referem apenas a 2 TB como o limite antes que problemas potenciais possam se infiltrar na mistura. Para, para manter a história simples, o Developerworks da IBM provavelmente está apenas dizendo o que é recomendado para empresas que querem apenas que as coisas funcionem bem, sem experiências inconvenientes de novos limites a serem observados ao tentar espremer cada bit possível. É muito mais simples dizer: MBR = até 2TB = ok, maior é suportado pela GPT.

Observe que os limites aos quais estou me referindo referem-se apenas aos valores armazenados nas estruturas de disco. Não estou fazendo nenhuma declaração específica sobre o suporte de vários sistemas operacionais ou implementações de BIOS. O software pode usar um número "assinado" para rastrear as coisas. Tal código de software seria mais provável ter um limite de 2TB do que um limite de 4TB. A idéia de ter um espaço em disco utilizável por uma partição, mas que não pode ser o local inicial de uma partição, pode violar algumas suposições básicas de certos softwares (como o particionador de disco "fdisk" e o "setup"). Assim, a declaração da IBM também pode ter tentado descrever a experiência provável, levando em consideração a complexidade causada pela necessidade de ser suportada por limitações de disco (quanto de dados cabe em uma certa quantidade de espaço), sistemas (incluindo drivers para determinados discos) e implementações de BIOS. Embora o limite declarado pela IBM possa teoricamente ser contornado, via software, a informação fornecida pode ser o conselho certo para alguém que quer evitar problemas.

    
por 20.01.2016 / 19:36