[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