UEFI, программный RAID массив и ошибки grub при загрузке

В прошлой заметке упомянул о проблеме при загрузке ОС Ubuntu Server 12.04.4 64 bit при включенном UEFI. Кстати, при включении UEFI необходимо прочитать и выполнить рекомендации указанные в документации.

Проблема заключалась в том, что в скрипте grub-install указывается неправильный UUID загрузочного разделе, из-за этого grub не может найти initramfs файл и ядро для дальнейшей загрузки.

У меня данная ошибка возникла при пересечении 2-х факторов:

  1. Сервер настроен для загрузки UEFI
  2. Для системного раздела используется программный RAID массив (md)

Проблема устраняется следующим способом:

Загружаемся с установочного диск Ubuntu, а именно выбираем вариант – rescue disk, либо в grub shell выполняем следующие команды (Для Ubuntu Server 12.04.4 LTS):

После загрузки сервера и ОС при помощи утилиты blkid получаем верный UUID для устройства /dev/md0 и далее выбираем 2-а варианта решения проблемы:

Ручной способ:

Монтируем раздел efi boot командой: mount /dev/sda1 /boot/efi
В файле: /boot/efi/EFI/ubuntu/grub.cfg ищем ошибочный UUID и исправляем его
После чего размонтируем раздел /boot/efi, копируем раздел sda1 в sdb1 командой dd if=/dev/sda1 of=/dev/sdb1 (диски необходимо указать согласно своей конфигурации) и повторяем вышеуказанные действия для второго раздела.

Полуавтоматический способ:
Скачиваем патч: http://goo.gl/oIEmcO (thx to Dick Porter (dick-8))
Монтируем раздел efi boot командой: mount /dev/sda1 /boot/efi и выполняем следующие команды:

Где patch – загруженный по ссылке файл.

После исправления конфигурации grub загрузка сервера происходит без проблем.
Получить детальную информацию об описанной проблеме, а также обновить статус ее исправления в дистрибутиве Ubuntu Server можно по ссылке.

comments powered by HyperComments
Олег Внуков
2016-01-22 10:58:02
Будет ли отличаться код для версии Ubuntu Server 14.04.3 LTS ?