У меня есть клиент, который случайно преобразовал таблицу разделов одной из своих систем Linux из DOS в GPT. К сожалению, версия GRUB - 2, и в системе не было загрузочного раздела BIOS, в котором можно было бы разместить дополнительный код загрузчика.
Затем были использованы следующие шаги, чтобы исправить это:
После этого система теперь может нормально загружаться.
Был один момент, который я не мог понять, пожалуйста, помогите.
Сначала я попытался добавить загрузочный раздел BIOS на загрузочный диск, но система тоже не работала. Как только GRUB был переустановлен, он мог нормально загружаться ...
Кто-нибудь, пожалуйста, выясните, включает ли переустановка часть кода GRUB 2 в загрузочный раздел BIOS? Спасибо.
Eсть хорошее объяснение здесь, и вот мое краткое резюме:
И GRUB Legacy (GRUB1), и GRUB2 имеют «двухэтапный» трехступенчатый процесс загрузки (каламбур).
Первый этап (stage1
) находится в MBR, и я думаю, что в вашем случае переход на GPT не повлиял на него, поскольку он находится в первом секторе диска перед любой таблицей разделов.
Чаще всего при настройке разделов DOS, stage1
загружает stage1.5
(причина каламбура выше). В разделе MBR (или метке диска DOS) этот этап записывается в пустые сектора после таблицы разделов, до того, как начнутся данные первого фактического раздела. См. Верхнюю часть этот рисунок.
Поскольку создание таблицы разделов GPT включает в себя создание «защитной» MBR, которая вас уничтожит stage1.5
. Эта защитная таблица разделов существует, чтобы избежать уничтожения устаревшим инструментом разделов таблицы GPT, о которой он не знает.
Очевидно, stage1.5
тот, который загружает модули, понимает разделы, ищет файловые системы и выполняет сценарий конфигурации для поиска stage2
.
Этот последний этап - тот, который умеет загружать все виды ядер и живет на /boot/grub
каталог какой-либо файловой системы на официальном разделе.
В grub-install
процесс в вашем случае только что ввел stage1.5
(core.img) на новом месте при использовании GPT-таблицы: раздел с флагом BIOS_grub. Смотрите нижнюю часть этого изображения.
В зависимости от геометрии диска и программного обеспечения разделов, он может иногда помещать его после таблицы GPT перед первым разделом, но это довольно редко.
Надеюсь, поможет!
GRUB можно установить как на Таблица разделов GUID (GPT, BIOS и UEFI) и Главная загрузочная запись (Только MBR, BIOS). Поэтому проблема не в типе перегородки.
Вот что произошло на самом деле:
grub-install
установил GRUB в этот пустой MBR / GPT раздел на основе конфигурации в /boot/grub/grub.cfg
. Эта конфигурация, возможно, была создана с помощью grub-mkconfig
т.е. простая конфигурация из настроек в /etc/grub.d/
.