Как и в случае с Maxine, я обнаружил, что мои настройки UEFI в BIOS повреждены, и моя машина не загружается.
В моем случае это Lenovo ThinkServer RD430 с Linux Mint Debian, и мне казалось, что все, что я буду делать с update-grub или заменой любых жестких дисков на сервере, приведет к тому, что он не загрузится. Операционная система в моем случае - linuxmint-201403-mate-dvd-64bit, установленная через USB. (полное описание событий, которые могут привести к неработоспособности UEFI, приведено ниже)
Выполнение точно таких же шагов на ThinkServer TS140 не привело к тому, что UEFI сошел с ума ни разу. Посмотрел страницу драйвера RD430 и мой биос - две версии старые. Раньше мне никогда не приходилось обновлять BIOS на материнской плате, поэтому я не могу автоматически обновлять его при появлении новых версий. После обновления биоса, ответ Максин выше работал, только с изюминкой ...
# efibootmgr -c --disk /dev/sdX --part Y
# efibootmgr -v
BootCurrent: 0004
Timeout: 1 seconds
BootOrder: 0002,0000,0003,0001,0004
Boot0000* linuxmint HD(1,800,1f4000,829f6cc9-5b17-479c-b3ea-61e43faecbf7)File(\EFI\linuxmint\grubx64.efi)
Boot0001* LMDE Linux Mint Debian HD(1,800,15d505800,934c598c-fe3c-fd43-84a1-fa38e4f72552)File(\EFI\linuxmint\grubx64.efi)
Boot0002* Linux HD(1,800,1f4000,829f6cc9-5b17-479c-b3ea-61e43faecbf7)File(\elilo.efi)
Boot0003* UEFI: Built-in EFI Shell Vendor(5023b95c-db26-429b-a648-bd47664c8012,)AMBO
Boot0004* UEFI: VerbatimSTORE N GO 1.00 ACPI(a0341d0,0)PCI(1a,0)USB(1,0)USB(4,0)HD(1,80,1d70780,00000000)AMBO
mint / #
Команда efibootmgr -c
добавила две записи 0000
и 0002
!
Запись Boot0002* Linux HD
первым в порядке загрузки не является правильным.
Запись 0000
верна.
Чтобы проверить это, я попытался загрузить без каких-либо перерывов, что является записью 0002
. Как и ожидалось, это не сработало. Я перезапустил сервер, нажал F12 и выбрал linuxmint
. Как и ожидалось, он загрузился с моей установкой LMDE.
Способ удаления нежелательных записей через efibootmgr:
# efibootmgr -b 2 -B
Я использовал эту команду для удаления записей 0001
и 0002
. Вариант 0001
был из последней из моих многочисленных попыток восстановить ОС.
UEFI отмечает
Если вы читаете это и так же разочарованы UEFI, как и я, вот некоторые заметки и ресурсы:
»Загрузка в оболочку UEFI похожа на использование оболочки DOS.
»Intel создала справочное руководство в формате PDF для команд оболочки efi .
» Документ Lenovo UEFI_on_TS430 - единственный ресурс, который я видел, объясняющий использование оболочки efi.
» Еще одна ссылка на оболочку uefi из Руководства администратора nPartition .
»Вы можете попробовать загрузиться с раздела из оболочки efi, перейдя к загрузчику и выполнив его.
»UEFI хочет, чтобы на диске была таблица разделов GPT, а не таблица частей msdos.
»UEFI хочет, чтобы первый раздел на вашем диске был отформатирован fat32 или vfat.
»Для" обычной "загрузки в корне должен быть каталог /EFI/boot
в котором находится bootx64.efi
.
»Некоторые люди копируют свой grubx64.efi
из того места, где он был установлен, в /EFI/boot/bootx64.efi
и этот чит работает для них.
»Каждый раз, когда вы вносите изменения в grub, используйте efibootmgr -v
до и после, чтобы убедиться, что ваша перезагрузка в порядке.
Мой опыт работы с RD430
За последнюю неделю я переустанавливал ОС более 10 раз, пытаясь разобраться с этим и настроить сервер. Моя конфигурация - это SSD на этом RAID-контроллере в слоте PCIe 2.0 с установленным на нем LMDE. RAID-контроллер AOC-S3008L-L8i (переименован в IT-режим) во 2-м слоте PCIe 3.0 с 6-ю накопителями по 3 ТБ. Оперативная память: 12 ГБ ECC (3x 4 ГБ).
Вот изменения, которые я сделал бы, чтобы моя система не загружалась:
»Поменяйте слоты S3008L-L8i для pci (оставив плату SSD+ в покое).
»Отключите подсказку программного рейда LSi для встроенного контроллера.
»Добавьте мою старую карту HighPoint RocketRaid в открытый слот PCIe.
»Внесите изменения в /etc/default/grub
и запустите update-grub
.
(может быть, нужно запустить grub-install
?)