Вопрос или проблема
Я следовал очень подробному руководству по созданию гибридной записи MBR (GPT/MBR), взятому здесь
Теперь gdisk
говорит, что у меня гибридный MBR. Но я могу загрузиться только в UEFI и не могу этого сделать в BIOS (я использую внешний жесткий диск). Кажется, что простое выполнение grub-install
устанавливает только часть для UEFI. Я видел обсуждение о требовании, чтобы защитная запись была первой на диске, поэтому я сделал ее первой, и это не является коренной причиной.
Таким образом, вопрос заключается в том, как установить GRUB, чтобы он мог загружать ОС как из BIOS/MBR, так и из UEFI/GPT?
$ sudo gdisk /dev/sdd
GPT fdisk (gdisk) версия 1.0.1
Сканирование таблицы разделов:
MBR: гибридный
BSD: отсутствует
APM: отсутствует
GPT: присутствует
Обнаружен действительный GPT с гибридным MBR; используется GPT.
Команда (? для помощи): r
Команда восстановления/преобразования (? для помощи): o
Размер диска составляет 468862128 секторов (223.6 GiB)
Идентификатор диска MBR: 0x7213C4A0
Разделы MBR:
Номер Загрузка Начальный сектор Конечный сектор Статус Код
1 1 208895 основной 0xEE
2 * 208896 1196031 основной 0x83
3 1196032 135413759 основной 0x83
4 200425472 468860927 основной 0x83
Команда восстановления/преобразования (? для помощи): p
Диск /dev/sdd: 468862128 секторов, 223.6 GiB
Логический размер сектора: 512 байт
Идентификатор диска (GUID): 21773ad9-3d43-4832-85b7-6c841d20ce75
Таблица разделов вмещает до 128 записей
Первый используемый сектор — 34, последний используемый сектор — 468862094
Разделы будут выровнены по границам в 1 сектор
Всего свободного места — 62183 сектора (30.4 MiB)
Номер Начало (сектор) Конец (сектор) Размер Код Название
1 63 80324 39.2 MiB EF00 Основной раздел данных
2 208896 1196031 482.0 MiB 8300 Основной раздел данных
3 1196032 135413759 64.0 GiB 8300
4 135413760 168968191 16.0 GiB 0700 Основной раздел данных
5 168968192 200425471 15.0 GiB 0700 Основной раздел данных
6 200425472 468860927 128.0 GiB 8300
7 81920 149503 33.0 MiB EF02
$ sudo parted /dev/sdd
GNU Parted 3.2
Использование /dev/sdd
Добро пожаловать в GNU Parted! Введите 'help', чтобы увидеть список команд.
(parted) print
Модель: ATA OCZ-VECTOR150 (scsi)
Диск /dev/sdd: 240GB
Размер сектора (логический/физический): 512B/512B
Таблица разделов: gpt
Флаги диска:
Номер Начало Конец Размер Файловая система Название Флаги
1 32.3kB 41.1MB 41.1MB fat32 Основной раздел данных boot, esp
7 41.9MB 76.5MB 34.6MB bios_grub
2 107MB 612MB 505MB ext4 Основной раздел данных
3 612MB 69.3GB 68.7GB ext4
4 69.3GB 86.5GB 17.2GB linux-swap(v1) Основной раздел данных msftdata
5 86.5GB 103GB 16.1GB ntfs Основной раздел данных msftdata
6 103GB 240GB 137GB ext4
$ sudo grub-install
Установка для платформы x86_64-efi.
Установка завершена. Ошибок не было.
Как установить GRUB так, чтобы он загружал ОС как из BIOS/MBR, так и из UEFI/GPT?
Вы должны создать раздел загрузки BIOS, обозначенный bios_grub
. Этот раздел необходимо создать перед установкой GRUB.
Чтобы GRUB загружался с диска, разделенного по GPT, в системе на основе BIOS необходим раздел загрузки BIOS. Обратите внимание, что этот раздел не связан с точкой монтирования /boot и будет использоваться GRUB напрямую. Не создавайте в нем файловую систему и не монтируйте его.
Как создать раздел загрузки BIOS? Каков минимальный размер?
При создании раздела загрузки BIOS на системе GPT вы должны убедиться, что его размер составляет как минимум 31 Кибибайт. (Диски, отформатированные по GPT, обычно не очень маленькие, поэтому мы рекомендуем сделать его больше минимального размера, такого как 1 Мибибайт, чтобы было достаточно места для роста.) Вы также должны убедиться, что у него правильный тип раздела. Используя GNU Parted, вы можете установить это с помощью команды вроде следующей:
parted /dev/disk set номер-раздела bios_grub on
Ответ или решение
Как установить GRUB для загрузки операционной системы с диска с гибридной MBR
Если вы столкнулись с проблемой загрузки операционной системы на диске с гибридной MBR (Master Boot Record) и GPT (GUID Partition Table), это может быть вызвано тем, что GRUB, при выполнении команды grub-install
, устанавливает только UEFI-часть. В данной статье мы рассмотрим, как корректно установить GRUB, чтобы он мог загружать ОС как с BIOS, так и с UEFI.
Шаг 1: Проверка структуры разделов
Сначала убедитесь, что у вас есть все необходимые разделы на диске. Используя gdisk
или parted
, проверьте, что на диске создана BIOS Boot Partition. Она не должна содержать файловой системы и не должна монтироваться.
Вы можете создать такой раздел с помощью parted
:
sudo parted /dev/sdd mkpart bios_grub 1MiB 2MiB
sudo parted /dev/sdd set <номер_раздела> bios_grub on
Минимальный размер BIOS Boot Partition должен составлять не менее 31 КБ, хотя рекомендуемая величина — 1 МБ для того чтобы иметь возможность роста.
Шаг 2: Установка GRUB
После того как BIOS Boot Partition создан, выполните установку GRUB. Используйте следующие команды:
sudo grub-install --target=i386-pc /dev/sdd # Для BIOS/MBR
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB /dev/sdd # Для UEFI
Шаг 3: Конфигурация GRUB
Создайте или отредактируйте конфигурационный файл GRUB:
sudo grub-mkconfig -o /boot/grub/grub.cfg
Этот файл содержит настройки загрузки для обеих архитектур. Убедитесь, что ваши операционные системы перечислены в конфигурации.
Шаг 4: Проверка
После завершения установки перезагрузите компьютер. В процессе загрузки проверьте, что GRUB отображается и предоставляет возможность загрузки как с UEFI, так и с BIOS. Если у вас несколько операционных систем, убедитесь, что они корректно отображаются в меню загрузки.
Заключение
Эти шаги помогут вам установить GRUB на гибридном MBR диске, что обеспечит загрузку вашей операционной системы как в режиме BIOS, так и в режиме UEFI. Убедитесь, что все команды выполнены корректно, и ваш диск соответствует всем требованиям.
Если у вас возникли вопросы или вам требуется дополнительная помощь, рекомендуется обратиться к официальной документации или сообществам, где можно получить поддержку от других пользователей, сталкивавшихся с аналогичными проблемами.