После успешного обновления моего BIOS, что-то пошло не так, и я получил мигающий курсор в верхнем левом углу черного экрана. Нет ошибок, нет ничего. В BIOS теперь указан только SATA: <disc name>
вариант загрузки вместо обычного UEFI ubuntu
. Я использую схему разбиения GPT.
В конце концов я обнаружил, что рабочим решением было правильно переустановить grub-efi-amd64
. Итак, как мне это сделать?
PS: На самом деле мне удалось переустановить GRUB2 EFI самостоятельно, и я опубликую свой ответ здесь, так как я не смог найти полное руководство по этому вопросу.
Ответы:
Загрузите компьютер с live-USB / CD в режиме UEFI . У меня было два варианта загрузки,
<flash_drive>
иUEFI: <flash_drive>
второй нужен для того, чтобы выставить переменные efi,/sys/firmware/efi/
чтобыefibootmgr
потом не потерпеть неудачу. Загрузка с первым вариантом дает мне следующую ошибку:modprobe efivars
не работал для меняПерейдите в сломанную систему (похоже на справку по ubuntu grub2, но с особенностями efi):
В зависимости от вашего дистрибутива Linux, вы теперь делаете разные вещи.
Для Ubuntu / Debian :
или альтернативно:
Если вышеизложенное даст вам личинку, но не загрузочную
Для Fedora (до 16, может работать для других):
В следующей команде вы должны заменить sdX на устройство с разделом EFI, с которого вы хотите загрузиться. При этом
--part Y
вы должны заменить наY
номер раздела EFI (как в/dev/sdXY
).Теперь нажмите Ctrl + D, чтобы выйти из chroot, размонтировать все и перезагрузиться:
Возможно, вам придется адаптировать это к вашим потребностям (другая таблица разделов, отдельный раздел / boot и т. Д.), И это может быть не единственный вариант, но для меня это сработало очень хорошо.
Подходящей live-системой для исправления вещей является grml . Существует также обширное руководство по настройке загрузочного USB-устройства, из которых раздел Mac является наиболее полезным на самом деле (просто создайте раздел FAT32, скопируйте файлы, перезагрузите компьютер, готово).
источник
/run/resolvconf...
(в Ubuntu 12.04), вместо этого я просто использовалmount --bind /run /mnt/run
для монтирования всего/run
каталога в среде chroot.update-grub
не будет копировать последний образ grub2 в ваш раздел EFI, он только обновит grub.cfg. Поэтому лучший способ сделать этоapt-get install --reinstall grub-efi
(или grub-efi-amd64) это также вызовет update-grub в конце.update-grub
моя/boot/efi
папка все еще была пустой (я создал этот новый раздел). Только после запускаgrub-install
реальные файлы были записаны там. Это руководство помогло мне (немецкий): wiki.ubuntuusers.de/EFI_ProblembehebungВ качестве потенциального упрощения первого метода можно напрямую загружаться в систему на жестком диске, только используя grub live CD. Протестировано на xubuntu 13.10 с живым CD xubuntu 13.10.
Убедитесь, что Безопасная загрузка отключена в вашем BIOS. Вставьте live CD и загрузите его через UEFI. Появится меню GRUB на компакт-диске. Нажмите «С», чтобы попасть в командную строку.
Примените приведенную выше команду grub, если у вас другой системный раздел EFI.
После того, как ваша система загрузится с жесткого диска, этого должно быть достаточно, чтобы переустановить grub на системный раздел EFI и зарегистрировать его в прошивке через grub-install.
источник
configfile (hd0,gpt1)/EFI/ubuntu/grub.cfg
ничего не делает. Как мне загрузиться после выдачи этой команды?sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi
а не предложенную выше команду (но приведенная выше может просто сработать - я не знаю). И после этого вы снова можете получить доступ к вашей ОС Linux. Тогда просто бегиsudo update-grub
и все должно быть загрузочным.configfile (hd1,gpt1)/EFI/ubuntu/grub.cfg
. Загрузите LiveCD и запустите,sudo gparted
чтобы найти раздел efi.Как и в случае с 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
добавила две записи0000
и0002
!Первая
Boot0002* Linux HD
запись в порядке загрузки неверна . Запись является правильной.0000
Чтобы проверить это, я попытался загрузить без каких-либо перерывов, что является
0002
записью. Как и ожидалось, это не сработало. Я перезапустил сервер, нажал F12 и выбралlinuxmint
. Как и ожидалось, он загрузился с моей установкой LMDE.Способ удаления нежелательных записей через efibootmgr:
Я использовал эту команду для удаления записей
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
нужно также запустить? )источник
Я бы проголосовал за это, но, видимо, у меня недостаточно репутации на SuperUser. Я рад, что наконец нашел ответ на этот вопрос после нескольких дней борьбы с клонами, которые работали, но не загружались. Я думаю, что все это связано с UEFI и каким-то механизмом «безопасной загрузки» или чем-то еще.
Я работаю в автономном режиме, поэтому apt-get не вариант. То , что я был поставлен Ubuntu Desktop на флешку, добавьте
grub-efi
иgrub-efi-amd64
пакеты в корень USB флешки (личинка-efi_1.99 ~ rc1-13ubuntu3_amd64.deb и личинка-EFI-amd64_1.99 ~ rc1-13ubuntu3_amd64.deb для Ubuntu 11.04 - измените в соответствии с дистрибутивом и архитектурой), а также вставьте в USB-флешку следующее:Загрузите Live USB-флешку, откройте терминал, запустите команду, и работа хорошая! Единственная случайная проблема заключается в том, что UEFI иногда перемещается вниз по порядку приоритетов загрузки ниже жесткого диска, и в этот момент вам нужно зайти в BIOS и изменить порядок загрузки, чтобы он не пытался (и не работал)
SATA: drive
.Вы также можете использовать
dpkg-reconfigure
вместоdpkg -i
, но это задает пару вопросов о загрузчике.[править] У меня также недостаточно представителей, чтобы комментировать, поэтому то, что я считал комментарием к ответу, оказывается ответом.
источник
sudo chroot /mnt /bin/sh -c "dpkg -i /tmp/grub-efi*.deb" && sudo shutdown -r now
правильности поведения.На моем 32-битном Ubuntu 14.10 на Lenovo Yoga 2 Pro я перешел на загрузку UEFI следующим образом:
создать папку
смонтировать раздел "EFI System" в
/etc/fstab
это показало:
/dev/sda2 2050048 2582527 532480 260M EFI System
смонтировать этот раздел
установить
grub-efi-amd64-bin
и удалитьgrub-efi-ia32-bin
перезагрузите Ubuntu в режиме efi
проверить, нормально ли загружается, затем я установил
grub-efi-amd64
и удалилgrub-pc grub-gfxpayload-lists
сЯ предпочитаю не удалять / загружаться при запросе
Может быть, я сделал это сложным, и это бы просто работало нормально:
источник
Эта запись больше похожа на подготовку вашего компьютера к переустановке записей EFI. Это также может оказаться эффективным и простым способом создания аварийного диска после установки системы на внутренний носитель (SSD, HDD).
С Linux Mint Tara (вариант Linux, тесно связанный с Ubuntu Bionic Beaver), этот метод не позволил мне выполнить установку, а впоследствии позволил ее сохранить. Она возникла из-за того, что я хотел иметь постоянный USB-накопитель с постоянством, и поскольку время для установки такой утилиты, как Unetbootin, для постоянной установки примерно такое же, как и для новой установки, я просто использовал тот же самый живой дистрибутив для установки на USB, как использовалась для установки ОС на внутренний SSD.
Конечно, это не RAID или другие специализированные настройки, но для этого требовался подготовленный раздел тома на USB-накопителе и установка на этом USB-диске с использованием доступного метода дистрибутива, обходящего внутренний диск для установки на одном корневой раздел (/) mount.
Это где новая установка grub запуталась с внутренним приводом. Когда я перезагрузился на USB, внутренние записи GEF UEFI, казалось, исчезли, оставляя только меню Grub, когда пытались выбрать диск, используя записи в меню BIOS.
Вместо этого, загрузка с USB показала, что метод дистрибутива создал готовое меню grub с списком для / dev / sda2, раздела, содержащего монтирование / boot / efi. В большинстве основных внутренних установочных дисков имя grub раздела - hd0, gpt1.
Переходя к «продвинутым», было доступно более одного спасения ядра. Оттуда запустите утилиту grub и загрузитесь как обычно.
С этого момента, запустив ОС на внутреннем диске, который ранее был недоступен, отключите USB, а затем запустите
sudo grub-install
.Когда вы перезагрузите компьютер без USB, вы сможете вернуться обратно. На этом этапе USB настроен на запуск внутреннего накопителя в обычном или аварийном режиме, и у накопителя есть собственное меню.
источник