В системе с двойной загрузкой, как BIOS выбирает, какой загрузчик запускать?

20

У меня есть двойная загрузка Windows и Ubuntu. Когда я включаю аппарат, BIOS выполняет POST, после чего запускается загрузчик.

Я хочу понять, как BIOS выбирает, какой загрузчик запускать. Я хочу знать, как происходит процесс между BIOS и загрузчиком на компьютере с двойной загрузкой.

    
задан Prashant Singh 29.11.2017 в 09:58
источник

3 ответа

35

Прошивка BIOS на самом деле не выбирает загрузчик. Он загружает код из сектора 0 накопителя и выполняет его. Что бы там ни было, это будет выполнено. Надеюсь, это загрузчик (или что-то, что загружает загрузчик), но это не обязательно. В ранние дни ПК у вас были игры на гибких дисках, которые просто загружались и запускались без ОС - теперь их называют «загрузчиками».

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

Многие системы UEFI загружаются в режиме «Legacy» - где UEFI загружает «Сервисный модуль совместимости» - что-то, что делает его похожим на BIOS, - и фактически работает как BIOS.

GRUB - это общий загрузчик с открытым исходным кодом, который может либо загружать Linux, либо «chainload» (дать управление) загрузчику Windows (обычно winload.exe в папке Boot в разделе Windows). GRUB - это то, что дает вам возможность принять решение. GRUB может читать файлы конфигурации и выбирать из них по умолчанию.

Прочитайте это , если вы хотите обильные, gory детали.

    
ответ дан LawrenceC 29.11.2017 в 14:22
10

На этой диаграмме показано, как управление переходит от прошивки (BIOS или UEFI) к загрузчику и от загрузчика к операционной системе в Ubuntu.


BIOS против UEFI

Если ОС были установлены в разных режимах (BIOS и UEFI), двойная загрузка Windows и Ubuntu не может работать.

  • Просмотрите ссылку в разделе Преобразование Ubuntu в режим UEFI .

  • Загрузочный загрузчик grub также может быть преобразован в противоположном направлении от UEFI к BIOS. Linux может загрузиться с диска GPT в режиме BIOS. См. Этот ответ: Преобразование из EFI в загрузку BIOS

ответ дан karel 29.11.2017 в 11:37
7

В устаревшем режиме (загрузка BIOS и не UEFI) BIOS управляет порядком привода. Когда-то это управлялось кабелями; но изменение настройки BIOS приводит к открытию окна & amp; изменение кабелей.

В BIOS загружается (в память) первый сектор (512 байт диска с именем MBR или основная загрузочная запись) первого диска (или порядок диска, управляемый BIOS), а затем передается (CPU) на этот «загрузчик». Таким образом, BIOS завершил свою работу, и код в первом секторе работает.

    
ответ дан guiverc 29.11.2017 в 10:15