Як у системі подвійної завантаження як BIOS вибирає, який завантажувач працювати?


24

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

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


Відповіді:


40

Прошивка BIOS насправді не вибирає завантажувач. Він завантажує код із сектора 0 диска та виконує його. Що б там не було, воно виконає. Сподіваємось, це завантажувач (або щось, що завантажує завантажувач), але цього не повинно бути. У перші дні ПК у вас були ігри на дискетах, які б просто завантажувалися та працювали без ОС - це зараз називають "завантажувачами".

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

Багато систем UEFI завантажуються в "Спадковому режимі" - де UEFI завантажує "Модуль сумісності служби" - те, що робить його схожим на BIOS - і насправді працює як BIOS.

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

Прочитайте це, якщо хочете багатших деталей.


Це одна з причин того, що на Ubuntu вам потрібно sudoабо root написати що-небудь на відключений диск; якщо програма чи зловмисний користувач записує зловмисне програмне забезпечення на завантажувальний розділ ...
wizzwizz4

Дякую LawrenceC за ваше пояснення, ще раз зрозумійте моє розуміння. Дякую ще раз
Prashant Singh

13

Ця діаграма показує, як управління переходить від прошивки (BIOS або UEFI) до завантажувача і від завантажувача до операційної системи Ubuntu.

введіть тут опис зображення
          BIOS проти UEFI

Якщо ОС були встановлені в різних режимах (BIOS та UEFI), подвійне завантаження Windows та Ubuntu не можуть працювати.


Перетворення Ubuntu в режим UEFI

  1. Запустіть Ремонт завантаження та виберіть Додаткові параметри -> GRUB розташування вкладка .
  2. Якщо ви не бачите опцію роздільного / завантажувального / ефірного розділу , це означає, що на вашому ПК немає жодного розділу UEFI.
  3. Якщо ви бачите опцію роздільного / завантажувального / ефірного розділу , поставте прапорець у прапорецьці зліва від нього, а потім натисніть кнопку Застосувати у нижньому правому куті.

    Перетворення Ubuntu в режим UEFI

  4. Налаштуйте свій BIOS таким чином, щоб він завантажував жорсткий диск у режимі UEFI. Спосіб коригування цього параметра залежить від конкретної моделі комп'ютера, але зазвичай ця настройка знаходиться у налаштуваннях пріоритету завантаження на вкладці Boot утиліти налаштування BIOS / UEFI.


7

У застарілому режимі (завантаження BIOS, а не UEFI) BIOS контролює порядок роботи диска. Колись це використовувалося для управління кабелями; але зміна налаштування BIOS б'є по відкриттю коробки та зміні кабелів.

BIOS завантажує (в пам'ять) перший сектор (512 байт диска, який називається MBR або головна завантажувальна запис) першого диска (або порядку диска, керованого BIOS), а потім передає (CPU) управління в цей "завантажувач". Таким чином, BIOS завершив свою роботу і код працює в першому секторі.


SORRY, сер, але я трохи заплутався, оскільки біос дає контроль завантажувачу, а вікна, а Linux мають різні завантажувачі, тому, яким завантажувачем він дає контроль. Який процес біосу проходить, щоб вибрати завантажувач
Prashant Singh

2
У вашій системі може бути лише один завантажувач на диск (і лише один завжди працює). Як правило, якщо у вас є дві операційні системи у вашій системі, друга встановлена ​​власниця завантажувача, оскільки він записав власний код у MBR. Ось чому GNU / Linux (Ubuntu) використовує GRUB; його багатоступінчаста система (крок 1 - MBR, кроки 1.5 та 2 знайдені в / завантажувальному), що відкриває меню із запитом, яку ОС ви хочете завантажити / запустити (ті, хто все-таки знає про груб, а також про те, що у вас є ISO додано до нього). Якщо у вас є два дисководи; ви можете мати завантажувач на кожному диску, але BIOS визначатиме, який запуск.
guiverc

Тож якщо у мене на комп’ютері є 2 операційні системи, то чи потрібно, щоб GRUB виставив меню, запитуючи, на яку ОС я хочу завантажити, чому б не завантажувач вікон поставити це меню, як у мене на комп'ютері є обидва ОС.
Прашант Сінгх

windows також має завантажувальний пристрій (до будь-якого місця); але його не так розумно, як груб. версія windoze не шукає продукти, що не містять msft (і не може читати ext / reiserfs / xfs / zfs / btrfs / ...), таким чином, вам доведеться самостійно додавати * nix; і наступне оновлення ..... версія windoze не варто використовувати, оскільки grub - це набагато краще. Якщо windoze був на одному диску, Ubuntu на іншому ви могли змінити завантаження за допомогою BIOS; але шматок швидше / простіше. (якщо задоволений моєю відповіддю; прийміть це, щоб закрити питання)
guiverc

3
@Prashant Singh: Найбільш фундаментальна причина, чому завантажувач Windows цього не робить (або не робив, коли я трохи знав про Windows), це те, що MicroSoft не заробляє гроші, дозволяючи запускати інші операційні системи.
jamesqf
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.