2012-01-09 16:37:51 +0000 2012-01-09 16:37:51 +0000
56
56
Advertisement

Как переустановить GRUB2 EFI?

Advertisement

После успешного обновления моих bios, что-то пошло не так и я закончил с мигающим курсором в левом верхнем углу черного экрана. Никаких ошибок, ничего. В bios теперь указана только опция загрузки SATA: <disc name> вместо обычной UEFI ubuntu. Я использую схему разбиения GPT.

я в конце концов обнаружил, что рабочим решением было правильное переустановка grub-efi-amd64. Итак, как мне сделать это ?

PS: На самом деле, мне удалось переустановить GRUB2 EFI самостоятельно, и я напишу свой ответ здесь, так как я не смог найти никакой полной информации о том, как это сделать.

Advertisement

Ответы (5)

87
87
87
2012-01-09 16:39:36 +0000
  • Загрузите компьютер с USB/CD в UEFI режиме. У меня было две опции загрузки <flash_drive> и UEFI: <flash_drive>, вторая нужна для того, чтобы выставить efi переменные в /sys/firmware/efi/, чтобы efibootmgr не подвела в дальнейшем. Загрузка с первой опцией дает мне следующую ошибку:

  • chroot в сломанную систему (похоже на ubuntu grub2 help , но с efi особенностями):

  • В зависимости от вашего дистрибутива linux, теперь вы делаете разные вещи.

  • Теперь наберите Ctrl+D, чтобы выйти из chroot, размонтировать все и перезагрузить:

Вам может понадобиться адаптировать это к вашим потребностям (различные таблицы разделов, отдельный раздел /boot и т.д.) и это может быть не единственным вариантом, но это сработало просто отлично для меня.

  • Подходящая живая система для исправления вещей это grml . Также есть подробное руководство о том, как настроить загрузочное USB-устройство, из которых наиболее полезен раздел Mac (просто создайте раздел FAT32, скопируйте файлы, перезагрузитесь, готово).
5
5
5
2014-03-20 00:27:02 +0000

Как и в случае с Maxine, я обнаружил, что мои настройки UEFI в BIOS повреждены и моя машина не загружается.

В моем случае это Lenovo ThinkServer RD430 с Linux Mint Debian, и казалось, что что-нибудь, что я бы сделал с обновлением-gub или заменой любого жесткого диска на сервере приведет к тому, что он не загрузится. В моём случае операционная система linuxmint-201403-mate-dvd-64bit установлена через USB. (полное описание событий, которые могут привести к неработоспособности UEFI см. ниже)

Прохождение точно таких же шагов на ThinkServer TS140 не привело к тому, что UEFI даже один раз потерял рассудок. Посмотрите на страницу драйвера RD430 и мои биографии две версии старых. Мне никогда не приходилось обновлять bios на материнской плате, так что я не один автоматически обновлять, когда есть новые версии. После обновления bios, ответ Maxine выше работал, только с поворотом…

# 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 запись is correct.

Чтобы проверить это, я попытался загрузиться без перерыва, который является linuxmint запись. Как и ожидалось, это не сработало. Поэтому я перезагрузил сервер, нажал F12 и выбрал 0001. Как и ожидалось, он загрузился на мою установку LMDE.

Способ удаления ненужных записей с помощью efibootmgr следующий:

# efibootmgr -b 2 -B

Я использовал эту команду для удаления записей 0002 и 0001. Опция /EFI/boot была из последних моих многочисленных попыток восстановить операционную систему.

  • Заметки UEFI

Если вы читаете это и так же разочарованы UEFI, как и я, вот некоторые заметки и ресурсы: “ Загрузка в оболочку UEFI Shell сродни использованию оболочки DOS. ” Intel сделала PDF справочное руководство для efi команд оболочки.
“ Lenovo UEFI_on_TS430 документ - единственный ресурс, который я видел, объясняющий использование оболочки efi. ” Еще одна ссылка на оболочку uefi из nPartition Administrator’s Guide. “ Вы можете попробовать загрузиться на раздел из оболочки efi, перейдя к загрузчику и выполнив его.
” UEFI хочет, чтобы на диске была таблица разделов GPT, а не таблица частей msdos. “ UEFI хочет, чтобы первый раздел на диске был отформатирован fat32 или vfat. ” Для “общей” загрузки в корне должен быть каталог bootx64.efi с grubx64.efi. “ Некоторые копируют свою /EFI/boot/bootx64.efi с того места, где она была установлена, в efibootmgr -v, и этот чит-код работал на них.
” Всякий раз, когда вы вносите изменения в grub, используйте /etc/default/grub до и после, чтобы убедиться, что ваша перезагрузка в порядке.

  • *

Мой опыт работы с RD430

Я переустанавливал ОС более 10 раз за последнюю неделю, пытаясь разобраться с этим и настроить сервер. Моя конфигурация представляет собой SSD на этом RAID-контроллере в слоте PCIe 2.0 с установленным LMDE. AOC-S3008L-L8i RAID-контроллер перешел в режим IT ) во 2-ом слоте PCIe 3.0 с дисками 6x 3 ТБ. ОЗУ: 12 Гб ECC (3x 4 Гб).

