[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: как сделать раздел первичным?



Novikov Leonid пишет:
Собственно ситуация следующая:
Имеется раздел hda5 - нужно его сделать
hda1 - т.е.

mbr устроен так
+-----------
00 загрузчик
--- здесь собственно и начинается PTBL
01be первый раздел
01ce второй раздел
01de 3-й раздел
01ee 4-й раздел
--- здесь ее конец
01fe сигнатура '55 aa'

если все операции по разбиению диска делались не вручную (diskedit или что нибудь подобное), то в PTBL, как правило, будет ОДНА запись extended раздела.

Каждый logical раздел начинается с блока по структуре одинакового с mbr (назовем его lmbr) но там может не быть загрузчика и если это не последний logical раздел то в нем будет две записи первая - будет описывать логический раздел, а вторая будет указывать на место где расположен следующий lmbr, а если последний то одна запись.

То есть в конце концов мы получаем линейный список разделов и нам лишь надо подправить указатели.

Для чего мы:
1) находим lmbr раздела, которого мы хотим сделать первичным;
2) если у нас есть место в mbr (я имею ввиду в PTBL не четыре раздела а меньше), то мы дописываем в свободное место, а запись о extended разделе исправляем таким образом что бы она не указывала на место которое теперь у нас в первичном разделе или удаляем extended если там был один logical раздел; 3) если у нас все четыре записи заняты, и в extended разделе только один logical раздел - найденую запись пишем вместо extended. 4) если все записи заняты и в extended разделе более одного logical раздела, то здесь возможны варианты и проще перелить на другой винт.

Перед переделкой диска необходимо забэкапить ВСЮ информацию. :-)
Прочитать /usr/share/doc/lilo/*
Пока!



Reply to: