# [SOLVED]Extended Partition zerschossen, hat jetzt Typ 1F :-/

## E-Razor

Hi, hatte auf meinem System folgende Partitionen eingerichtet:

/dev/hda1 -> NTFS (WinXP Install)

/dev/hda2 -> Extended

  /dev/hda5 -> SWAP

  /dev/hda6..7 -> NTFS

/dev/hda3 -> Ext3

hatte auch keine Probleme weiter und soweit lief alles, allerdings habe ich neulich gemerkt, dass swapon /dev/hda5 nicht mehr ging, danach habe ich mit fdisk meine partitionen anzeigen lassen:

fdisk /dev/hda

   Device Boot      Start         End      Blocks   Id  System

/dev/hda1   *           1         892     7164958+   7  HPFS/NTFS

/dev/hda2            3144        9964    54789682+  1f  Unknown

/dev/hda3             893        3143    18081157+  83  Linux

offensichtlich hats meine extended geschrottet.

Das Problem trat mehr oder weniger zufällig auf, ich habe weder etwas an meinen Partitionen geändert,fdisk benutzt o.Ä.

Ich vermute, dass irgendwann beim mounten von /dev/hda2 (ja, warn blöder Tippfehler  :Sad:  ) etwas passiert ist - kann mir aber auch nicht erklären, was da geschrieben wurde und warum. (nebenbei, hab ntfs-write-support aus im kernel)

Partition Magic erkennt die Partition übrigens auch nicht mehr, genauso wie mein "noch" laufendes Windows.

Wär klasse wenn Ihr mir irgendwie helfen könnt, ich vermute dass da nur irgend etwas in der Partitionstabelle versaut ist (vielleicht stimmt nur der Typ nicht mehr, ich glaub extended ist die 05 oder so, kanns aber leider mit fdisk nicht ändern.)

Vielen Dank!Last edited by E-Razor on Fri Oct 29, 2004 10:51 am; edited 1 time in total

----------

## bulash

versuch mal

```
# fdisk /dev/hda
```

dann kannst du mit 't' die system ID ändern...

----------

## E-Razor

 *Quote:*   

> (vielleicht stimmt nur der Typ nicht mehr, ich glaub extended ist die 05 oder so, kanns aber leider mit fdisk nicht ändern.)

 

```
E-Razor erazor # fdisk /dev/hda

The number of cylinders for this disk is set to 9964.

There is nothing wrong with that, but this is larger than 1024,

and could in certain setups cause problems with:

1) software that runs at boot time (e.g., old versions of LILO)

2) booting and partitioning software from other OSs

   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/hda: 81.9 GB, 81964302336 bytes

255 heads, 63 sectors/track, 9964 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System

/dev/hda1   *           1         892     7164958+   7  HPFS/NTFS

/dev/hda2            3144        9964    54789682+  1f  Unknown

/dev/hda3             893        3143    18081157+  83  Linux

Partition table entries are not in disk order

Command (m for help): t 

Partition number (1-4): 2

Hex code (type L to list codes): L 

 0  Empty           1c  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid

 1  FAT12           1e  Hidden W95 FAT1 75  PC/IX           be  Solaris boot   

 2  XENIX root      24  NEC DOS         80  Old Minix       c1  DRDOS/sec (FAT-

 3  XENIX usr       39  Plan 9          81  Minix / old Lin c4  DRDOS/sec (FAT-

 4  FAT16 <32M      3c  PartitionMagic  82  Linux swap / So c6  DRDOS/sec (FAT-

 5  Extended        40  Venix 80286     83  Linux           c7  Syrinx         

 6  FAT16           41  PPC PReP Boot   84  OS/2 hidden C:  da  Non-FS data    

 7  HPFS/NTFS       42  SFS             85  Linux extended  db  CP/M / CTOS / .

 8  AIX             4d  QNX4.x          86  NTFS volume set de  Dell Utility   

 9  AIX bootable    4e  QNX4.x 2nd part 87  NTFS volume set df  BootIt         

 a  OS/2 Boot Manag 4f  QNX4.x 3rd part 8e  Linux LVM       e1  DOS access     

 b  W95 FAT32       50  OnTrack DM      93  Amoeba          e3  DOS R/O        

 c  W95 FAT32 (LBA) 51  OnTrack DM6 Aux 94  Amoeba BBT      e4  SpeedStor      

 e  W95 FAT16 (LBA) 52  CP/M            9f  BSD/OS          eb  BeOS fs        

 f  W95 Ext'd (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi ee  EFI GPT        

10  OPUS            54  OnTrackDM6      a5  FreeBSD         ef  EFI (FAT-12/16/

11  Hidden FAT12    55  EZ-Drive        a6  OpenBSD         f0  Linux/PA-RISC b

12  Compaq diagnost 56  Golden Bow      a7  NeXTSTEP        f1  SpeedStor      

14  Hidden FAT16 <3 5c  Priam Edisk     a8  Darwin UFS      f4  SpeedStor      

16  Hidden FAT16    61  SpeedStor       a9  NetBSD          f2  DOS secondary  

17  Hidden HPFS/NTF 63  GNU HURD or Sys ab  Darwin boot     fd  Linux raid auto

18  AST SmartSleep  64  Novell Netware  b7  BSDI fs         fe  LANstep        

1b  Hidden W95 FAT3 65  Novell Netware  b8  BSDI swap       ff  BBT            

Hex code (type L to list codes): 5

You cannot change a partition into an extended one or vice versa

Delete it first.

```

