Recuperar a tabela de partições anteriormente salva com o cfdisk

1

Sabendo que meu disco rígido externo de 320 GB tem algum problema com o conector, sempre que eu pretendo copiar algo para ele, primeiro eu crio um backup do MBR e da tabela de partição (Ubuntu 9.04):

$ sudo dd if=/dev/sdc of=HDD_mbr_20100208 count=1 bs=512  
$ sudo cfdisk /dev/sdc

Em seguida, em cfdisk , escolho a opção Print e, em seguida, a opção Raw que salva a tabela de partição no mesmo formato em que ela teria sido gravada no disco.

Agora preciso recuperar o que salvei. A parte do MBR é realmente simples (basta alterar a if e a of parte no primeiro comando), mas não há uma maneira óbvia de recuperar a tabela de partições em cfdisk . Você sabe como?

Também gostaria de receber sugestões sobre uma maneira melhor de salvar o MBR, a tabela de partições e os FATs (o volume é formatado em FAT32).

Obrigado antecipadamente.

Sergio.

    
por Sergio 09.02.2010 / 00:11

2 respostas

1

Dependendo do layout da partição, a restauração do MBR ( dd if=HDD_mbr_20100208 of=/dev/sdc... ) pode já ter feito tudo. Isso ocorre porque o MBR e a tabela de partição primária são armazenados no primeiro setor de 512 bytes da unidade. Para que isso funcione, sua unidade:

  • deve usar partições no estilo MBR ,
  • não deve ter mais do que 4 partições primárias E
  • não deve ter partições estendidas ou lógicas.

Se você tiver uma partição estendida e partições lógicas fechadas, talvez seja necessário traduzir o seu backup da tabela de partição cfdisk . Eu não sei de nenhuma maneira de dizer facilmente fdisk ou cfdisk qual nova tabela de partição escrever - sfdisk pode fazer isso facilmente, mas o formato bruto cfdisk não é o mesmo que sfdisk lê e grava. Você provavelmente pode traduzir um formato para o outro manualmente.

A saída bruta do

cfdisk é formatada em uma destas duas maneiras (fonte: man cfdisk ):

The raw data format will print the sectors that would be written to disk if a write command is selected. First, the primary partition table is printed, followed by the partition tables associated with each logical partition. The data is printed in hex byte by byte with 16 bytes per line.

...

The partition table in raw format will print the partition table ordered by partition number. It will leave out all free and unusable space. The fields, from left to right, are the number of the partition, the flags (in hex), the starting head, sector and cylinder, the filesystem ID (in hex), the ending head, sector and cylinder, the starting sector in the partition and the number of sectors in the partition. The information in this table can be directly translated to the raw data format.

    
por 09.02.2010 / 01:29
0

Para a parte de backup, aqui são alguns exemplos. Eu pessoalmente uso o sfdisk para fazer backup / restaurar as tabelas de partições.

Se você destruiu a tabela de partições, mas não substituiu os dados, pode usar o TestDisk para tentar restaurar a tabela de partições.

    
por 09.02.2010 / 00:26