В чем разница между загрузочным и незагрузочным разделом? Я знаю, что пользователь не может загрузить систему из раздела, помеченного как не загружаемый, и может из одного раздела, помеченного как загрузочный.
Я хочу знать об основных различиях между этими флагами разделов.
Ответы:
Хотя за него проголосовали ... возможно, потому, что кто-то думал, что он не отвечает на вопрос ... Я думаю, что ответ @ Рони - хорошее начало для объяснения того, о чем
boot
идет речь. (На самом деле я планировал начать свой ответ с примера, аналогичного тому, который он представил.)Я был готов дать ответ о том, как
boot
флаг в данный момент часто игнорируется (как показывает пример @Rony) исторического остатка периода, когда жесткие диски были меньше, а загрузчики были гораздо менее изощренными.Но потом я обнаружил, что это уже было сказано в ответе на этот вопрос: что такое опция «Загрузочный флаг» при установке дистрибутива?
Более того, была также ссылка на небольшую статью о флаге загрузки, в которой говорится
Ну это смущает ...
Когда я утверждал, что
boot
флаг был « историческим остатком », я предполагал, что это так, потому что, очевидно, GRUB не нуждался в его использовании. Конечно, Microsoft также "пошла бы дальше ".Хорошо известная цитата, обычно приписываемая Оскару Уайльду, в данном случае оказалась слишком верной.
Оказывается , что MBR и PBR (Partition Boot Record) погрузчики , используемые в операционных системах Windows , DO ожидать ,
boot
флаг должен быть установлен правильно.Чтобы проверить это, я очистил флаг загрузки от всех разделов виртуальной машины Windows 8. (См. Ниже. Если вам интересно, вот ссылка на вставку полного результата скрипта BootInfo )
Когда я очистил флаг от обоих разделов, я получил сообщение об ошибке
FATAL: INT18: BOOT FAILURE
при попытке загрузки. (Я не уверен, что это из загрузчика Windows MBR или виртуальной машины, эквивалентной BIOS.)Чтобы посмотреть, что произойдет, я также установил
boot
флажок «неправильный» раздел/dev/sda2
вместо/dev/sda1
. Это привело к появлению окна, показанного на рисунке ниже.<sigh/>
Этот опыт заставляет меня задуматься, использует ли Microsoft тот же загрузчик загрузочного сектора MBR, который они использовали для MS-DOS и Windows 3.0 / 3.1?
источник
С жесткого диска ноутбука
С загрузочного USB Linux
У них нет ни одного загрузочного раздела, а все они загрузочные.
источник
Просто флаг в таблице разделов. MBR ищет флаг в разделах и запускается из раздела с флагом «загрузки».
источник
При использовании традиционной Microsoft MBR код в MBR определяет, как выполнять дисковый ввод-вывод, и проходит через разделы, чтобы увидеть, какой из них помечен загрузочным флагом. Только один раздел должен быть помечен. Затем он проверяет первый сектор этого раздела и, если он помечен соответствующим образом, читает этот сектор и передает ему управление. Если я правильно помню, эта проверка состоит в том, что сектор заканчивается 0x55 0xaa.
Остальная часть ответственности за загрузку ложится на код в этом секторе и код, который он, в свою очередь, загружает.
GRUB2 очень часто использует собственную MBR и процесс, игнорируя этот бит.
источник