| As far as I now know, there are four utilities that attempt to |
| assist in recovering a lost partition table, or a partition |
| that was deleted by mistake. |
| |
| (i) findsuper is a small utility that finds blocks with the ext2 |
| superblock signature, and prints out location and some info. |
| It is in the non-installed part of the e2progs distribution. |
| |
| (ii) rescuept is a utility that recognizes ext2 superblocks, |
| FAT partitions, swap partitions, and extended partition tables; |
| it may also recognize BSD disklabels and Unixware 7 partitions. |
| It prints out information that is suitable as input to sfdisk |
| to reconstruct the partition table. |
| It is in the non-installed part of the util-linux distribution. |
| |
| (iii) fixdisktable (http://bmrc.berkeley.edu/people/chaffee/fat32.html) |
| is a utility that handles ext2, FAT, NTFS, ufs, BSD disklabels |
| (but not yet old Linux swap partitions); it actually will rewrite |
| the partition table, if you give it permission. |
| |
| (iv) gpart (http://home.pages.de/~michab/gpart/) is a utility |
| that handles ext2, FAT, Linux swap, HPFS, NTFS, FreeBSD and |
| Solaris/x86 disklabels, minix, reiser fs; it prints a proposed |
| contents for the primary partition table, and is well-documented. |
| |
| |
| |
| The current directory contains rescuept. |
| I would never have written it had I known about fixdisktable |
| and gpart. However, now that it exists I find several situations |
| that are handled by rescuept and not by any of the others, |
| so let it be for the moment. |
| |
| |
| |
| |
| |
| |
| How do you get your partition table back? |
| The easy way - if you had been smart you would have done |
| # sfdisk -d /dev/xxx > xxx.pt |
| before the disaster, where xxx.pt lives on some other disk |
| or is printed on a piece of paper and taped to the wall. Now |
| # sfdisk /dev/xxx < xxx.pt |
| will restore the partition table. |
| |
| In the absence of such good information, try each of the above |
| utilities to get an idea of where your partitions were. |
| Since gpart is the most elaborate one, it may be your best bet. |
| If it misses some of your ext2 partitions, and you have gpart-0.1c, |
| apply the above patch and try again. |
| |
| Note that if you in the course of history have deleted some partition |
| and created something else on the same spot, then there will often |
| be traces of both, and these utilities may easily retrieve outdated |
| information. |
| |
| |
| If you think you found a partition, make a primary partition entry |
| in the partition table, and try to mount the partition. |
| Note that some utilities count sectors the DOS way (starting with 1) |
| while most do it right (starting with 0). |
| |
| |
| Report successes and failures of rescuept or any of the others |
| to aeb@cwi.nl. (It may well be that rescuept ought to be replaced |
| by gpart.) |
| |
| |
| |
| Comments: |
| ----- |
| From: Nix <nix-kernel@vger.rutgers.edu> |
| Subject: Re: [OFFTOPIC] Searching for filesystem locator |
| Date: Sun, 9 May 1999 20:26:16 +0100 (BST) |
| |
| > (iii) fixdisktable |
| |
| I've just tried this but it appears to suffer from a 2^31-sectors problem. |
| |
| > (iv) gpart |
| |
| ... but this proved a godsend. |
| ----- |
| From: Chris L. Mason <cmason@unixzone.com> |
| Subject: All hail rescuept! |
| Date: Fri, 27 Aug 1999 22:58:24 -0400 |
| |
| ..rescuept got me out of a real jam! |
| I tried fixdisktable without any luck. |
| ----- |
| From: Osman <osman@Cable.EU.org> |
| Subject: Re: rescuept |
| Date: Thu, 26 Aug 1999 16:24:40 +0200 (CEST) |
| |
| Ok, This is what I tried: |
| |
| "./rescuept /dev/sdc > detection.txt" |
| "cat detection.txt | sfdisk -f /dev/sdc" |
| |
| The "-f" was to force it because sfdisk didn't like the partitioning, |
| whoehaha... |
| After carefully looking at the data in "detection.txt", |
| I remembered that I had created the table with the "dos compatibility" |
| flag turned off. That gave me 31 sectors back at that time... |
| Well after that I mounted the ext2 partition read-only and it looked |
| recovered! |
| Wowy !!!! |
| ----- |