Estou tentando recuperar informações de particionamento usandoTestDisk. Para testar, copiei todos os dados do disco rígido original para outra unidade física usandodddo seguinte modo:
$ dd if=/dev/sda of=/dev/sdb bs=4096 conv=notrunc,noerror,sync
A execução do TestDisk na unidade original aparece assim:
Disc /dev/sda - 500 GB / 465 GiB - CHS 969021 16 63
Warning: the current number of heads per cylinder is 16
but the correct value may be 255
You can use the Geometry menu to change this value.
It's something to try if
- some partitions are not found by TestDisk
- or the partition table can not be written because partitions overlaps.
E depois de continuar sem alterar nada, a "Análise rápida" sai:
Disk /dev/sda - 500 GB / 465 GiB - CHS 969021 16 63
Partition Start End Size in sectors
* HPFS - NTFS 2 0 33 205 3 19 204800 [System-reserviert]
P HPFS - NTFS 205 3 20 203174 9 41 204593152 [W764]
P Linux 203176 10 11 305359 3 51 103000064
L Linux 313112 6 7 373707 2 50 61079552
HPFS - NTFS 373707 2 51 969022 15 47 600078336 [DATA]
HPFS - NTFS 373707 2 58 969020 15 63 600076329
A execução do TestDisk "Análise rápida" no test drive aparece assim:
Disk /dev/sdb - 500 GB / 465 GiB - CHS 969021 255 63
Partition Start End Size in sectors
HPFS - NTFS 0 32 33 12 223 19 204800 [System-reserviert]
HPFS - NTFS 12 223 20 12748 53 41 204593152 [W764]
Linux 12748 86 11 19159 202 51 103000064
Linux 19646 68 7 23448 74 50 61079552
HPFS - NTFS 23448 74 51 60801 112 47 600078336 [DATA]
Os discos não são da mesma marca. O test drive é um SSD. Parece que as informações de particionamento não foram copiadas para o test drive. Por que?
A saída dedisco sfé o mesmo para ambos os discos. Aqui para /dev/sda
:
$ sudo sfdisk -d /dev/sda
# partition table of /dev/sda
unit: sectors
/dev/sda1 : start=376696782, size=600076386, Id= 7, bootable
/dev/sda2 : start= 0, size= 0, Id= 0, bootable
/dev/sda3 : start= 0, size= 0, Id= 0, bootable
/dev/sda4 : start= 0, size= 0, Id= 0, bootable
Aqui está a saída dese separaram. O modelo do disco é diferente - os outros dados são os mesmos:
$ sudo parted /dev/sda print
Model: Disk Name (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File systems Flags
1 193GB 500GB 307GB primary ntfs boot
A geometria (conforme vista pelo kernel) do disco S-ATA ...
$ sudo sfdisk -g /dev/sda
/dev/sda: 969021 cyclinders, 16 heads, 63 sectors/track
... e para o disco SSD
$ sudo sfdisk -g /dev/sdb
/dev/sdb: 60801 cyclinders, 255 heads, 63 sectors/track
Responder1
Finalmente, consegui reproduzir a saída do TestDisk na segunda unidade. Simplesmente alterei as configurações de geometria para as da unidade original. Eu fiz o seguinte:
Pesquise as configurações de geometria da unidade original:
$ sudo sfdisk -g /dev/sda
/dev/sda: 969021 cyclinders, 16 heads, 63 sectors/track
Abra o TestDisk, selecione o “disco de teste” e aplique as configurações acima no Geometry
menu. Não tenha medo - as configurações não são permanentes.
Em seguida, escolha Quick analyze
e o resultado deverá ser igual ao da unidade original. Desta vez ele reconheceu as partições Linux desejadas como a unidade original. Desta vez eu poderia escrever a tabela de partições com segurança, pois ela aplicava apenas o "disco de teste".
Leitura adicional, muito útil:Como montar uma partição inicial criptografada?