hm, na wenn ich se lösche bringts ja nix  :Wink: 

----------

## bulash

hm, weiss nicht obs hilft oder eine rolle spielt, aber ich hab bei mir:

```
 f  W95 Ext'd (LBA)
```

drinstehn. Kommt wohl von Partition Magic. Vielleicht kommst du so weiter   :Question: 

----------

## Jlagreen

war bei mir genau das gleiche vor 3 wochen, oder zumindest so ähnlich, als ich unter windows kopierte, bekam ich plötzlich blue screen und die 150gb extended partition war weg

meine lösung:

da mir meine daten sehr wichtig sind, habe ich mir arconis disk recovery besorgt und konnte damit alle fat32, ext2 sowie ext3 partitionen wiederherstellen, bei xfs ist es natürlich gescheitert, da nahm ich dann

gpart

ein linux tool, dass du am besten von knoppix aus benutzt, da es keine gute idee ist die partitionstabelle im laufendem system zu ändern, wie genau ich es damit hingekriegt habe weiss ich ned mehr  :Sad: , aber die "man" sollte helfen

das stichwort für deinen fall ist: "partitionstabelle wiederherstellen" google da mal ein wenig   :Wink: 

wichtig: sichere die daten, die du noch sichern kannst und installier/kopier möglichst nix auf der platte (oder wenn dann am besten auf die 1. primäre part)

----------

## E-Razor

```
E-Razor erazor # fdisk /dev/hda

The number of cylinders for this disk is set to 9964.

There is nothing wrong with that, but this is larger than 1024,

and could in certain setups cause problems with:

1) software that runs at boot time (e.g., old versions of LILO)

2) booting and partitioning software from other OSs

   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): t

Partition number (1-4): 2

Hex code (type L to list codes): f

You cannot change a partition into an extended one or vice versa

Delete it first.

Command (m for help): 

```

hm... scheinbar glaubt der ich will die partition convertieren - ich will ja nur die Typennummer ändern - gibs da noch ne alternative?

----------

## ZX-81

Nachdem die Grössenangaben der Partitionen noch plausibel erscheinen, besteht vielleicht noch Hoffnung. 

Prinzipiell funktioniert es so, daß Du mit dd Dir die Partitionstabelle von /dev/hda in eine Datei schreiben lässt, sie dann mit einem Hexeditor änderst und anschliessend wieder zurückschreibst (Wenn Du ganz unerschrocken bist, kannst Du das auch direkt auf hda machen).

Ich habe das schon mal vor einigen Jahren erfolgreich gemacht, kann mich aber nur noch schwach daran erinnern (Damals war es allerdings mehr als nur den Partitionstyp ändern).

