Como editar manualmente o MBR para recuperar a partição perdida?

1

Eu acidentalmente excluí duas partições HFS + . Eu conheço os setores inicial e final de ambos. Essas partições são 100% saudáveis. Eu posso vê-los no Raise Data Recovery, mas testdisk não os vê. Como posso editar manualmente o MBR para restaurar essas partições do Ubuntu ou do Windows?

O comando "sfdisk -l" no terminal do Ubuntu mostra:

Disk /dev/sda: 60801 cylinders, 255 heads, 63 sectors/track
Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sda1         12+  12747-  12736- 102294528    7  HPFS/NTFS
/dev/sda2      12747+  48643-  35896- 288328704    f  W95 Ext'd (LBA)
/dev/sda3          0       -       0          0    0  Empty
/dev/sda4          0       -       0          0    0  Empty
/dev/sda5      12748+  43870   31123- 249995466    7  HPFS/NTFS
/dev/sda6      43871+  48144-   4274-  34324480   83  Linux
/dev/sda7      48145+  48643-    499-   4001792   82  Linux swap / Solaris

Onde sda3 e sda4 são essas partições.

    
por Nikita 09.01.2012 / 20:28

2 respostas

0

Talvez, primeiro tente isto:

apt-get install -y parted (in case of Debian-based distro)

partprobe

parted /dev/sda
u s (switches units to sectors)
p (prints partition table)
mkpart p start end (p - primary, this should be your sda3)
mkpart p start end (should be sda4)

Eu corri partprobe novamente depois disso. Se isso não funcionar - então, sim, seria necessário editar o MBR manualmente, eu acho.

Editar : uma coisa que me ocorreu é que você pode ter problemas, quando o parted está reclamando de injetar partições com limites "fora da especificação". Bem, basta excluir tudo a partir de sda5 e recriá-los da mesma maneira após a adição bem-sucedida de sda3 & sda4 .

    
por 09.01.2012 / 20:54
0

Você pode usar o sfdisk para adicionar essas partições vazias, por exemplo

sfdisk /dev/sda << EOF
0,381230,0c
381231,84481,0b
465712,,S
EOF

Cada linha tem três valores no setor inicial e final e o terceiro valor é o tipo de partição. Para usar este modo de console, você precisa instalar um pacote especial. Mas eu não sei se isso excluir o conteúdo da partição. Sugiro fazer uma cópia com dd.

    
por 10.01.2012 / 01:09