Listando uma partição do hardrive por blocos usando LBA

2

A maioria das ferramentas de inspeção do disco rígido e de partições parece listar os itens usando setores, head etc. etc. De outra pergunta me disseram que são virtuais porque precisam ser convertidos de lba, o que causa erros de conversão. Há alguma ferramenta unix que liste um disco rígido por blocos lógicos?

    
por rubixibuc 26.12.2011 / 04:31

1 resposta

4

CHS (Cilindro / Cabeça / Setor) foi usado no passado para isso. Os endereços CHS mapearam (originalmente) para locais físicos reais em bandejas de disco.

No entanto, à medida que as unidades se modernizaram, essa divisão C / H / S parou de fazer sentido. O número fixo de setor por cilindro não é prático (cilindros mais próximos da borda externa do disco podem armazenar mais dados do que aqueles mais próximos da borda interna), então um sistema diferente era necessário.

LBA (endereçamento de blocos lógicos) é o que é usado em (provavelmente todos) drives modernos. O drive é logicamente dividido em blocos (setores de 512 bytes ou 4k bytes principalmente), o primeiro bloco é o bloco 0, o próximo bloco 1, etc.
Como a unidade física real mapeia esses setores lógicos para áreas físicas de seus discos é até a unidade. Então, nesse sentido, é um endereço "virtual". Mas também é perfeitamente preciso.

  • Se você tem uma unidade que usa CHS (improvável), algo terá que converter o endereço LBA em CHS, e se as informações da geometria da unidade estiverem erradas, você terá imprecisões.
  • Se você tiver uma unidade moderna, as tentativas de usar o CHS também levarão a problemas, já que uma conversão precisa ser feita e o CHS não é bem mapeado com unidades modernas.

Qual fdisk lista por padrão é "LBA", usando setores de 512 bytes (possivelmente 4k setores em unidades que têm isso - não tenho um para verificar). Ele lista cabeças / setores / trilhas / cilindro como informação, mas isso é a medida "virtual" atualmente.

cfdisk pode imprimir a tabela de partição com valores de início / fim C / H / S se você realmente quiser (use Print then Table e depois digite duas vezes).

    
por 04.03.2012 / 18:08