3.2. Hjælp min partitionstabel er væk

Hvis man er særlig uheldig, så kan man miste sin partitionstabel ved et Windows-crash. Her er et par erfaringer. Skriv partitionstabellen (anvend fdisk /dev/hda, hvis din harddisk er /dev/hda) ud på papir og gem den sammen med udskrift af /etc/fstab. Hvis du har disse informationer så kan man typisk genskabe indhold af harddisken.

Hvis man ikke har styr på hvor på harddisken man havde de enkelte partitioner, så kan de programmer på http://inet.uni2.dk/~svolaf/utilities.htm være af STOR gavn. Med findext2.exe er det muligt at find Linux-partitioner af ext2/ext3-typen. Programmet kræver en DOS-diskette med en fortolker og det tager typisk et par timer at søge harddisken igennem for mulige partitioner.

Nedenfor er vist hvad programmet kan give af informationer. Programmet er kørt 29/6-2003. Dagen efter at partitionstabellen blev slettet. Tre linjer indikerer hvilke partitioner som er "rigtige" – bemærk datoer for hvornår de blev monteret og tjeket sidste gang – dagen før.

Konklusionen blev at der var tre partitioner, som skulle reddes ved at indtaste følgende grænser manuelt i fdisk.

Linuxpartition 1 : start 474  - slut 920
Linuxpartition 2 : start 951  - slut 2739
Linuxpartition 3 : start 2740 - slut 4865
Findext2, version 1.6
Copyright Svend Olaf Mikkelsen, 2002.

Searches for ext2/ext3 superblocks. False positives might be found.
The partition location can be wrong. Data MB may be used megabytes,
especially for superblock 0. Mount/Write/Check are date/time if
valid. Note that cylinders are numbered from 0. Linux fdisk
numbers from 1.

OS:  DOS 7.10  WINDOWS 4.10

Disk: 1   Cylinders: 4865   Heads: 255   Sectors: 63   MB: 38162

Start cylinder: 0   End cylinder: 4864

-PCyl N ID -----LBA -----Num ---MB -Start CHS- --End CHS-- BS  CHS

    0 - 83    48191 14329917  6997    2 254 60  894 253 59 B0   OK
      Data MB    1857                Actual end sector: 54
      Mount 2002.07.16  19:55:28     Superblock 0  Block 0
      Write 2002.07.16  19:55:28     Superblock LBA 48193
      Check 2002.07.16  16:36:30     Superblock CHS 2/254/62
      Blocks:  KB: 4    First: 0     Per group: 32768
      Ext3
      Searched        100   0  1

    0 - 83       63 14329917  6997    0   1  1  891 254 63 B5   OK
      Data MB    142                 Actual end sector: 58
      Mount                    0     Superblock 9  Block 294912
      Write 2002.07.16  16:36:36     Superblock LBA 2359359
      Check 2002.07.16  16:36:30     Superblock CHS 146/220/10
      Blocks:  KB: 4    First: 0     Per group: 32768
      Ext3
      Searched        200   0  1
      Searched        300   0  1
      Searched        400   0  1

    0 - 83  7620209  7164927  3498  474  85 45  920  84 44 B0   OK
      Data MB    2396                Actual end sector: 37
      Mount 2003.06.28  14:24:18     Superblock 0  Block 0
      Write 2003.06.28  14:24:18     Superblock LBA 7620211
      Check 2003.04.12  16:09:18     Superblock CHS 474/85/47
      Blocks:  KB: 4    First: 0     Per group: 32768
      Ext3

    0 - 83  7614873  7164927  3498  474   1  1  919 254 63 B    OK
      Data MB    87                  Actual end sector: 56
      Mount                    0     Superblock 1  Block 32768
      Write 2003.04.12  16:09:21     Superblock LBA 7877017
      Check 2003.04.12  16:09:18     Superblock CHS 490/82/2
      Blocks:  KB: 4    First: 0     Per group: 32768
      Ext3
      Searched        500   0  1
      Searched        600   0  1
      Searched        700   0  1
      Searched        800   0  1
      Searched        900   0  1

    0 - 83 15277878 28740222 14033  951   1  1 2739 254 63 B0   OK
      Data MB    13873               Actual end sector: 57
      Mount 2003.06.28  14:24:33     Superblock 0  Block 0
      Write 2003.06.28  23:05:59     Superblock LBA 15277880
      Check 2002.07.17  00:43:41     Superblock CHS 951/1/3
      Blocks:  KB: 4    First: 0     Per group: 32768
      Ext3
      Searched       1000   0  1
      Searched       1100   0  1
      Searched       1200   0  1
      Searched       1300   0  1
      Searched       1400   0  1
      Searched       1500   0  1

    0 - 83 25415665  8388740  4096 1582  13 17 2104  57 54 B    OK
      Data MB    4096          
      Mount          -1535052965     Superblock 30168  Block-1241421144
      Write 2020.12.31  90:03:06     Superblock LBA 25415665
      Check 1997.05.24  00:00:14     Superblock CHS 1582/13/17
      Blocks:  KB: 1    First: 0     Per group:-1024238801
      Ext3
      Searched       1600   0  1
      Searched       1700   0  1
      Searched       1800   0  1
      Searched       1900   0  1
      Searched       2000   0  1
      Searched       2100   0  1
      Searched       2200   0  1
      Searched       2300   0  1
      Searched       2400   0  1
      Searched       2500   0  1
      Searched       2600   0  1
      Searched       2700   0  1

    0 - 83 44018163 34147192 16673 2740   1  1 4865 144 58 B0   OK?
      Data MB    6096          
      Mount 2003.06.28  14:24:34     Superblock 0  Block 0
      Write 2003.06.28  23:05:59     Superblock LBA 44018165
      Check 2002.09.22  09:51:38     Superblock CHS 2740/1/3
      Blocks:  KB: 4    First: 0     Per group: 32768
      Ext3
      Searched       2800   0  1
      Searched       2900   0  1
      Searched       3000   0  1
      Searched       3100   0  1
      Searched       3200   0  1
      Searched       3300   0  1
      Searched       3400   0  1
      Searched       3500   0  1
      Searched       3600   0  1
      Searched       3700   0  1
      Searched       3800   0  1

    0 - 83 61836487     1952     0 3849  36 35 3849  67 33 B0   OK
      Data MB    1             
      Mount 2002.09.10  20:31:45     Superblock 0  Block 1
      Write 2002.09.10  20:31:45     Superblock LBA 61836489
      Check 2002.09.10  20:31:45     Superblock CHS 3849/36/37
      Blocks:  KB: 1    First: 1     Per group: 8192

    0 - 83 61843559     1632     0 3849 148 51 3849 174 44 B0   OK
      Data MB    1             
      Mount 2002.09.10  20:31:50     Superblock 0  Block 1
      Write 2002.09.10  20:31:51     Superblock LBA 61843561
      Check 2002.09.10  20:31:50     Superblock CHS 3849/148/53
      Blocks:  KB: 1    First: 1     Per group: 8192
      Searched       3900   0  1
      Searched       4000   0  1
      Searched       4100   0  1
      Searched       4200   0  1
      Searched       4300   0  1
      Searched       4400   0  1
      Searched       4500   0  1
      Searched       4600   0  1
      Searched       4700   0  1
      Searched       4800   0  1