Um Schreibzugriffe vom OS auf die Platte zu verhindern würde ich die Maschine mit Knoppix booten. Die Partitionstabelle würde ich auf eine Diskette schreiben.

----------

## Jlagreen

lass fdisk lieber mal, da es bei mir der auslöser war (denke ich zumindest), da ich zuerst mit win fdisk alles eingerichtet habe und später mal mit fdisk unter linux was geändert habe, seitdem hat sich der pc auch manchmal grundlos verabschiedet bis  zum blue screen

nun habe ich gleich fdisk von knoppix genommen und nicht mehr dran "rumgepfuscht" und es läuft einwandfrei   :Very Happy: 

----------

## ZX-81

Poste doch mal den output von:

```
dd if=/dev/hda count=1 | hexdump
```

vielleicht hilft ja auch das:

http://www.stud.uni-hannover.de/user/76201/gpart/

----------

## c07

 *E-Razor wrote:*   

> 
> 
> ```
> You cannot change a partition into an extended one or vice versa
> 
> ...

 

Das heißt, du willst die Daten noch  :Wink: , sonst ist das Einfachste natürlich löschen und dann neu anlegen. Wenn du weißt, wie die Partionen genau aufgeteilt waren und du das genau so wieder einrichtest, hast du aber auch gute Chancen, dass wieder alles wie zuvor ist (wenn die Daten innerhalb der Partition noch leben, lässt sich die genaue Aufteilung auch rekonstruieren).

Zuerst würd ich aber den MBR mit

```
dd if=/dev/hda of=my-mbr count=1
```

holen, das 1f mit einem Hexeditor in 0f ändern (hat da Windows versucht, die Partition als "hidden" zu markieren?) und zurückschreiben.

Wenn du die Möglichkeit dazu hast (große zweite Platte), würd ich erst die ganze Platte roh mit dd sichern, falls was schiefgeht.

----------

## E-Razor

```
E-Razor erazor # dd if=/dev/hda count=1 | hexdump

0000000 48eb d090 00bc fb7c 0750 1f50 befc 7c1b

0000010 1bbf 5006 b957 01e5 a4f3 bdcb 07be 04b1

0000020 6e38 7c00 7509 8313 10c5 f4e2 18cd f58b

0000030 c683 4910 1974 2c38 f674 b5a0 b407 0203

0000040 00ff 2000 0001 0000 0200 80fa 80ca 53ea

0000050 007c 3100 8ec0 8ed8 bcd0 2000 a0fb 7c40

0000060 ff3c 0274 c288 be52 7d79 34e8 f601 80c2

0000070 5474 41b4 aabb cd55 5a13 7252 8149 55fb

0000080 75aa a043 7c41 c084 0575 e183 7401 6637

0000090 4c8b be10 7c05 44c6 01ff 8b66 441e c77c

00000a0 1004 c700 0244 0001 8966 085c 44c7 0006

00000b0 6670 c031 4489 6604 4489 b40c cd42 7213

00000c0 bb05 7000 7deb 08b4 13cd 0a73 c2f6 0f80

00000d0 f084 e900 008d 05be c67c ff44 6600 c031

00000e0 f088 6640 4489 3104 88d2 c1ca 02e2 e888

00000f0 f488 8940 0844 c031 d088 e8c0 6602 0489

0000100 a166 7c44 3166 66d2 34f7 5488 660a d231

0000110 f766 0474 5488 890b 0c44 443b 7d08 8a3c

0000120 0d54 e2c0 8a06 0a4c c1fe d108 6c8a 5a0c

0000130 748a bb0b 7000 c38e db31 01b8 cd02 7213

0000140 8c2a 8ec3 4806 607c b91e 0100 db8e f631

0000150 ff31 f3fc 1fa5 ff61 4226 be7c 7d7f 40e8

0000160 eb00 be0e 7d84 38e8 eb00 be06 7d8e 30e8

0000170 be00 7d93 2ae8 eb00 47fe 5552 2042 4700

0000180 6f65 006d 6148 6472 4420 7369 006b 6552

0000190 6461 2000 7245 6f72 0072 01bb b400 cd0e

00001a0 ac10 003c f475 00c3 0000 0000 0000 0000

