Next Previous Contents

## 9. Преобразования выполняемые ядром, для IDE дисков.

Если ядро Линукс обнаруживает наличие какого либо менеджера диска на IDE диске,он попытается разметить диск так же как и программа менеджер. Например OnTrack или EZ-Drive. В тоже время если геометрия была задана в явном виде в командной строке, то используется именно она. Например строка : ``hd=`cyls`,`heads`,`secs' может быстро избавить вас от совместимости с менеджером диска.

Переразметка производиться путем подбора,(последовательно пробуеться 4,8,16,32,64,128,25 головок, с H`*`C константой) пока C <= 1024 или H = 255.

Далее в тексте приводятся детали в следующем порядке, заголовки подсекций - это фразы появляющиеся в соответствующих загрузочных сообщениях. Здесь и во всем остальном документе,типы разделов указываются в смешанном - двоично-десятичном виде.

## 9.1 EZD

Наличие EZ-Drive определяется по типу первого основного раздела. Если EZ-Drive установлен,то тип будет равен 55. Геометрия переразмечаеться как описано выше,и таблица разделов в секторе 0 игнорируется,вместо неё считывается таблица разделов из сектора 1. Номера блоков диска не изменяются но операции записи обращенные к сектору 0 перенаправляются на сектор 1. Такое поведение можно изменить перекомпилировав ядро с : `#define FAKE_FDISK_FOR_EZDRIVE 0` в `ide.c`.

## 9.2 DM6:DDO

Менеджер диска OnTrack (на первом диске) определяется по типу первого главного раздела - 54. Геометрия переразмечаеться как описано выше и диск "сдвигается" на 63 сектора (так что 63 сектор становиться сектором 0). После этого новый MBR (с таблицей разделов) считывается из нового сектора 0. Сдвиг производиться только для того чтобы высвободить место для DD0, поэтому на других дисках сдвига нет.

## 9.3 DM6:AUX

Наличие менеджера диска OnTrack (на других дисках) определяется по типу первого главного раздела, он имеет тип 51 или 53. Геометрия перераспределяется как описано выше.

## 9.4 DM6:MBR

Наличие старых версий OnTrack Diskmanager определяется не по типу раздела,а о по специальной подписи.(Проверьте что смещение записанное в 2 и 3м байтах MBR не превышает 430 и слово найденное по этому смещению эквивалентно 0x55AA + следующий байт четный). Геометрия опять-же разпределяеться как описано выше.

## 9.5 PTBL

Также существует тест с помощью которого можно вычислить производиться ли преобразования анализируя значения `start` и `end` основных разделов: Если некий раздел имеет значения начального и конечного секторов 1 и 63 и 31,63,127 или 254 головки,тогда,т.к. обычно разделы оканчиваются на границе цилиндра, а интерфейс IDE использует не более 16 головок, то вероятно задействовано BIOS преобразование ,и геометрия преразмечена для использования 32,64,128,255 головок. Переразметка геометрии не производиться,если текущая геометрия уже имеет 63 сектора на дорожку и соответственное число головок. (обычно это означает,что переразметка уже была проведена)

Next Previous Contents