Вот изменения, которые я бы сделал, из-за которых моя система не загружается: “ Измените слоты S3008L-L8i pci (оставив SSD+карту в покое).
” Отключите подсказку ](http://forums.lenovo.com/t5/ThinkServer-Rack-Mounted/RD430-how-to-disable-onboard-RAID-300/m-p/1477192) для встроенного контроллера. “ Добавьте мою старую карту HighPoint RocketRaid в открытый PCIe слот. ” Сделайте изменения в update-grub, а затем запустите grub-install. (Может быть, &007 тоже нужно запустить?_).

3
Advertisement
3
3
2012-03-01 11:08:40 +0000

Я бы проголосовал за это, но, видимо, у меня недостаточно репутации в СуперЮзере. Я рад, что наконец-то нашел ответ на этот вопрос после нескольких дней борьбы с клонами, которые работали, но не загружались. Я думаю, что все это связано с UEFI и каким-то механизмом “безопасной загрузки” или чем-то вроде того.

я работаю в автономном режиме, так что apt-get не был вариантом. Я поместил рабочий стол Ubuntu на USB-флешку, добавил пакеты grub-efi и grub-efi-amd64 в корень USB-флешки (grub-efi_1.99~rc1-13ubuntu3_amd64.deb и grub-efi-amd64_1.99~rc1-13ubuntu3_amd64.deb для Ubuntu 11. 04 - измените в соответствии с дистрибутивом и архитектурой), а также поместите в скрипт на USB-флешке следующее:

#! /bin/bash
sudo mount /dev/sda2 /mnt
sudo mount /dev/sda1 /mnt/boot/efi
dir=`dirname $0`
sudo cp $dir/grub-efi*.deb /mnt/tmp
for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt /bin/sh -c "dpkg -i /tmp/grub-efi*.deb"
sudo shutdown -r now

Загрузите Live USB-флешку, откройте терминал, запустите команду, и работа будет хорошей ‘un! Единственной случайной проблемой является то, что UEFI иногда перемещали вниз по порядку приоритета загрузки под жестким диском, после чего нужно зайти в BIOS и изменить порядок загрузки, чтобы остановить его попытку (и сбой) на SATA: drive.

Можно также использовать dpkg-reconfigure вместо dpkg -i, но это задает пару вопросов загрузчику.

[редактирование] Мне также не хватает ответа на комментарий, так что то, что я думал, что это был комментарий на ответ, получается ответом.

1
1
1
2015-01-21 11:38:23 +0000

На моем 32-битном Убунту 14. 10 на Lenovo Yoga 2 Pro, я изменил на загрузку UEFI следующим образом:

  • создать папку

  • смонтировать раздел “EFI System” в /etc/fstab

  • установить grub-efi-amd64-bin и удалить grub-efi-ia32-bin

  • перезагрузить Ubuntu в efi режиме

  • проверить, если он загружается нормально, то я установил grub-efi-amd64 и удалить grub-pc grub-gfxpayload-lists с

Я решил не удалять /boot, когда меня об этом спрашивают.

  • *

Может быть, я все усложнил и это бы просто сработало хорошо:

apt-get install --reinstall grub-efi
update-grub
0
Advertisement
0
0
2018-08-08 01:32:05 +0000

Эта запись больше похожа на подготовку компьютера к переустановке efi-записей. Это также то, что вы можете найти, чтобы быть эффективным и простым способом создания спасательного диска после установки системы на внутренних носителях (SSD, HDD).

С Linux Mint Tara (Linux вариант, тесно связанный с Ubuntu Bionic Beaver), метод оба помешали моей установки, и сделал возможным позже, чтобы сохранить его. Это возникло из моего желания жить USB с настойчивостью, и так как время для установки такой утилиты, как Unetbootin для постоянной установки примерно то же самое, что и для свежей установки, я просто использовал тот же живой дистрибутив, чтобы сделать установку на USB, как это было использовано для установки ОС на внутреннем SSD.

Конечно, ничего из этого не является RAID или какой-либо другой специализированной установкой, но это требует наличия подготовленного раздела тома на USB диске, а установка производится на этот USB с помощью доступного метода дистрибутива, обходя внутренний диск для установки на корневой (/) диск.

Это то место, где новая установка grub запуталась во внутреннем диске. Когда я перезагрузился на USB, внутренние записи grub UEFI, казалось, исчезли, оставив только меню grub при попытке выбрать диск с помощью записей в меню BIOS.

Вместо этого, загрузка с USB показала, что метод дистрибутива создал готовое меню grub, со списком /dev/sda2, раздела, содержащего монтирование /boot/efi. В большинстве случаев при установке с основного внутреннего диска имя grub раздела - hd0, gpt1.

Переходя в ‘advanced’, было доступно более одного вызова ядра. Оттуда запустите утилиту grub, а затем загрузитесь нормально.

С этого момента, запустив ОС на внутреннем диске, который раньше был недоступен, отключите USB, затем запустите sudo grub-install.

Когда вы перезагружаетесь без USB, вы должны иметь возможность вернуться обратно. В этот момент USB настроен на запуск внутреннего диска в обычном или аварийном режиме, и у диска есть собственное меню.

Похожие вопросы

6
10
5
37
4
Advertisement
Advertisement