LINUX.ORG.RU
ФорумAdmin

MBR и загрузчики


0

0

Добрый день!

Раз и навсегда решил разобраться с загрузочными записями, загрузчиками и.т.д. Прочитал много статей по этому поводу но все как то пишут не однозначно либо каждый думает по своему. Решил написать сюда что бы разъяснили просто и понятно.

Вот моё представление: 1. Есть MBR главная загрузочная запись расположенная в первом блоке(или нулевом смотря как считать) загрузочного устройсва (HDD,CD, FDD и.т.д) имеющая объём 512 байт. Основная цель которого распознать primary boottable раздел и загрузить с начальных секторов этого раздела загрузчик ОС. 2. Загрузчик ОС в свою очередь загружает ядро ОС либо передаёт управление другому загрузчику другой ОС расположенному в другом загрузочном разделе так называемый метод "цепочки".

Но многие пишут что есть псевдо MBR который распологается в первых секторах загрузочного раздела собственно сам загрузчик. Почему псевдо потому что это не главный MBR расположенный в первом секторе загрузочного устройства который должен быть вне File System OS. Другие пишут что LILO записывается прямо в MBR а управление передаётся вторичному загрузчику для выбора OC.

Суть вопроса моя в чём, объясните мне главная MBR расположенная в первом секторе жёсткого диска перезаписываемая, или нет ? Или она подвергается перезаписыванию средствами ОС что бы впендюрить туда свой загрузчик пусть и простой ? Или она системная и нетрогается ни когда и неприкаких обстоятельствах?

Заранее благодарен.

anonymous

Естественно каждая ось при инсталяции старается MBR переписать...
Линукс хотя бы спрашивает делать ли это...
А вот винда переписывает не глядя.
Загрузчик, который все будет грузить, может быть и не в первом разделе, и даже не на primary

anonymous
()

> 1. Есть MBR главная загрузочная запись расположенная в первом блоке(или нулевом смотря как считать) загрузочного устройсва (HDD,CD, FDD и.т.д) имеющая объём 512 байт. Основная цель которого распознать primary boottable раздел и загрузить с начальных секторов этого раздела загрузчик ОС

Частично неверно. У "объема" не может быть цели, это просто вместилище для исполняемого кода :) который может быть разным, т.е. в MBR может быть записан какой угодно код размером в 512 байт. Винда записывает в MBR код который ищет "primary boottable раздел" и загружает "с начальных секторов этого раздела загрузчик ОС". Тому же коду который записывается GRUB'ом наплевать на active/неactive.

Кстати, даже с виндовым MBR'ом можно грузить граб, главное записать его stage1 в суперблок active partition'а.

anonymous
()

Собственно в MBR хранится таблица разделов, а так же код, обрабатывающий таблицу и выполняющий на основании обработки некоторые действия. Необходимо отметить одно из важнейших понятий MBR -- активный раздел. Активный раздел это раздел, который содержит код, необходимый для продолжения загрузки системы. Как правило, активным можеть быть только один раздел. Скорее всего, это будет раздел с загрузчиком ОС, или загрузочный менеджер, типа LILO или GRUB (в случае, когда на винчестере имеется несколько ОС). Собственно, все действия кода MBR сводятся к поиску активного раздела в таблице разделов, загрузке первых его 512 байт в память и передаче им управления.

MBR занимает ровно 512 байт. Из них 64 байта отведено под таблицу разделов, 2 байта -- сигнатура MBR и 446 -- код, обрабатывающий таблицу разделов.

anonymous
()

> Вот моё представление: 1. Есть MBR главная загрузочная запись расположенная в первом блоке(или нулевом смотря как считать) загрузочного устройсва (HDD,CD, FDD и.т.д) имеющая объём 512 байт.

у cd-- 2048

berrywizard ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.