Можна налаштувати GRUB2 в режимі BIOS для завантаження з розділу без вбудовування в область після MBR, але є деякі ускладнення:
Ви повинні мати /bootзвичайний розділ (це може бути первинний або логічний розділ, але не слід використовувати програмні RAID (md) або LVM). Окремий розділ для /bootне є абсолютно необхідним, але якщо /bootвін зберігається в кореневій файловій системі, ті самі обмеження розділів застосовуватимуться до розділу кореневої файлової системи.
Файлова система, яка використовується для, /bootповинна підтримувати режим встановлення блок-списку. Найчастіше це підтримує файлові системи Linux; Важливими винятками є btrfsі xfs(однак, btrfsє достатньо велика площа завантажувача для вбудовування core.imgтуди, тому встановлення GRUB2 там ще може працювати). Знову ж таки, якщо у вас немає окремого розділу /boot, ці обмеження застосовуватимуться до вашої кореневої файлової системи.
Режим встановлення блочного списку розробникам GRUB2 не рекомендується, тому що в цьому режимі core.imgзберігається у /bootфайловій системі як звичайний файл, але насправді до нього можна скористатись секторальними номерами, що зберігаються в завантажувальному секторі розділу, генерованому GRUB (і core.imgсам по собі), тому роблячи будь-яка операція з цим файлом може порушити завантаження. Це ще одна причина мати окремий /bootрозділ при використанні цього режиму - менше шансів, що ви виконаєте деяку операцію з файловою системою, яка вплине core.img.
Якщо ви /bootперебуваєте на логічному розділі, ви повинні мати певні засоби для запуску коду завантажувача з сектору завантаження розділу - багато версій коду MBR підтримують завантаження лише з первинних розділів. Одне рішення - використовувати код MBR від Syslinux , який підтримує завантаження навіть з логічних розділів.
Припустимо, що ваш /bootрозділ /dev/sda2; то слід встановити там GRUB2 із такою командою:
grub-install --force /dev/sda2
Вам потрібно скористатися --forceопцією, оскільки останні версії GRUB2 відмовляються від використання режиму установки блочного списку без нього.
Потім слід використовувати fdisk /dev/sdaдля позначення розділу 2 активним.
Нарешті, якщо у вас був якийсь код завантаження за замовчуванням у MBR (наприклад, старіша установка GRUB), вам потрібно встановити код, який завантажує завантажувальний сектор з активного розділу - наприклад, ви можете взяти mbr.binз Syslinux:
dd bs=440 count=1 conv=notrunc if=mbr.bin of=/dev/sda
Якщо ви використовуєте логічний розділ для /boot, ви можете також розглянути можливість використання altmbr.binвід Syslinux, який приймає номер розділу завантаження з байту в MBR замість того, щоб шукати активний розділ, так що будь-яка операційна система, яка не є Linux на комп'ютері, не буде плутати логічний розділ, позначений як активний.