Какая у меня платформа
Тестирование Debian с ядром Linux 5.10.40 на Dell Latitude E5550.
Что я делаю
До сих пор я использовал старомодные разделы MBR с «устаревшим» режимом BIOS. К сожалению, мой новый ноутбук больше не поддерживает режим BIOS, поэтому мне нужно перейти на настройку UEFI.
С Говорят, что GPT поддерживается в режиме BIOS в Linux., Я задумал следующий путь миграции:
BIOS / MBR -> BIOS / GPT -> UEFI / GPT
С этой целью я создал загрузочный раздел BIOS, как указано в руководстве GRUB выше, и преобразовал свои разделы в GPT с помощью sgdisk -g /dev/sda. Моя текущая схема разделов:
# parted /dev/sda print
Model: ATA TS128GSSD370S (scsi)
Disk /dev/sda: 128GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 32,3kB 253MB 253MB ext4
2 253MB 263MB 10,5MB boot-system bios_grub
3 263MB 128GB 128GB
Раздел №3 — это мой основной раздел с корнем файловой системы, зашифрованным LUKS, а раздел №1 — это незашифрованный каталог / boot.
После преобразования в GPT я переустановил GRUB с grub-install --target=i386-pc /dev/sda.
Что не работает
При попытке загрузиться с этого диска экран становится черным и примерно через 2 секунды отображается сообщение: Selected boot device failed. Press any key to reboot the system. Поиск в Google, похоже, указывает на то, что он может указывать на несколько типов проблем как с Linux, так и с Windows, поэтому, вероятно, это сообщение BIOS / UEFI, а GRUB даже не загружается в этот момент, хотя это может быть неправильным предположением.
В настоящее время я использую Диск Super GRUB2, который находит конфигурацию GRUB на разделе №1 и использует ее для загрузки в мою систему. Таким образом, он работает так же, как и раньше с разделами MBR, за исключением того, что код GRUB2 из MBR, похоже, не выполняется
Что я пробовал
Единственное, что пришло мне в голову, это попытаться установить boot флаг на разделе №1. Раньше он был там до преобразования GPT, хотя я не уверен, что это было нужно. Однако выполнение этого и повторная установка GRUB не повлияли на результат.
1 ответ
Теоретически да, BIOS / GPT должен поддерживаться, потому что BIOS на самом деле вообще не читает таблицу разделов, только загрузчик (часть GRUB, записанная в MBR) должен понимать разделы GPT.
Тем не мение, некоторый микропрограммы по-прежнему просматривают таблицы разделов даже в режиме загрузки BIOS и, как известно, не беспокоят даже попытки загрузки с дисков с разделами GPT, даже если на диске установлен полностью действующий загрузочный код MBR. Из того, что я слышал, иногда бывает среди них.
Я бы посоветовал полностью пропустить этот шаг миграции. На самом деле это не упростит будущую миграцию на UEFI / GPT — вам все равно придется выбросить текущую конфигурацию GRUB и заново сделать эти два «загрузочных» раздела как системный раздел EFI. в любом случае, так что просто сделайте все за один шаг.