Langt hurtigere er findpart.exe som også kan give partitionsgrænserne direkte, men den viser ikke hvornår de enkelte partitioner blev anvendt sidst.

Findpart, version 4.33 - for Windows 95/98/ME/NT/2000/XP.
Copyright Svend Olaf Mikkelsen, 2003.

Searches for partitions type 01, 04, 06, 07, 0B, 0C, 0E, 82, 83,
plus Fdisk F6 and Lilo sectors. Information based on bootsectors
is marked B. If the disk is larger than supported by BIOS, the
supported part of the disk is examined. Disks are numbered from 1.

OS:  Windows 4.10

Disk: 1   Cylinders: 4865   Heads: 255   Sectors: 63   MB: 38162

-PCyl N ID -----Rel -----Num ---MB -Start CHS- --End CHS-- BS  CHS
    0 - 0B       63  7616512  3719    0   1  1  474  28  1 B    OK
    Fdisk F6 sector                   3   0  1
    Fdisk F6 sector                   5   1  1
  474 1 83       63 70550487 34448  474   1  1 1023 254 63 NB   NB?
  920 1 82       63   497952   243  920   1  1  950 254 63      OK
  920 2 05  7663005 62887545 30706  951   0  1 1023 254 63 474  NB?
  951 1 83       63 28740222 14033  951   1  1 2739*254 63 OK 3 OK
  951 2 05 36403290 34147260 16673 2740#  0  1 1023 254 63 474  NB?
 2740 1 83       63 34147197 16673 2740#  1  1 1023 254 63 NB   NB?
 2740 - 83       63 34147192 16673 2740   1  1 4865 144 58 B0 3 OK?
    Fdisk F6 sector                4407   0  1
    Fdisk F6 sector                4407   1  1

Det skal bemærkes at de værktøjer som er nævnt ovenfor regner start og slut sektorer fra 0, hvor fdisk regner fra 1 og frem. Derfor skal man trække en fra hvis man anfører de grænser i /etc/fstab.

Det kan nævnes at den rigtige partitionstabel var

Disk /dev/hda: 40.0 Gb, 40020664320 byte
255 hoveder, 63 sektorer/spor, 4865 cylindre
Enheder = cylindre af 16065 * 512 = 8225280 byte

    Enhed Opstart Start       Slut   Blokke   Id  System
/dev/hda1   *         1       474   3807373+   c  Win95 FAT32 (LBA)
/dev/hda2           475      4866  35275275    5  Udvidet
/dev/hda5           475       921   3590496   83  Linux
/dev/hda6           922       951    240943+  82  Linux swap
/dev/hda7           952      2740  14370111   83  Linux
/dev/hda8          2741      4866  17073598+  83  Linux

og den tilsvarende /etc/fstab var

/dev/hda1 /mnt/windows vfat iocharset=iso8859-15,codepage=850,umask=0 0 0
/dev/hda5 / ext3 defaults 1 1
/dev/hda6 swap swap defaults 0 0
/dev/hda7 /home ext3 defaults 1 2
/dev/hda8 /storage ext3 defaults 1 2

Endelig skal det nævnes at bl.a. Mandrake har en mulighed for at boote op på første cd-rom og vælge rescue og genskabe boot-information, hvis det er muligt. Dette er ikke altid muligt...

Andre relevante links er http://www.stud.uni-hannover.de/user/76201/gpart/ som har Linuxprogrammet gpart som kan nogenlunde det samme.