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. 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 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 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 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 !!!! -----