[linux] Re: beschadigde extended paritie nog te repareren?

Kees Theunissen theuniss op rijnh.nl
Zo Nov 27 22:36:41 CET 2005


On Fri, 25 Nov 2005, Julien Michielsen wrote:

>
>Op een of andere manier is de type-indicator van een partitie veranderd
>Het was oorspronkelijk een patitie van soort f (W95 Ext'd (LBA) ), en
>dit is nu veranderd in 1f ("unknown"). Het veranderen van type is niet
>toegestaan. Onderstaand wat er gebeurde:
>fdisk /dev/hda
>Device Boot      Start         End      Blocks   Id  System
>/dev/hda1               1        1251    10048626   83  Linux
>/dev/hda2   *        1252        2500    10032592+  83  Linux
>/dev/hda3            2501       12000    76308750   1f  Unknown
>/dev/hda4           12001       15000    24097500   83  Linux
>
>Command (m for help): t
>Partition number (1-4): 3
>Hex code (type L to list codes): f
>You cannot change a partition into an extended one or vice versa
>Delete it first.

Het is me niet helemaal duidelijk in hoeverre dit probleem intussen
is opgelost. Ik kom er nu op terug omdat ik in een andere draad
(Joop Gerritse,  [linux] resizen van reiser FS?) adviseerde om een
partitie helemaal weg te halen en opnieuw met een andere grootte
aan te maken. Fdisk zou dan van de inhoud van de partitie afblijven.

Iets dergelijks zou je hier ook kunnen doen, maar bedenk dan wel
dat fdisk _niet_ van de inhoud van een _extended_ partitie af
blijft. Een extended partitie begint met een nieuwe partitietabel
op de eerste sector, waarin (een deel van) de onderverdeling van de
extended partitie in logical drives is vastgelegd. Als je partitie
3 zou weghalen en opnieuw zou aanmaken met type f dan wordt de
eerste sector ook opnieuw geinitialiseerd met een lege tabel.

Je zou die eerste sector veilig kunnen stellen met dd. Dan partitie
3 weghalen en opnieuw aanmaken met fdisk. Tenslotte de veilig
gestelde eerste sector van partitie 3 weer terug zetten met dd.

Tot zover de theorie (niet uitgeprobeerd!).
Of ik het in de praktijk zo ook zou doen weet ik niet. Uiteindelijk
waarschijnlijk wel. Maar als er zomaar een bitje in mijn partitie-
tabel verandert (type 0F van een partitie wordt 1F) dan zou ik,
voordat ik ook maar _iets_ op de schijf verander willen weten of de
rest van de partitietabel nog wel klopt. Eerst dus booten van een
andere schijf of een life CD. Desnoods zet je de schijf zolang in
een andere computer. Dan in een readonly-situatie de andere partities
testen. Ook even narekenen of de indeling die fdisk geeft correct
is.

Wat er mis is weet ik niet, hoe het zo is kunnen onstaan dus ook niet,
maar in het onderstaande geeft de fout "dd: writing `/dev/hda4':
No space left on device" al bij het copiƫren van de derde sector
weinig vertrouwen in de correctheid van de huidige tabel.

>
>Ofwel: het terug veranderen naar type f mocht niet.
>Daarop dacht ik een nieuwe paritie van type f aan te maken, en
>daar  /dev/hda3 naar toe te kopi-eren. Op zich al een twijfelach-
>tige operatie, maar daar kwam nog bij dat het niet lukte:
>Output fdisk die de twee even grote partities laat zien:
>/dev/hda3            2501       12000    76308750   1f  Unknown
>/dev/hda4           12001       21500    76308750    5  Extended
>
>En daarna de kopieer-poging:
>
># dd if=/dev/hda3 of=/dev/hda4 bs=512
>dd: writing `/dev/hda4': No space left on device
>3+0 records in
>2+0 records out



Groeten,

Kees.

-- 
Kees Theunissen
F.O.M.-Instituut voor Plasmafysica "Rijnhuizen", Nieuwegein
E-mail: theuniss op rijnh.nl,     Tel: 030-6096724,     Fax: 030-6031204




More information about the Linux mailing list