Procurando (um pouco) melhores explicações sobre o suporte a discos rígidos> 2 TB

9

Hoje, enquanto pesquisava no Google, me deparei com posts alegando que a Seagate planeja lançar uma unidade de 3 TB mais tarde em 2010. Infelizmente, as coisas que eu olhei pareciam conter informações que eu não achei adequadas. (Eu vincularia a alguns exemplos, mas no momento só tenho 1 link por postagem).

Agora, realmente não tenho nenhuma "necessidade" de entender melhor os detalhes tediosos subjacentes disso. Eu só estou curioso. E confuso.

Então ... algumas perguntas, espero que alguém mais informado do que eu possa responder.

  1. A conversa sobre um possível problema de endereçamento no hardware e no software me confundiu. A afirmação é de que algo chamado de algo chamado Long LBA addressing (LLBA)é necessário Command Descriptor Blockcomo forma de contornar os limites atuais para acessar um disco rígido maior que 2 TB (1 TB = 2⁴⁰ B).

    OK, tudo bem. Mas pensei que a última vez que esse problema surgiu, foi resolvido estendendo o comprimento do campo LBA de 28 para 48 bits. (Lembre-se deste site? Www.48bitlba.com ) Um LBA de 6 bytes é claramente grande o suficiente, então o que há com essa palestra do LLBA. Eu pensei que tudo isso foi corrigido pelo Win XP SP2, se não antes? E certamente todo o hardware deve estar à altura da tarefa, não deveria?

  2. O problema real, como eu o entendo com unidades muito maiores que 2 TB, são os campos LBA de 4 bytes no MBR (Master Boot Record) usados ​​para particionar praticamente todos os discos rígidos no momento. A solução mais provável é migrar para a GUT Partition Table (GPT) da Intel. Uma GPT usa campos de 8 bytes para o LBA.

    O que eu não entendo nesse contexto é qual é o problema com a inicialização, digamos, o Windows a partir de uma unidade de 3 TB que usa uma GPT. É verdade que o BIOS do PC atual não saberia como reconhecer ou trabalhar com uma GPT. Mas toda GPT vem com o chamado "Safety" ou "Guarding" MBR no setor 0.

    A Apple já usa uma versão híbrida do MBR para permitir que eles inicializem o Windows em seus Macs Intel (também conhecido como Boot Camp). Não foi possível fazer algo semelhante para permitir que o BIOS do PC reconheça e inicialize a partir de uma partição nos, digamos, os primeiros 2 TB de uma unidade de 3 TB ou maior?

Tenho mais perguntas, como onde os setores de 4K se encaixam nisso? Mas provavelmente é hora de calar a boca e postar isso. ;-)

-rrational john

John irracional
fonte

Respostas:

6

As declarações sobre "Long LBA" parecem ter origem nesse gerente de produto da Seagate. O que ela provavelmente quis dizer é que, embora o LBA de 48 bits seja o padrão no hardware, os sistemas operacionais e drivers de 32 bits podem não suportar todos os 48 bits, pois (a) são de 32 bits e são mais problemáticos, e (b) O MBR suporta apenas 32 bits para partições de qualquer maneira, então, por que se preocupar?

Quando a barreira de 128 GB foi rompida com a adoção do LBA de 48 bits, ambos estavam do lado do hardware, na especificação ATA, passando de 28 bits; e também no lado do SO / driver, para garantir que eles não codifiquem esse antigo limite de 28 bits. Você provavelmente pode dizer que os drivers atuais bem escritos realmente estão em conformidade com o limite real de 48 bits, mas é fácil ver como, em algum ponto da cadeia, alguém seguiu o caminho mais fácil e suporta apenas 32 bits em seus drivers de 32 bits. Dado que os SOs de 32 bits estão saindo de qualquer maneira, pode não valer a pena tentar garantir que tudo funcione.

Como você disse, o problema real (pelo menos para o Windows) é inicializar um disco GPT a partir de um computador baseado em BIOS (não EFI). O MBR de proteção foi projetado para fazer com que o disco inteiro pareça uma única partição desconhecida, para que um computador compatível com BIOS / MBR nem sequer o toque. Você pode criar um disco híbrido, para que o MBR também contenha outras entradas, para partições abaixo da barreira de 2 TB. Mas esses discos híbridos são frágeis (fáceis de dominar com as ferramentas de partição MBR ou GPT) e não são mais oficialmente discos GPT. Você também não está inicializando partições GPT, mas partições MBR. Isso pode ser bom se você quiser apenas usar a partição GPT como uma unidade de dados.

E por que o BIOS não pode inicializar o GPT? A resposta curta é que eles não têm e, para adicionar esse recurso, você precisa de um BIOS mais inteligente. E é para isso que serve a EFI.

Os setores de 4KB oferecem discos de 16 TB com LBA de 32 bits. (E menos setores maiores significam potencialmente menos sobrecarga de E / S.) Mas todos os sistemas operacionais, drivers e até alguns aplicativos precisariam ser criados para suportar setores de tamanho variável. Tudo o que você precisa é de um lugar onde o tamanho do setor seja codificado em 512 para quebrar. Portanto, os setores de 4KB também não são uma solução "fácil", porque exigiria muito trabalho de muitas partes. Mas se você estiver escrevendo um software futuro para oferecer suporte a GPT (que é independente do tamanho do setor) e setores de tamanho variável, ele poderá ser adotado como prática comum em algum momento.

Ken
fonte
3

Você certamente pode inicializar a partir de um disco GPT em uma máquina BIOS. Só que o Windows afirma que não pode.

Mesmo isso não é realmente verdade; você pode inicializar o Windows a partir de um computador BIOS em um disco GPT: você só precisa de um pequeno disco MBR adicional para armazenar os arquivos de inicialização. Um disco rígido usado para outro sistema operacional com uma partição sobressalente (pequena), disquete, unidade USB (assumida) ...

Inicialize no disco de instalação / reparo do Windows. Crie a unidade do sistema no stick e use-o bcdbootpara colocar seus arquivos de inicialização no stick. Adicione um setor de inicialização com bootsect. Mude {bootmgr} devicepara boot. Inicialize a partir do stick.

Os passos são detalhados aqui .

Milind R
fonte
0

O que eu não entendo nesse contexto é qual é o problema com a inicialização, digamos, o Windows a partir de uma unidade de 3 TB que usa uma GPT.

Em um sistema BIOS tradicional, o BIOS carrega o setor de inicialização do disco e o executa no modo real de 16 bits. O código carregado no setor de inicialização precisa localizar e carregar o sistema operacional adequado.

A Microsoft nunca implementou o suporte GPT em seu carregador de modo real. Portanto, ele não pode ler a tabela de partição GPT e inicializar o resto do sistema operacional. Portanto, para inicializar o Windows a partir de um disco GPT, é necessário usar o uEFI em vez do BIOS tradicional (o que é bom se sua placa-mãe suportar e a versão do Windows for nova o suficiente) ou usar alguma forma de solução alternativa, como um carregador de terceiros, um tipo de partição híbrida ou um disco separado para inicialização.

plugwash
fonte