Re: Dysk 850MB i stary BIOS bez LBA...

Autor: Slawomir Bialek (civic_at_batory.kat.ids.edu.pl)
Data: Fri 06 Sep 1996 - 23:22:00 MET DST


Marek Michalkiewicz <marekm_at_i17linuxb.ists.pwr.wroc.pl> wrote:
MM> No wlasnie, ale jesli partycje bylyby fizycznie w tym samym miejscu
MM> (roznice tylko w cylindrach/glowicach), to wydaje mi sie ze powinna
MM> wystarczyc zmiana w MBR. Chcialbym sie jednak upewnic czy to sie
MM> rzeczywiscie da tak zrobic...
przeszukaj archiwa peceta miesiąc w tył, subject zdaje się był:
Conner ileśtam,
była dyskusja na ten temat i opisałem tam swoje eksperymenty ze zmianą
trybu adresowania w Biosie z/na normal/large/lba... (zakończone sukcesem)

na wszelki wypadek w skrócie:
przykład - masz dysk o geometrii 2484/16/63 (C/H/S)
wkładasz go do niezbyt nowoczesnego komputera, i zakładasz partycje
na całej widocznej części czyli do 1024 cylindra co daje 504 MB

Teraz przechodzisz do nowocześniejszego komputera, którego
BIOS/kontroler obsługuje LBA. Aby dos mógł zobaczyć całość
BIOS dokonuje przeliczenia geometrii dysku na taką aby ją mógł
obslużyć dos i taką dosowi podaje. W tym wypadku będzie to:
621/64/63 (C/H/S). W związku z tym konieczne jest przeliczenie
danych zawartych w tablicy partycji tak aby pasowały do nowej geometrii.
Poza tym należy zmienić w bootsectorze partycji (nie w MBR, tylko w
bootsectorze tej dosowej partycji) wszystkie dane, które mówią
o geometrii dysku na aktualne. W tej chwili już nie pamiętam, ale
być może w bootsectorze dysku jest liczba głowic czyli w tym
przypadku należałoby ją zmienić z 16 na 64 itd.
Trzecia ostatnia czynność to instalacja od nowa plików systemowych
dosa (io.sys, msdos.sys). Czyli trzeba załadować system z dyskietki
oraz wykonać coś na wzór 'sys a: c:' ponieważ partycja będzie
już prawidłowo widoczna, jednak bootsector będzie źle odnajdywał
początek 'kernela' :) dosa.

Najkłopotliwsze może być przeliczenie danych w tablicy partycji.
Proponuję użyć do tego (do edycji, przeliczyć ręcznie:) narzędzia typu
Norton Disk Editor. Np.:
początek partycji - Cyl 0 Head 1 Sec 1
koniec partycji - Cyl 1023 Head 15 Sec 63

zamienić na:
początek - w tym wypadku bez zmian (ale jeśli partycja będzie się
           zaczynać gdzieś dalej, to też trzeba policzyć)
koniec - Cyl 255 Head 63 Sec 63

w powyższym przykładzie nr Cyl i Głowic liczone są od zera.

Przed przystąpieniem do zmian proponuję zaglądnąc Disk Editorem
jaka jest zawartość sektora rozpoczynającego i kończącego partycje,
potem zmieniamy tryb adresowania w BIOSie, nastepnie wprowadzamy
poprawki do tablicy partycji, i zaglądamy czy teraz zawartość
sektora rozpoczynającego i kończącego partycje jest taka sama jak
wg starej geometrii.

Po sprawdzeniu czy wszystko jest ok można zakładać kolejne partycje :)

Sprawdziłem to doświadczalnie na sobie i działało, lecz mimo wszystko
finansowo nie odpowiadam za szkody winkłe postępowaniem wg tego opisu :)

miało być w skrócie, nie wyszło...

--c



To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 12:53:47 MET DST