[LUGOS] obnova particijske tabele

Joze Klepec joze.klepec at siol.net
Wed Aug 17 21:23:18 CEST 2005


igor kolar pravi:
> Hola,
>
> Imam 18GB disk, na katerega sta bila inštalirana linux (prvih ~7GB) in
> win98 (drugih 12GB). Win98 sem zamenjal z XP-ji, ki pa so povozili
> celo particijsko tabelo, tako da se z grub boot disketo več ne da
> obnoviti dual boot-a. Zdaj zgleda particijska tabela takole:
>
> ----------
> Disk /dev/hda: 255 heads, 63 sectors, 2501 cylinders
> Units = cylinders of 16065 * 512 bytes
>
>    Device Boot    Start       End    Blocks   Id  System
> /dev/hda1   *      1025      1286   2104515    7  HPFS/NTFS
> /dev/hda2          1287      2501   9759487+   f  Win95 Ext'd (LBA)
> /dev/hda5          1287      2501   9759456    b  Win95 FAT32
> ----------
>
> Se pravi, prvih 1024 cilindrov ni particioniranih.
>
> Problem je, ker sta tu bili vsaj dve particiji (linux ext3 in linux
> swap) in je ugotoviti njune začetne cifre. Mislim, da jih mam celo
> nekje napisane, samo zdaj ne najdem.
>
> Probal sem dodati particijo hda3 in ji dodeliti vse cilindre od 1 do
> 1024, vendar je grub ni uspel mountati. Grub shell (z grub boot
> floppy-ja) po tem eksperimentu pravi:
>
> Partition number: 0,  Filesystem type unknown, type 0x7
> Partition number: 2,  Filesystem type unknown, type 0x83
> Partition number: 4,  Filesystem type fat, type 0xb
> Partition number: 5,  Filesystem type unknown, type 0x82
> Partition number: 6,  Filesystem type unknown, type 0x83
>
> Particija 0 je C particija (NTFS ali kaj je), particija 4 je D
> parficija (vfat). "83" je hex koda za particijo tipa linux (fdisk),
> vendar grub ne mounta ne (hd0,2) ne (hd0,6) niti katero drugo ne. Za
> particije od 7 naprej pravilno pravi, da jih ni.
>
> Backupe sicer imam, tako da joka ne bo.
>
> Pozna kdo kako orodje, s katerim bi lahko ugotovil meje particij? Po
> možnosti za na boot floppy? Druge ideje?
> -i
>   
> ------------------------------------------------------------------------
Brez panike. Ker nimaš particij v tabeli popolnoma zaporednih, tudi 
ostale za sistem niso vidne. Tabela je luknjasta kot švicarski sir - 
rabi zapolnitev teh lukenj, podatki niso šli nikamor.

Naredi eno particijo na blef v praznem placu - 0..1024, in eno 
1024..1024-tako, simbolično, minimalne velikosti. Nobena naj ne bo 
bootable, to naj bo primarna windows particija - ta sistem ti baje dela. 
Beri dokler gre, najbolje s kakim diskovnim urejevalnikom - imaš 
windowse, zanje je tega softvera ko toče. Logično mejo boš opazil 
(sistemski podatki se izmenjajo z uporabniškimi, približno veš velikost, 
itd.) - tedaj si zapiši parametre C/H/S oziroma sektor in ga preračunaj 
v C/H/S (za particijo).

Sicer lahko poskusiš kar s freefdiskom ali ranish partition managerjem - 
eden od njiju particije po pripravi ne formatira. Enako ne diskdruid iz 
nekaterih namestitev linuxa - vprašanje je le, če boš "zadel velikost".
Formula za izračun velikosti diska v bytih je sicer: Cyl*Head*Sec*512 
(oziroma: razlika, gori v blocks*512 za velikost particije).

Tako boš stvari _morebiti_ ohranil ali povrnil (meni je to nekajkrat 
uspelo, na srečo mi tega zadnje čase ni več potrebno početi). Swap 
particija je po moje 5: 0x82, tam pa imaš najverjetneja boot, root, var 
ali home.

Če imaš cd, potem tole: <http://www.sysresccd.org/>

srečno, JK




More information about the lugos-list mailing list