Как работает загрузочный сектор и несколько дисков?


17

Я не до конца понимаю концепцию загрузочного сектора, я надеялся, что кто-нибудь сможет прояснить это для меня.

Если у вас два жестких диска, на каждом из которых установлена ​​ОС, имеет ли каждый диск свой загрузочный сектор? Каждому диску нужен раздел MBR?

У меня Linux и Windows на двух разных дисках. У меня были проблемы при установке Linux и grub, и теперь я наконец решил использовать загрузчик Windows для запуска. Windows избавилась бы от grub, когда я использовал / fixmbr, или она осталась там в загрузочном секторе другого диска?

Ответы:


17

Ответ Уила неопределенно правильный, но технически не точный. Да, накопитель не нуждается в MBR. Без него вы не сможете загрузиться с этого диска, и вы не сможете создавать разделы на этом диске. НО...

Термин Master Boot Record часто используется для обозначения двух вещей - это правильно только первое и обычно неправильно применяется ко второму:

  1. Местоположение, в частности, первый 512-байтовый сектор устройства хранения разделенных данных («LBA Sector 0»). Это расположение содержит первые 440 байт кода загрузчика (загрузчик первого этапа) и таблицу первичных разделов. См. Статью MBR в Википедии, где подробно рассказывается о структуре типичного MBR.

  2. Код загрузчика хранится в этом месте. В системе BIOS это первый код, выполняемый при загрузке BIOS с диска. См МУРЗ и системы самонастройки и загрузчик первого этапа : на i386 системах, этот код chainloads в системном загрузчик второго этапа , хранящийся на загрузочном объем записи активного раздела, который делает фактическую загрузку операционной системы.

Volume Boot Record или загрузочный сектор раздела является первый сектор раздела и где операционная система установлена на раздел сохранит свой основной код самонастройки. VBR также используется на устройствах хранения данных без разделов (дискеты, флэш-накопители USB или даже жесткие диски, используемые в ролях без разделов).

В системах с множественной загрузкой используется менеджер загрузки (например, Grub). Менеджер загрузки помещает свой собственный код загрузчика в MBR и предоставляет меню, из которого пользователь может выбрать ОС для загрузки. (В техническом плане пользователь выбирает, какой загрузчик второго уровня использовать.)


Итак, чтобы ответить на ваши вопросы напрямую:

  • Два жестких диска с установленной ОС на каждом будут иметь свою собственную MBR .

    • Обе MBR будут содержать как минимум один раздел.
    • Каждый раздел на этих жестких дисках будет иметь свой собственный VBR. Разделы, содержащие установки операционной системы, будут хранить свои загрузчики второго уровня в этих VBR; любые разделы, предназначенные только для данных, (вероятно) не будут иметь допустимого загрузочного кода в своем VBR.
    • Если эта система загружается, по крайней мере один из этих MBR будет содержать действительный загрузчик первого этапа, но он необходим только для диска, с которого BIOS пытается загрузиться.

  • Когда вы установили Linux на свой второй диск, он, вероятно, записал первый загрузчик Grub в MBR диска Windows. Это может быть также записан загрузчик первого этапа в MBR своего собственного привода, но если BIOS никогда не пытается загрузиться с диска Linux, вы никогда не будете уведомления. Аналогично, когда вы используете / fixmbr, Windows перезаписывает загрузчик первого этапа на MBR системного диска.

    • Честно говоря, я не знаю, будет ли утилита Win-7 Bootrec.exe также записывать в MBR других дисков. Вероятно, у него есть возможность сделать это, но, вероятно, это не действие по умолчанию.
    • Я также не знаю, установит ли установщик Ubuntu 9.04 Grub на MBR обоих дисков по умолчанию. При желании это можно сделать вручную. В некоторых ситуациях было бы хорошо - если бы вы отключили диск Windows и попытались загрузиться с диска Linux, вы бы не загрузились, если бы не присутствовал загрузочный код Grub на первом этапе.

Спасибо за этот очень подробный ответ: -) ... Мне всегда было интересно, почему MBR использовался для двух разных значений, и теперь я знаю, ха-ха
GiH

1
@ ГиХ, пожалуйста. спасибо, что задали этот вопрос; он может служить базовым введением в MBR и загрузчиками для будущих читателей.
шарлатан-кихот

у вас есть источник для «Термин Master Boot Record часто используется для обозначения двух вещей - это правильно только первое, и обычно неправильно применяется ко второму:« Я уверен, что это правильно, и я прочитал его где-то ... но интересно, если у вас есть источник для этого. Кроме того, поскольку здесь есть термин для загрузчика, существует ли термин для части без MBR? И когда дело доходит до GPT, включает ли GPT загрузчик и таблицу разделов, и какая терминология различает GPT и таблицу разделов?
Barlop

3

Для накопителя не требуется MBR, однако без него вы не сможете загрузиться с этого накопителя.

Для начала, машина загрузится с любого диска, на который указывает BIOS. Это единственный диск, которому требуется MBR (это на компьютерах с BIOS, например, большинство на рынке, а не EFI).

Наличие MBR в основном скажет машине, что диск является загрузочным (и не вернет страшное сообщение «Нет диска или ошибка диска» или подобное сообщение), тогда загрузчик будет загружен.

Когда загрузчик загружен, он, в основном, выполняет то, что ему предписано, это может быть загрузка других загрузчиков (например, загрузчик загрузчика Windows Grub) или операционных систем - например, вы можете выбрать диск / раздел.

Итак, вам нужно только иметь MBR (и загрузчик) на самом загрузочном диске.


Хорошо, но возможно ли, что оба моих накопителя имеют MBR, так как у меня раньше работал grub? По сути, я пытаюсь выяснить, тратит ли мой диск Linux пространство на MBR, потому что я не использую grub, или когда я установил загрузчик Windows, он избавился от grub и MBR? Извините, если мой вопрос сбивает с толку ...
GiH

1
У вас может быть только одна MBR, так как это не столько файл, сколько место. Если вы установили другую ОС на другой диск, возможно, она все еще установлена ​​на другом диске, но она настолько мала, Я действительно не был бы обеспокоен (мы говорим о нескольких сотнях байтов (я думаю, что макс. ~ 500), если это, на диске со многими миллиардами байтов!). Однако возможно, что у вас все еще есть файлы grub, но, опять же, они очень маленькие.
Уильям Хилсум

3
@GiH, re: растрата места - нет, MBR также предоставляет таблицу разделов для диска, так что пространство зарезервировано (не используется ОС), независимо от того, содержит ли оно правильную загрузочную запись или нет. вы можете думать об этом как о небольшом количестве накладных расходов для ваших файловых систем; по сравнению с современными емкостями жесткого диска количество «потерянного» пространства слишком мало, чтобы о нем беспокоиться.
шарлатан-кихот

1

MBR (Master Boot Record) - первый сектор, на котором можно писать. Он имеет фиксированное расположение и размер (очень маленький), поэтому вы можете иметь только одну MBR на диске.

MBR - это первый сектор, читаемый в последовательности загрузки после загрузки BIOS. Его можно использовать для загрузки одной операционной системы или для загрузки загрузчика, такого как grub или lilo, чтобы выбрать, какую систему загружать.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.