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

9

Hoje, enquanto pesquisava, tropecei em postagens afirmando que a Seagate planeja lançar uma unidade de 3TB em algum momento depois de 2010. Infelizmente, as coisas que eu aparentava pareciam conter informações que eu não achei adequadas. (Eu teria um link para alguns exemplos, mas só tenho permissão para 1 link por postagem no momento).

Agora eu realmente não tenho nenhuma "necessidade" para entender melhor os detalhes tediosos subjacentes a isso. Eu só estou curioso. E confuso.

Então ... algumas perguntas Eu espero que alguém seja mais bem informado do que eu poderia responder.

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

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

  2. O problema real, como eu o entendo, é muito maior que 2 TB são os campos LBA de 4 bytes no registro mestre de inicialização (MBR) usado para particionar praticamente todos os discos rígidos no momento. A maioria A provável solução é migrar para a Tabela de Partição GUID (GPT) da Intel. UMA A GPT usa campos de 8 bytes para o LBA.

    O que eu não entendo neste contexto é qual é o problema com a inicialização, digamos, do Windows a partir de uma unidade de 3 TB que usa uma GPT. Concedido, o BIOS atual do PC não saberia como reconhecer ou trabalhar com um GPT. Mas cada 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 a inicialização do Windows em seus Macs Intel (também conhecidos 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 dentro, digamos, dos primeiros 2 TB de uma unidade de 3 TB ou maior?

Eu tenho mais perguntas, como onde os setores de 4K se encaixam em tudo isso. Mas provavelmente é hora de eu calar a boca e postar isso. ; -)

-irrational john

    
por irrational John 21.05.2010 / 05:11

3 respostas

6

As declarações sobre o "Long LBA" parecem ter se originado desse gerente de produtos 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, já que (a) são de 32 bits e isso é mais incômodo e (b) O MBR suporta apenas 32 bits para partições de qualquer maneira, então por que se preocupar.

Quando a barreira de 128GB foi quebrada adotando o LBA de 48 bits, isso estava no lado do hardware, na especificação ATA, subindo de 28 bits; e também no lado do SO / driver, para garantir que eles não codifiquem esse antigo limite de 28 bits. Provavelmente, você pode dizer que os drivers atuais bem escritos estão de acordo com o limite real de 48 bits, mas é fácil ver como, ao longo da cadeia, alguém pegou o caminho mais fácil e só suporta 32 bits em seus drivers de 32 bits. Dado que os sistemas operacionais de 32 bits estão a caminho de qualquer maneira, pode não valer a pena tentar garantir que tudo isso funcione.

Como você disse, o problema real (pelo menos para o Windows) é inicializar um disco GPT de um computador baseado em BIOS (não-EFI). O MBR protetor é projetado para fazer com que todo o disco pareça uma única partição desconhecida, de modo que um computador com BIOS / MBR nem sequer toque nele. 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 destruir com ferramentas de partição MBR ou GPT) e não são mais oficialmente discos GPT. Você também não está inicializando nenhuma partição GPT, você está inicializando 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 essa capacidade, você precisaria de um BIOS mais inteligente. E é para isso que a EFI é.

Os setores de 4KB fornecem 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é mesmo alguns aplicativos teriam que ser escritos 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 4KB também não são uma solução "fácil", porque exigiria muito trabalho de muitas partes. Mas se você for escrever software futuro para suportar GPT (que é agnóstico em tamanho de setor) e setores de tamanho variável, ele pode ser adotado como a prática comum em algum momento.

    
por 21.05.2010 / 11:47
3

Você certamente pode inicializar a partir de um disco GPT em uma máquina com BIOS. Apenas as janelas afirmam que não pode.

Mesmo isso não é verdade; você pode inicializar o Windows a partir de um computador BIOS em um disco GPT: basta um minúsculo disco MBR adicional para manter os arquivos de inicialização. Um disco rígido sendo usado por algum outro sistema operacional com uma partição (pequena) sobressalente, disquete, drive USB (assumido) ...

Inicialize no disco de instalação / reparo do Windows. Crie a unidade do sistema no bastão e use bcdboot para colocar seus arquivos de inicialização no bastão. Adicione um setor de inicialização com bootsect . Altere o {bootmgr} device para boot . Bota da vara.

As etapas são detalhadas aqui .

    
por 18.02.2014 / 06:42
0

What I don't understand in this context is what is the problem with booting say Windows from a 3TB drive that uses a GPT.

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

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

    
por 30.05.2017 / 01:35