É possível restaurar uma tabela de partição MBR apagada em uma máquina que não foi reinicializada?

1

Enquanto experimenta como corrigir isso , me deparei com uma sugestão para limpar o MBR, então eu fiz.

dd if=/dev/zero of=/dev/sdb bsize=512 count=1

Opa. Nenhuma tabela de partições.

Sim, eu tenho backups, mas ainda gostaria dessas partições. O que devo fazer? Existem alguns produtos proprietários que pretendem fixar magicamente partições e recuperar dados, mas não confio neles. Posso restaurar as partições com comandos comuns do Linux / Windows?

EDIT: Dado que a primeira partição é exatamente 4MB (partição de inicialização especial), posso determinar com segurança onde a próxima partição começa, pelo menos, e funciona a partir daí?

    
por spraff 21.11.2014 / 17:22

2 respostas

1

Existe um utilitário de plataforma cruzada gratuito e de código aberto chamado TestDisk que parece ser capaz de fazer isso. link é o site do desenvolvedor, aqui: link é um artigo do WP sobre ele, e aqui: link é um guia de revisão / uso.

Eu não tentei pessoalmente, mas desde que você tem pouco a perder neste momento ..

update: E, oh veja aqui: Vista - limpou MBR e CABEÇA de disco - como recuperar? é um superusuário Q & A incluindo um uso bem sucedido de TestDisk.

    
por 21.11.2014 / 18:27
1

Se você ainda não reinicializou, o kernel ainda conhece o layout antigo, que pode ser recuperado em /sys .

#!/usr/bin/env bash
dev=${1:-sda}
dev=${dev#/dev/}
for part in /sys/class/block/${dev}[0-9]*; do
    num=$(<$part/partition)
    start=$(<$part/start)
    size=$(<$part/size)
    end=$((start+size-1))
    echo "# partition $num: start $start, size $size, end $end"
    echo "sgdisk /dev/$dev --new=$num:$start:$end"
    #echo "parted /dev/$dev mkpart primary $start $end"
done
    
por 21.11.2014 / 18:05