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