large disk howto pl 5 J7TWYZWD5HGBRS64K4WE2I4SGU7YLJLHLIECNWI


Duże dyski : Translacja wykonywana przez jądro dla dysków IDE Następna strona Poprzednia strona Spis treści 5. Translacja wykonywana przez jądro dla dysków IDE Jeśli jądro Linuxa rozpozna istnienie na dysku IDE programu typu disk manager, spróbuje przeprowadzić identyczną translację jaką robi ten właśnie program, tak aby widzieć te same partycje co np. MS-DOS z programe OnTrack lub EZ-Drive. Jeśli jednak w parametrach startowych zostanie przekazana geometria dysku, nie jest wykonywana żadna translacja. Tak więc opcja startowa `hd=cyls,heads,secs' może zniszczyć zgodność z programem typu disk manager. Translacja wykonywana przez jądro polega na wypróbowaniu kolejno liczby głowic równej 4, 8 ,16, 32, 128, 255 (utrzymując stałą wartość H*C) aż do spełnienia warunku C <= 1024 lub H = 255. Trochę uwag na temat tekstu poniżej - nagłówki podrozdziałów są identyczne z pojawiającymu się w komunikatach startowych. Tutaj i w całym tekscie typy partycji podane są szesnastkowo. 5.1 EZD Rozpoznano drajwer EZ-Drive poniważ pierwsza partycja podstawowa jest typu 55. Geometria dysku podlega opisanej powyżej translacji i tabela partycji z sektora 0 zostaje pominięta - zmiast tego korzystamy z tabeli partycji znajdującej się w sektorze 1. Numery bloków dyskowych pozostają niezmienione, lecz zapis sektora 0 zostaje przekierowany do sektora 1. To zachownie może zostać zmienione przez ponowne skompilowanie jądra przy zdefiniowaniu w pliku ide.c #define FAKE_FDISK_FOR_EZDRIVE 0 . 5.2 DM6:DDO Rozpoznano drajwer OnTrack Manager (na pierwszym dysku) ponieważ pierwsza partycja podstawowa jest typu 54. Geometria dysku podlega opisanej powyżej translacji i cały dysk zostaje przesunięty o 63 sektory (tak więc stary sektor 63 staje się sektorem 0). Następnie nowy rekord MBR (z tabelą partycji) zostaje odczytany z nowego sektora 0. To przesunięcie oczywiście ma na celu zrobienie miejsca dla DDO - dlatego nie jest wykonywane dla innych dysków. 5.3 DM6:AUX Rozpoznano drajwer OnTrack Manager (na innych dyskach) ponieważ pierwsza partycja podstawowa jest typu 51 lub 53. Geometria dysku podlega opisanej powyżej translacji. 5.4 DM6:MBR Rozpoznano starszą wersję drajwera OnTrack Manager poniważ znaleziono podpis drajwera (sprawdzono, że przesunięcie znalezione w 2-gim i 3-cim bajcie rekordu MBR nie jest większe od 430, i zmienna typu short znaleziona pod tym adresem jest równa 0x55AA, po której występuje bajt nieparzysty). Geometria dysku podlega opisanej powużej translacji. 5.5 PTBL Na końcu wykonywany jest test próbujący wydedukować istnienie translacji na podstawie wartości pól start i end partycji podstawowej: Jeśli cylinder początkowy i końcowy jednej z partycji jest mniejszy od 256, a sektory początkowy i końcowy mają numery odpowiednio 1, i 63, a końcowe numery głowic są równe 31, 63 lub 127, wtedy wnioskujemy, że translacja dysku jest aktywna, i wykorzystujemy liczbę głowic równą odpowiednio 32, 64 i 127 (ponieważ zwykle partycja kończy się na granicy cylindra i interfejs IDE nie pozawala na więcej niż 16 głowic). Być może jest tu błąd i genhd.c nie powinien sprawdzać dwóch najwyższych bitów zmiennej przechowującej numer cylindra? Jednakże nie wykonuje się żadej translacji, jesli aktualny pogląd na istniejącą geometrię już zakłada 63 sektory na ścieżce i co najmniej tyle samo głowic (ponieważ to prawdopodownie oznacza, ze translacja już została dokonana). Następna strona Poprzednia strona Spis treści

Wyszukiwarka