00001b0 0000 0000 0000 0000 422f 4230 0000 0180

00001c0 0001 fe07 7bff 003f 0000 a83d 00da 0000

00001d0 ffc1 fe1f ffff 7387 0302 0c65 0688 0000

00001e0 7cc1 fe83 ffff a87c 00da cb0b 0227 0000

00001f0 0000 0000 0000 0000 0000 0000 0000 aa55

1+0 records in

1+0 records out

0000200

```

hm, sieht ja gut aus... hab leider mit dd noch nicht so gearbeitet und kenn mich auch mit den Partitionstabellen nich so aus... also was genau steht da?  :Wink: 

 *Quote:*   

> 
> 
> Wenn du weißt, wie die Partionen genau aufgeteilt waren und du das genau so wieder einrichtest, hast du aber auch gute Chancen, dass wieder alles wie zuvor ist (wenn die Daten innerhalb der Partition noch leben, lässt sich die genaue Aufteilung auch rekonstruieren). 
> 
> 

 

ich denke, das wird nix, sobald ich mich nur bei einer Partition in der Grösse irre wars das... 

 *Quote:*   

> 
> 
> ...holen, das 1f mit einem Hexeditor in 0f ändern (hat da Windows versucht, die Partition als "hidden" zu markieren?) und zurückschreiben. 
> 
> 

 

also im mbr is ja auch die partitionstabelle -alles klar.

kann mir noch jemand nen groben aufbau der tabelle geben? -muss ja auch wissen welche 1f ich in 0f ändern soll

tjia, ansonsten ist ja das edititieren vom mbr genau das, was ich machen wollte, also erstmal vielen Dank für eure Tips!

 *Quote:*   

> 
> 
> Wenn du die Möglichkeit dazu hast (große zweite Platte), würd ich erst die ganze Platte roh mit dd sichern, falls was schiefgeht.
> 
> 

 

werde ich machen...

----------

## E-Razor

hab da was gefunden und werde mich mal belesen  :Smile: 

http://linuxhandbuch.sourceforge.net/html/linuxhandbuch.htmlch11.html#x15-3150021

--

```

E-Razor erazor # hexdump -s 0x1be /mbr_backup 

00001be 0180 0001 fe07 7bff 003f 0000 a83d 00da

00001ce 0000 ffc1 fe1f ffff 7387 0302 0c65 0688

00001de 0000 7cc1 fe83 ffff a87c 00da cb0b 0227

00001ee 0000 0000 0000 0000 0000 0000 0000 0000

00001fe aa55                                   

0000200

```

ich werde einfach mal

00001ce 0000 ffc1 fe1f ffff 7387 0302 0c65 0688

nach 

00001ce 0000 ffc1 fe0f ffff 7387 0302 0c65 0688

ändern

----------

## E-Razor

ich geh kaputt....

```
Command (m for help): p

Disk /dev/hda: 81.9 GB, 81964302336 bytes

255 heads, 63 sectors/track, 9964 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System

/dev/hda1   *           1         892     7164958+   7  HPFS/NTFS

/dev/hda2            3144        9964    54789682+   f  W95 Ext'd (LBA)

/dev/hda3             893        3143    18081157+  83  Linux

/dev/hda5            3144        3214      570276   82  Linux swap / Solaris

/dev/hda6            3215        4489    10241406    7  HPFS/NTFS

/dev/hda7            4490        7860    27077526    7  HPFS/NTFS

/dev/hda8            7861        9964    16900348+   7  HPFS/NTFS

```

mal kurz, was ich gemacht habe:

```
dd of=/dev/hda if=/old_mbr count=1
```

```
cp /old_mbr /new_mbr
```

```
hexedit /new_mbr
```

dann halt den typ per hand geändert

```
dd if=/new_mbr of=/dev/hda
```

konnte nach nem reboot alle partitionen wieder mounten und bin jetzt glücklich...

----------

## ZX-81

 *E-Razor wrote:*   

> ich geh kaputt....
> 
> konnte nach nem reboot alle partitionen wieder mounten und bin jetzt glücklich...

 

Glückwunsch

Zeit für ein Backup   :Wink: 

----------

