Как grub2 работает на диске с разделами MBR и GPT?

Я хотел узнать, как grub2 детально работает с разделенным диском MBR и разделенным диском GPT, что означает, что требуются все разделы, какие файлы создаются и т. Д. В каждом из случаев, и как к этим разделам осуществляется доступ / изменение в каждом из них. из двух случаев при загрузке любой ОС. Будет полезно, если кто-нибудь поможет мне в этом.

1 ответ

На самом деле существует четыре общих (или, по крайней мере, полураспространенных) случая:

  • BIOS в режиме GRUB на MBR - это традиционная конфигурация ПК. В нем GRUB разбит на несколько этапов. Первый этап находится в первых 440 байтах основной загрузочной записи (MBR). Затем этот первый этап загружает и выполняет второй этап GRUB, который обычно находится в секторах, следующих непосредственно за MBR. Это пространство официально нераспределено на большинстве MBR-дисков, поэтому размещать код GRUB там немного рискованно; но это обычно работает хорошо. Дополнительный код находится в файлах, как правило, в /boot/grub каталог ОС, используемый для установки GRUB. Существует множество вариантов этой конфигурации. Например, размещение первого этапа GRUB в загрузочной записи раздела (PBR; первый сектор раздела) когда-то было популярным, но сегодня это довольно редко, и на самом деле я не уверен на 100%, что современный GRUB 2 все еще поддерживает это вариант.
  • GRUB в режиме BIOS на GPT. В этом варианте первая ступень GRUB по-прежнему находится в MBR (который для GPT известен как защитный MBR, который в основном существует для того, чтобы инструменты, не поддерживающие GPT, не связывались с диском). Тем не менее, сектора, следующие за MBR на диске GPT, являются структурами данных GPT и поэтому не могут использоваться GRUB. Вместо этого GRUB 2 использует раздел, известный как загрузочный раздел BIOS, который имеет код типа GPT 21686148-6449-6E6F-744E-656564454649 ("флаг bios_grub", установленный в инструментах на основе libparted, или тип EF02 в GPT fdisk), Дополнительные файлы находятся в /boot/grub каталог, как с установками BIOS/MBR GRUB.
  • GRUB в режиме EFI на MBR - в этой конфигурации первый код GRUB находится в двоичном файле GRUB EFI, хранящемся в системном разделе EFI (ESP; код типа 0xEF на диске MBR). Этот файл может быть назван как угодно, но обычно он называется grubx64.efi в подкаталоге EFI назван в честь распределения (например, EFI/ubuntu/grubx64.efi) или иногда EFI/BOOT/bootx64.efi ("резервное имя файла", наиболее часто используемое на загрузочных внешних носителях, таких как USB-накопители). Как и в GRUB в режиме BIOS, дополнительные файлы конфигурации и драйверов находятся в других местах, обычно в /boot/grub на установку ОС; однако некоторые дистрибутивы помещают эти файлы в ESP вместе с основным двоичным файлом GRUB. Обратите внимание, что это наименее распространенная из четырех конфигураций, поскольку несколько компьютеров на основе EFI загружаются с MBR-дисков.
  • GRUB в режиме EFI в GPT - эта конфигурация аналогична режиму EFI в MBR, за исключением того, что ESP имеет код типа C12A7328-F81F-11D2-BA4B-00A0C93EC93B ("флаг загрузки", установленный на инструментах на основе libparted, или введите EF00 в GPT fdisk). Эта конфигурация быстро становится самой распространенной, поскольку переход от BIOS к EFI происходит быстро.

В дополнение к этим случаям встречаются менее распространенные, включающие более экзотические прошивки и таблицы разделов.

Как вы можете видеть, детали значительно различаются, и некоторые детали различаются в зависимости от вашего дистрибутива Linux - или от того, как вы сами настраивали детали, если вы устанавливаете GRUB вручную из исходного кода.

Другие вопросы по тегам