gdisk, faça uma correção não permanente em uma tabela GPT corrompida

gdisk, faça uma correção não permanente em uma tabela GPT corrompida

Meu laptop não consegue inicializar. Então, eu executo o Ubuntu 18.04 ao vivo a partir de um USB inicializável. Ele não montou automaticamente o disco rígido de 500 GB /dev/sda, que usa GPT.

lsblkmostra apenas o disco, não as partições; fdiskem vez disso, é capaz de mostrá-los.

gdiskmostra o mesmo erro que emesta página(Seção "Recuperação Semiautomática"):

# gdisk /dev/sda
GPT fdisk (gdisk) version 0.7.2

Warning! Main partition table CRC mismatch! Loaded backup partition table
instead of main partition table!

Em seguida, a página vinculada mostra uma lista de opções para o recovery/transformation command, na seção "Procedimentos manuais de recuperação", especificando que:

Você pode experimentar todas as opções descritas (exceto w); nenhuma das ferramentas de recuperação de dados causa gravações imediatas no disco.

Não entendi como verificar se essas opções funcionarão ou não, antes de fazer modificações permanentes.

Com gdisk, é possível usar temporariamente o backup partition table, para que o Ubuntu possa montar as /dev/sdapartições do disco e depois deixar o disco inalterado quando o Ubuntu for desligado?

Responder1

Você não precisa do seu sistema operacional para reconhecer a partição. Você pode (tentar) montar o dispositivo inteiro com o deslocamento adequado. Por exemplo, se você suspeitar (ou se alguma ferramenta lhe disser) que a partição começou no setor 2048(um valor bastante comum com setores lógicos de 512 bytes), tente:

sudo mount -o ro,offset=$((2048*512)) /dev/sda /some/mountpoint

( ropor precaução; sem ele seria -o offset=$((2048*512))). Se for montado e o conteúdo parecer sensato, o setor inicial está certo.

Pode ser o número do setor 256para setores lógicos de 4.096 bytes. Observe $((256*4096))e $((2048*512))são o mesmo número.

E se alguma ferramenta disser para você começar de sector 14649344, você usa offset=$((14649344*512))(assumindo setores de 512 bytes).

A Microsoft gostava de começar 63(devido ao valor comum de 63 setores por trilha no CHS, eu acho), mas isso foi antes do GPT. Se você precisar adivinhar onde qualquer Windows da era XP C:\começa, tente offset=$((63*512)).


Você disse fdiskque é capaz de mostrar alguma estrutura de partição sensata. Este deve ser o seu ponto de partida.

Se fdisknão ajudasse, testdiskseria a próxima ferramenta a ser executada. Acredito que ele possa procurar partições perdidas e exibir seus setores iniciais sem alterar a unidade. Isso deve lhe dar compensações para tentar.

informação relacionada