testdisk: “Aviso: número de (cabeças / cilindro | setores por trilha) incompatibilidade 255 (FAT)! = 64 (HD)”

4

TL; DR: Como faço para me livrar dos avisos na linha de assunto quando tudo parece doce?

Estou recebendo a seguinte saída ao executar testdisk Analyze em um cartão SD de 64 GB:

TestDisk 6.14, Data Recovery Utility, July 2013                                                                                                                                                       
Christophe GRENIER <[email protected]>                                                                                                                                                           
http://www.cgsecurity.org                                                                                                                                                                             

Disk /dev/sdb - 63 GB / 59 GiB - CHS 60906 64 32                                                                                                                                                      
Current partition structure:                                                                                                                                                                          
     Partition                  Start        End    Size in sectors                                                                                                                                   

Warning: number of heads/cylinder mismatches 255 (FAT) != 64 (HD)                                                                                                                                     
Warning: number of sectors per track mismatches 63 (FAT) != 32 (HD)                                                                                                                                   
 1 P FAT32 LBA                0   1 32 51199  63 32  104857537 [27GB]                                                                                                                                 
 2 P Linux                51200   0  1 60902  63 32   19871744 [Link2SD]                                                                                                                              
No partition is bootable 

Ambas as partições são fsck -clean, e / dev / sdb1 também é chkdsk -clean sob Win10.

fsck -l diz: (tudo parece bom para mim)

Disk /dev/sdb: 63.9 GB, 63864569856 bytes
64 heads, 32 sectors/track, 60906 cylinders, total 124735488 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x1c580740

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1              63   104857599    52428768+   c  W95 FAT32 (LBA)
/dev/sdb2       104857600   124729343     9935872   83  Linux

Se eu tentar definir a geometria mencionada no aviso testdisk mismatch (H = 255, S = 63), obtenho:

TestDisk 6.14, Data Recovery Utility, July 2013                                                                                                                                                       
Christophe GRENIER <[email protected]>                                                                                                                                                           
http://www.cgsecurity.org                                                                                                                                                                             

Disk /dev/sdb - 63 GB / 59 GiB - CHS 7765 255 63                                                                                                                                                      
Current partition structure:                                                                                                                                                                          
     Partition                  Start        End    Size in sectors                                                                                                                                   

 1 P FAT32 LBA                0   1  1  6527  21 22  104857537 [27GB]                                                                                                                                 

Bad relative sector.                                                                                                                                                                                  
 2 P Linux                 6527  21 23  7764  10 54   19871744 [Link2SD]                                                                                                                              
No partition is bootable

Observe que o setor 6527 agora é "compartilhado", o que não parece correto.

Como posso remover os avisos mismatch iniciais?

    
por Tom Hale 08.09.2016 / 09:08

2 respostas

5

Resposta curta: Ignore os avisos ou entre em contato com o autor do programa.

Resposta longa: Os valores do cilindro / cabeça / setor (CHS) passaram por vários estágios, de uma representação precisa a uma ficção conveniente a uma ficção inconveniente, do pior ao inútil. Os valores de CHS (conforme armazenados nas estruturas de dados Master Boot Record, ou MBR ) atingem no máximo 8 GB, portanto, o CHS não pode representa qualquer uma das partições mais pequenas de um disco moderno. De fato, até mesmo muitos flash drives USB agora excedem as limitações do CHS! As estruturas de dados mais recentes da Tabela de Partições GUID (GPT) nem usam valores de CHS, exceto em uma área (a "proteção" MBR ") que existe apenas para sinalizar a um software mais antigo que ele não deve mexer com o disco - e, na prática, os valores de CHS usados no MBR de proteção são muitas vezes completamente falsos, pelos padrões MBR ou GPT.

TestDisk é uma ferramenta útil, mas admito que não usei muito. Quando o uso, fiquei chocado com o uso contínuo de valores de CHS em locais proeminentes de sua interface de usuário. Isso é inútil e potencialmente confuso. A maioria das ferramentas modernas - até mesmo ferramentas para manipular discos MBR - hoje usam endereçamento de bloco lógico (LBA) quase exclusivamente, ou em menos em preferência ao endereçamento CHS. O LBA pode manipular até 2 ^ 32 setores em discos MBR, o que equivale a 2 TiB, considerando setores de 512 bytes. Nos discos GPT, os valores de LBA de 64 bits são usados, portanto, o limite é de 2 a 64 setores (8 ZiB, assumindo setores de 512 bytes). As ferramentas que gravam estruturas de dados MBR devem continuar a preencher os campos CHS, mas em discos com tamanho de cerca de 8 GB, esses campos provavelmente estarão no máximo ou conterão valores falsos; simplesmente não há como ajudar esse fato em discos com mais de 8 GB.

Como uma questão prática, você deve simplesmente ignorar os avisos do TestDisk sobre os valores do CHS, a menos que você esteja usando software realmente antigo (como versões muito antigas do DOS). Pedir aos autores do TestDisk para não enfatizar o CHS em favor do LBA pode valer a pena, também. Se você quiser eliminar os avisos, suas únicas opções são convencer os autores do TestDisk a fazer isso ou modificar o software você mesmo.

    
por Rod Smith 10.09.2016 / 02:54
4

Você pode ignorar esse aviso, pois não tem partição para recuperar.

O software de particionamento moderno alinha a partição a limites de 1 MB. Mas uma geometria correta é útil para recuperar a partição perdida quando havia alinhamento ao limite do cilindro.

É o caso da segunda partição, mas não é o caso de a primeira estar alinhada a um limite de cilindro (assumindo 255 cabeçotes por cilindro e 63 setores por cilindro, informações registradas no setor de inicialização do FAT32).

Assim, você pode ignorar esse aviso com segurança, mas será errado remover esse aviso do testdisk.

    
por Christophe Grenier 10.09.2016 / 14:30