Как заставить мой ноутбук HP загружаться в grub из моего нового файла efi?

У меня есть ноутбук HP Pavilion Sleekbook 14, на котором я установил двойную загрузку Ubuntu 12.10 с оригинальной Windows 8. Я использовал boot-repair, чтобы настроить загрузку в grub.

Моя проблема в том, что я не смог загрузить его прямо с нового файла EFI, который был создан. Я просмотрел параметры загрузки на экране BIOS, но это не дает мне выбора для Ubuntu. Единственный способ загрузки в Ubuntu - это нажать F9 при включении системы, а затем вручную перейти к файлу Ubuntu EFI. Это работает, но если я не буду обращать пристальное внимание, он загрузится в Windows.

После того, как я закончил запуск boot-repair, он сказал мне загрузиться с sda2 / EFI / ubuntu / shimx64.efi. Я видел некоторые предложения, что мне следует переместить этот файл вместо windows bootmgfw.efi, но я обеспокоен что я сломаю вещи и не смогу загрузить установку Windows 8. Хотя я уже не люблю win8 даже больше, чем win7, он время от времени мне нужен для пары задач ...

Подробная информация о моем восстановлении ботинка здесь: http://paste.ubuntu.com/1418009/

28
задан 17 January 2013 в 17:59

19 ответов

Если Вы не хотите перемещать загрузочные файлы, Вы могли бы попытаться изменить последовательность начальной загрузки вручную:

Войдите в человечность вручную и проверьте текущую последовательность начальной загрузки и использование их идентификатора:

sudo efibootmgr -v

затем измените последовательности начальной загрузки с помощью-o и идентификатор (в порядке загрузки слева направо):

sudo efibootmgr -o 0000,3000,0001,2001,2002,2003



Пример:
1. Покажите текущие настройки начальной загрузки

$ sudo efibootmgr -v
BootCurrent: 0001
Timeout: 2 seconds
BootOrder: 0001,3000,0000,2001,2002,2003
Boot0000* ubuntu    HD(2,GPT,c451cb3c-a684-45ac-9925-4046e57c40cb,0x145800,0x82000)/File(\EFI\ubuntu\shimx64.efi)
Boot0001* Windows Boot Manager  HD(2,GPT,c451cb3c-a684-45ac-9925-4046e57c40cb,0x145800,0x82000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
Boot2001* USB Drive (UEFI)  RC
Boot2002* Internal CD/DVD ROM Drive (UEFI)  RC
Boot3000* Internal Hard Disk or Solid State Disk    RC
Boot3001* Internal Hard Disk or Solid State Disk    RC
Boot3002* Internal Hard Disk or Solid State Disk    RC
Boot3003* Internal Hard Disk or Solid State Disk    RC

2. Порядок загрузки изменения (мы хотим запустить человечность сначала, которая покажет меню начальной загрузки при запуске):
Обратите внимание, что первая попытка дала ошибку, потому что она не могла найти Boot2003 (диск гибкого диска?), как Вы видите, это воссоздается после перезагрузки все же.

$ sudo efibootmgr -o 0000,3000,0001,2001,2002,2003
Invalid boot order entry value: 0000,3000,0001,2001,2002,2003
                                                         ^
Boot entry 2003 does not exist

$ sudo efibootmgr -o 0000,3000,0001,2001,2002
BootCurrent: 0000
Timeout: 2 seconds
BootOrder: 0000,3000,0001,2001,2002
Boot0000* ubuntu
Boot0001* Windows Boot Manager
Boot2001* USB Drive (UEFI)
Boot2002* Internal CD/DVD ROM Drive (UEFI)
Boot3000* Internal Hard Disk or Solid State Disk
Boot3001* Internal Hard Disk or Solid State Disk
Boot3002* Internal Hard Disk or Solid State Disk
Boot3003* Internal Hard Disk or Solid State Disk

3. Перезагрузка. Меню начальной загрузки должно теперь появиться. (2003 повторно добавляется автоматически):

$ sudo efibootmgr -v
BootCurrent: 0000
Timeout: 2 seconds
BootOrder: 0000,3000,0001,2001,2002,2003
Boot0000* ubuntu    HD(2,GPT,c451cb3c-a684-45ac-9925-4046e57c40cb,0x145800,0x82000)/File(\EFI\ubuntu\shimx64.efi)
Boot0001* Windows Boot Manager  HD(2,GPT,c451cb3c-a684-45ac-9925-4046e57c40cb,0x145800,0x82000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
Boot2001* USB Drive (UEFI)  RC
Boot2002* Internal CD/DVD ROM Drive (UEFI)  RC
Boot3000* Internal Hard Disk or Solid State Disk    RC
Boot3001* Internal Hard Disk or Solid State Disk    RC
Boot3002* Internal Hard Disk or Solid State Disk    RC
Boot3003* Internal Hard Disk or Solid State Disk    RC
0
ответ дан 17 January 2013 в 17:59

У меня была такая же проблема с моим HP Pavilion g6 при попытке двойной загрузки Ubuntu 12.04.3 LTS и Windows 8. То есть, даже после «успешного» запуска Boot-Repair у меня все еще была загрузка ноутбука непосредственно в Windows 8 Если я нажал F9 ​​до появления символа HP, я смог войти в меню загрузки (меню HP? Я не знаю ...) и оттуда выбрать запись «Ubuntu», которая, в свою очередь, заняла меня к GRUB 2 и, наконец, к моей установке Ubuntu.

Тем не менее, я хотел, чтобы компьютер мог загружаться напрямую с Linux, без необходимости какого-либо вмешательства пользователя.

В конце концов, ответ Рода Смита выше , в сочетании с информацией, которую я нашел на другом форуме, помог мне. У меня отключена Безопасная загрузка и Legacy Boot.

Вот что я сделал:

  • Я загрузился в свою установку Ubuntu, используя прием клавиши F9 при запуске, чтобы иметь возможность выбрать загрузчик.
  • Оказавшись в Ubuntu, я открыл терминал.
  • Используя приведенную ниже команду, я проверил, где находится загрузчик Windows:

    $ sudo efibootmgr -v
    
  • В моем случае, здесь был оригинальный загрузчик: /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi , Обратите внимание, что на вашем компьютере он может находиться в другом месте. Если это так, вам нужно будет настроить команды ниже.

  • Согласно рекомендации Рода в его ответе (о том, как вручную восстановить загрузчик), я сделал резервную копию этого файла, переместив его на один уровень вверх:

    $ sudo cp /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft/bootmgfw.efi
    
  • [ 1111]

    Наконец, я скопировал загрузчик GRUB2 в это место, «обманывая» систему, чтобы загрузить нужный мне загрузчик вместо оригинального загрузчика Windows.

    $ sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
    

Итак, наконец, моя двойная загрузка работала с GRUB2. Если после обновления Windows перезаписывает загрузчик снова (как это было со мной), я уже знаю шаги, чтобы вернуть grub на свое место.

1121 Надеюсь, это кому-нибудь поможет. Пожалуйста, дайте мне знать, если есть какие-либо проблемы с моим решением.

0
ответ дан 17 January 2013 в 17:59

У меня есть ноутбук на 2 018 л. с., 14 дюймов с двойной загрузкой Windows 10 и Ubuntu. Я раньше нажимал F9 для выбора, который ОС я хотел, и я делал в течение нескольких недель теперь.

Решение:

  • Завершите работу и нажмите F10 для входа в BIOS

  • Перейдите к части BIOS, который перечисляет порядок загрузки

  • Нажатие вводит в диспетчер начальной загрузки ОС.

  • используйте F5 или F6 для переключения Ubuntu с Windows.

  • Сохраните и выйдите.

1
ответ дан 17 January 2013 в 17:59

Это НЕ проблема Windows! Микропрограмма HP полностью глючная, поскольку она не использует (или даже не поддерживает должным образом) переменную UEFI firmare "BootOrder". Я думаю, что единственное исправление - заменить файл загрузчика Windows (как некоторые уже упоминали) на ваш grub.efi.

0
ответ дан 17 January 2013 в 17:59

Я подтверждаю, что шаги @Vitor Abella решили проблему двойной загрузки для моего HP, с 2000 ноутбуками, за исключением того, что я должен буду сделать любое из следующих (как был упомянут @mairabc):

  • включите начальную загрузку прежней версии (по умолчанию, начальная загрузка безопасности отключена),

или

  • отключите начальную загрузку прежней версии и включите начальную загрузку безопасности.
0
ответ дан 17 January 2013 в 17:59

Мое решение реализовано после того, как я узнал, что grub4dos загружается

, сделайте эту запись в men.lst

title Linux
find --set-root /-name.efi
boot /-name.efi
0
ответ дан 17 January 2013 в 17:59

После установки Ubuntu 14.04 64 bit на ноутбуке HP-15-r248nf с Windows 8, обновленной до 10, что происходило гладко, помимо проблемы с разрывом соединения Wi-Fi с драйвером Realtek Wifi (решена с помощью echo ", опции rtl8723be fwlps = N ips = N "| sudo tee /etc/modprobe.d/rtl8723be.conf), компьютер все еще загружается под Windows. Ubuntu через grub стал доступен только при использовании клавиши ESC на этапе загрузки. boot-repair не помогло, на самом деле в grub было установлено довольно много опций, но grub все еще не был доступен напрямую. Фактически было просто необходимо изменить порядок загрузки по умолчанию. На этапе загрузки после включения ПК введите Esc, затем F10, чтобы войти в настройку BIOS. Перейдите на вкладку «Конфигурация системы», вплоть до «Параметры загрузки». Нажмите Ввод. Отключить «Безопасную загрузку». Перейти к порядку загрузки UEFI. Я положил с помощью F5 / F6 диспетчер загрузки ОС поверх (вероятно, не требуется). Выберите «Диспетчер загрузки ОС» с помощью Enter. Используя F5 / F6, переместите Ubuntu наверх над Windows Boot Manager. Оставьте настройку Bios с помощью F10 Сохранить / выйти и подтвердите внесенные изменения. Теперь вы будете направлены в grub, где вы выбрали опцию Ubuntu, отмеченную звездочкой сверху, которая будет загружаться автоматически через короткую задержку.

0
ответ дан 17 January 2013 в 17:59

На моем ноутбуке HP я шаг за шагом делал следующее:

1 - Загрузите Ubuntu с помощью F9

2 - Проверьте, где находится загрузчик Windows

sudo efibootmgr -v

В моем случае /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

3 - Резервный файл .efi:

sudo cp /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft/bootmgfw.efi

4 - Заменить оригинальный файл .efi на файл ubuntu ( трюк ]):

sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

5 - Добавить пункт меню windows 10 в grub. Откройте /etc/grub.d/40_custom и добавьте этот пункт меню в конец файла:

menuentry "Windows 10 click here!" {
    search --set=root --file /EFI/Microsoft/bootmgfw.efi
    chainloader /EFI/Microsoft/bootmgfw.efi
}

6 - Сохранить 40_custom и:

sudo update-grub

7 - В BIOS отключить безопасную загрузку (I я не уверен, что это необходимо)

8 - Если все прошло нормально, по умолчанию будет загружаться ubuntu и windows 10 будет другой опцией в grub .

1121 Это было проще, чем я думал. [+1121]
0
ответ дан 17 January 2013 в 17:59

Я нашел, что способ заставить мой HP Pavilion g7-2269wm (UEFI) загружаться повторно находит (GRUB может также быть возможным) без замены bootmgfw.efi с перенаходкой или GRUB

Я установил, повторно находят и добавил, повторно находят к использованию списка диспетчеров начальной загрузки sudo efibootmgr -c -d /dev/sda -p 2 -L "rEFInd" -l "\EFI\refind\shimx64.efi"

Перезагруженное использование F9 к избранной перенаходке и затем выбранной Ubuntu.

Затем переименованный bootmgfw.efi кому: bootmgfwms.efi использование

sudo mv /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft/Boot/bootmgfwms.efi

Затем я перезагрузил, и это перезагрузило в перенаходку, не имея необходимость использовать F9. Запись Windows 10 теперь отсутствовала так, я выбрал Ubuntu.

Затем для возвращения записи Windows 10 я работал

sudo mv /boot/efi/EFI/Microsoft/Boot/bootmgfwms.efi /boot/EFI/EFI/Microsoft/Boot/bootmgfw.efi

Затем я перезагрузил, и повторно найдите, прибывает, не нажатие F9, и Windows 10 появляется как запись.

1
ответ дан 17 January 2013 в 17:59

Я столкнулся с подобной проблемой после установки Cent-OS 7 поверх Windows 10. Вот нижеприведенный процесс, которым я следовал.

  • исходной ОС была Windows 10
  • , установленная cent-os 7 с использованием uefi usb, созданного проблемой rufus

: windows 10 загружалась, а меню загрузки ОС OS не было даже отображается.

  1. Как я решил:
  2. перешел в Bios
  3. с устаревшей загрузкой (просто дополнительный шаг для будущих мер предосторожности)
  4. перейдите к Boot options
  5. щелкните Диспетчер загрузки ОС
  6. Переместите CentOS UEFI над окнами: нажмите клавишу f10, чтобы сохранить
  7. , снова щелкните OD bootmanager и проверьте его.
  8. нажмите f10 для сохранения и выхода

Теперь ваша система будет загружаться в centos UEFI

, так как мы включили устаревшую загрузку, мы можем выбрать клавишу esc, чтобы перейти к BIOS или другим параметрам загрузки

0
ответ дан 17 January 2013 в 17:59

Вы затронуты этой ошибкой: https://bugs.launchpad.net/ubuntu / + source/grub2 / + ошибка/1091477

Решение:

  1. через Gparted создайте другой раздел EFI (FAT32, 200 МБ, расположенных в первых 100 ГБ диска)
  2. переместите флаг 'начальной загрузки' в него
  3. заставьте Ubuntu использовать этот новый ESP (например, через Восстановление начальной загрузки-> Рекомендуемое Восстановление).
1
ответ дан 17 January 2013 в 17:59

UEFI Hewlett-Packard некоторое время испытывал душевную боль. Ваше исправление помогло мне перезапустить ноутбук HP в GRUB снова - без предварительного нажатия клавиши F9.

У меня была одна проблема: после твоего исправления я мог выбрать Windows 8 в GRUB, но затем Windows 8 отказалась запускаться, и мне снова показали меню GRUB.

Мое исправление:

  1. Копирование исходного efi-файла Microsoft в /boot/efi/EFI/Microsoft/Boot/bootmgf2.efi
  2. Редактирование /boot/grub/grub.cfg для распознавания переименованного efi-файла Microsoft

Ноутбук теперь загружается в GRUB, Ubuntu и Windows 8 теперь нормально запускаются из GRUB.

0
ответ дан 17 January 2013 в 17:59

Обычно, выполнение Восстановления Начальной загрузки создает резервную копию исходного файла загрузчика Microsoft (bootmgfw.efi) как bootmgfw.efi.bkp и заменяет оригинал bootmgfw.efi файл с копией GRUB (или контейнер), и Восстановление Начальной загрузки произвел Вас отправленный, показал бы это; однако, я не вижу такого файла резервной копии. Таким образом я рекомендую сделать одну из трех вещей:

  • Выполненное Восстановление Начальной загрузки снова, но ищут опции, связанные с резервным копированием и заменой загрузчика Microsoft. Активируйте те опции продолжить процесс. GRUB мог бы или не смог запускать Windows; это кажется случайным - и больше "мисс" при отъезде Защищенной загрузки активной.
  • Сделайте задание вручную: Из Linux создать резервную копию /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi (Я рекомендую переместить его вниз один уровень, к /boot/efi/EFI/Microsoft/bootmgfw.efi, вместо того, чтобы переименовывать его к bootmgfw.efi.bkp, так как последний нестандартен и делает инструменты кроме Восстановления Начальной загрузки и GRUB Ubuntu не могущими определить местоположение его). Копия /boot/efi/EFI/ubuntu/grubx64.efi в его месте; или если Вы планируете сохранить работу Защищенной загрузки, копию /boot/efi/EFI/ubuntu/shimx64.efi в его месте и копии grubx64.efi кому: /boot/efi/EFI/Microsoft/Boot использование его настоящего имени. Необходимо будет затем изменить конфигурацию GRUB, чтобы позволить этому запустить загрузчик Windows в своем новом местоположении или под его новым именем. (Я услышал, что GRUB еще не может запустить загрузчик Windows в режиме Secure Boot, тем не менее, поэтому, если Вы хотите запустить Windows от GRUB, Вы, возможно, должны отключить Защищенную загрузку. OTOH, я никогда не пробовал это сам, таким образом, я мог ошибиться о возможностях GRUB в этом отношении.)
  • Отключите Защищенную загрузку, затем загрузитесь к Linux и установите мой диспетчер начальной загрузки перенаходки при помощи пакета Debian. После того как это сделано, ввести sudo mvrefind.sh /boot/efi/EFI/refind /boot/efi/EFI/Microsoft/Boot. Последняя команда перемещает и переименовывает файлы способом, это походит на ручную процедуру, которую я просто описал или к тому, что делает Восстановление Начальной загрузки, но это настраивает, повторно находят как загрузчик по умолчанию, а не GRUB. Если Вы захотите использовать Защищенную загрузку, то Вы сможете сделать так путем манипулирования файлами, и устанавливая новую версию контейнера (контейнер Ubuntu является достаточно ранним, что это не будет работать правильно с перенаходкой). Установка повторно находит, таким образом позволяет Вам загрузиться, не используя GRUB и комбинацию сценария установки (выполняемый системой пакета, когда Вы устанавливаете пакет Debian), и mvrefind.sh работа сценария вокруг проблем Вы имеете.

Для записи проблемы, которые Вы имеете, связаны с известными ошибками в реализации EFI HP. В основном встроенное микропрограммное обеспечение трудно кодируется, чтобы загрузиться из загрузчика Microsoft и мешать или невозможный загрузиться от чего-либо еще. Я настоятельно рекомендую жаловаться HP об этом; они не решат такие проблемы, если люди не будут жаловаться.

Из этих трех решений, с помощью Восстановления Начальной загрузки, вероятно, будет самым легким получить работу; но поскольку я отметил, нестандартное именование, что использование Восстановления Начальной загрузки может закончить тем, что вызвало проблемы для других утилит в будущем. Ручные настройки потребуют большего усилия получить работу, но будут более чистыми в конечном счете. Некоторые люди сообщили о проблемах, получающих GRUB к chainload загрузчик Windows, таким образом, любая опция могла дать Вам головные боли в этом отношении. перенаходка, намного более вероятно, загрузит или Linux или Windows без проблем, но как можно сказать из процедуры, получив его, работа, вероятно, потребует немного большего усилия, чем рабочее Восстановление Начальной загрузки снова, хотя, вероятно, меньше, чем выполнение ручного манипулирования файла. Используя перенаходку в сочетании с Защищенной загрузкой требует большего количества схватывания обруча момент. (См. документацию rEFInd для деталей.) повторно находят также подарки более симпатичным пользовательским интерфейсом, чем GRUB, который мог бы или не мог бы быть важен для Вас.

Существует риск, вовлеченный во все три решения; реализации EFI варьируются слишком много среди себя, что означает, что или автоматизированный или ручная процедура, которая работает хорошо над одним компьютером, могут потерпеть полный провал на другом. Для защиты себя я рекомендую создать резервную копию Вашего ESP (обычно /boot/efi в соответствии с Linux); просто соберите файлы в tarball или скопируйте их в резервный каталог. Если что-то идет плохо неправильно, можно загрузиться с чрезвычайным диском и восстановить файлы. Это, вероятно, получит компьютер, загружающийся снова.

5
ответ дан 17 January 2013 в 17:59

Я столкнулся с той же проблемой на 4340 HP ProBook с исходным Windows 8, уже перезаписанным новым Kubuntu 15.04 (я не предпочитаю двойной загрузки). Среди других попыток я также попробовал Восстановление начальной загрузки (и от HD после его установки и через диск восстановления начальной загрузки), но то осуществление было по всей вероятности ненужным.

То, что сделало прием, было следующими изменениями в BIOS Setup (после того, как нажатие запуска компьютера, F10 - переходят к Конфигурации системы - открывает Boot Options):

  1. Проверьте специализированную начальную загрузку

  2. Вычет SecureBoot

  3. Режим начальной загрузки: выберите UEFI Hybrid или UEFI Native (я выбрал UEFI Native),

  4. Порядок загрузки UEFI: помещенная Специализированная Начальная загрузка к вершине

  5. Определите Специализированный Параметр загрузки: выберите Add + поместил установку: \EFI\ubuntu\grubx64.efi

Мы нашли корректную строку пути при открытии GRUB через опцию Boot from EFI File в Опциях Быстрой загрузки (F9). В начале список опций содержал:

  • Диспетчер начальной загрузки ОС
  • Начальная загрузка из файла EFI

После добавления Специализированного Параметра загрузки это было добавлено к списку:

  • Специализированная начальная загрузка
  • Диспетчер начальной загрузки ОС
  • Начальная загрузка из файла EFI
11
ответ дан 17 January 2013 в 17:59

Это еще один ответ для Майрабка для тех, кто, как Винс или я, не может загрузиться в Windows. Вам понадобится fs_uuid:

# grub-probe --target=fs_uuid /boot/efi/EFI/Microsoft/bootmgfw.efi

и строка hints_string:

# grub-probe --target=hints_string /boot/efi/EFI/Microsoft/bootmgfw.efi

Затем необходимо отредактировать файл / etc /grub.d/40_custom так:

menuentry "Microsoft Windows x86_64 UEFI-GPT" {
    insmod part_gpt
    insmod fat
    insmod search_fs_uuid
    insmod chain
    search --fs-uuid --no-floppy --set=root your_hints_string your_fs_uuid
    chainloader /EFI/Microsoft/bootmgfw.efi
}

Сохраните его и выполните

# update-grub

перезагрузку в Windows ...

0
ответ дан 17 January 2013 в 17:59

Мой сценарий похож на сообщение Августа Микала Шарнея 19 августа 15 в 15: 20: я получил несколько мини-башен HP Pavillion Slimline 400-314, мне не понадобилась предустановленная Windows 8, поэтому сразу же переразделил жесткий диск и установил Ubuntu 14.04 и Grub2.

К сожалению, меню BIOS Pavillion чрезвычайно ограничено в конфигурации загрузки. У этого нет большинства из причудливых выборов, которые большинство других описывают здесь. Даже попытка изменить порядок загрузки не удается.

ЕДИНСТВЕННОЕ решение, которое я получил, заключается в использовании обходного пути «альтернативного именования», как описано в разделе «Альтернативные решения для именования» этого блога .

0
ответ дан 17 January 2013 в 17:59
1153 Я потратил день на ту же проблему и наконец решил ее. Ниже приводится точное решение. Полная статья для решения проблемы здесь здесь , которая написана Родом Смитом .

Полезная информация

Для загрузки таблицы разделов GPT с помощью загрузчиков efi. efi файлы создаются операционными системами во время установки, которые должны быть предоставлены биографиям UEFI компьютера, чтобы дать ему возможность загружаться в их основные операционные системы.

Для хранения файлов EFI нам нужен один раздел EFI. Обычно это раздел размером менее 200 МБ в формате fat32 с меткой EFI system. Он включает в себя .efi файлов и их зависимостей (в форме .dll или .efi), необходимых для загрузки любого из загрузочных разделов (обычно операционных систем). В моем компьютере этот раздел имеет структуру, показанную следующей схемой:

\EFI
   |_Boot
     |_fw
   |_Microsoft
     |_Boot
     |_Recovery
   |_Ubuntu
     |_fw

Обычно файлы .efi могут иметь любое имя, но кажется, что некоторые компьютеры ищут определенные имена. Поэтому я упоминаю и стандартные имена.

  1. Boot Папка: Is распознается как параметр загрузки по умолчанию и если NVRAM удаляется по причине. Это будет использоваться по умолчанию. Загрузчик efi называется «bootx64.efi». Если вы хотите выбрать загрузчик efi по умолчанию, скопируйте ваш файл efi и все файлы вокруг него в папку загрузки и переименуйте файл efi вашего источника в «bootx64.efi».

  2. Microsoft Папка: содержит загрузочные файлы EFI Windows. Существует несколько файлов efi, но основным является "efibootmgfw.efi". Я уверен, что это используется Windows для загрузки.

  3. Ubuntu Папка: содержит файл Ebui Ubuntu или Mint. Существует несколько файлов .efi, но основным является grubx64.efi

, что делать?

Уже есть некоторые варианты загрузки, которые устанавливаются во время установки операционной системы. Тем не менее, они могут быть недоступны из параметров загрузки BIOS по различным причинам, таким как удаление и переустановка жесткого диска или установка новой операционной системы или даже нового аккумулятора материнской платы. Существует два решения для восстановления параметров загрузки.

  1. (не рекомендуется) Как описано в некоторых ответах, мы можем заменить работающий вариант загрузки на тот, который не работает. Но проблема остается другой.

  2. Зарегистрируйте отсутствующий файл загрузчика efi вручную.

Как это сделать?

  1. Загрузка из загрузочной флеш-памяти Linux (я использую загрузочную флеш-память Linux Mint). Это должно быть EFI USB. (GPT usb, который может быть создан такими программами, как rufus)

  2. Смонтируйте раздел EFI, ваш дистрибутив может сделать это автоматически. Пропустите этот шаг, если /boot доступен и показывает структуру, аналогичную приведенной выше. Современные Ubuntu должны сделать это для вас.

    1. Найдите адрес вашего раздела EFI. Это можно сделать с помощью команды parted или программы Disks. Обычно это первый или второй раздел загрузочного диска. (/dev/sda1 или /dev/sda2) Этот раздел обычно составляет от 100 МБ до 200 МБ с FAT32 и типом раздела EFI System.

    2. Смонтировать раздел EFI. Вы можете использовать команду df, чтобы проверить, смонтирован ли раздел раньше.

      df  /boot/efi
      

      Если раздел не был смонтирован ранее (не отображается в предыдущей команде) Смонтируйте раздел с помощью команды mount:

      mount  /dev/sda1  /boot/efi
      
  3. Теперь, если вы просмотрите /boot/efi, вы увидите структуру файла, похожую на мою, описанную выше. Проверьте, можете ли вы найти папку вашей потерянной операционной системы. В моем случае биос компьютера мог видеть только вариант загрузки Windows, однако у меня также была опция загрузки Grub Linux Mint.

    • (Не рекомендуется) Мой вариант загрузки Windows работал так, во-первых, для целей тестирования я сделал резервную копию папки Microsoft, которая содержит кучу файлов вместе с загрузочным файлом EFI Windows. ( bootmgfw.efi) Затем я переименовал папку ubuntu в Microsoft, затем я переименовал в grubx64.efi в bootmgfw.efi. После перезагрузки вместо загрузки в Windows загружается меню grub, однако в этот раз загрузка в windows была возможна только с grub. И прямая загрузка в Windows была невозможна.

      sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
      
    • ( Рекомендуемый способ ) Просто напишите адрес файла efi, который вы хотите, чтобы соответствующая операционная система была отображена в параметрах загрузки BIOS. В моем случае Linux Mint отсутствовал в списке загрузки BIOS компьютера. Адрес его файла EFI был /efi/ubuntu/grubx64.efi относительно корня раздела EFI. Затем я зарегистрировал его в NVRAM с помощью команды efibootmgr .

      efibootmgr -c -d /dev/sda -p 1 -l \\efi\\ubuntu\\grubx64.efi -L nameForBootOption
      

      в p 1 части команды 1 определяет номер раздела efi-раздела на данном диске. nameForBootOption - это пользовательское имя, заданное для параметра загрузки

* Позаботьтесь о том, чтобы написать правильный адрес. При монтировании раздела в linux. Он монтирует раздел в какую-то папку под корнем, которая расширяет реальный адрес до чего-то вроде /media/mint/CC1F-9708/EFI/ubuntu, однако нам нужно только дать /EFI/ubuntu часть.

* Disks Программа - замечательный графический инструмент, который по умолчанию загружается в загрузочную флешку Linux Mint. Его можно использовать для проверки и поиска раздела EFI, а также для монтирования раздела EFI без использования команды mount или parted. Вам нужно только найти его в меню, Настройки, Диски.

0
ответ дан 17 January 2013 в 17:59

Решенный моя проблема начальной загрузки EFI как это:

efibootmgr -o опция перезаписывается, после того как Вы перезагружаете, таким образом, она не будет работать.

Однако я узнал, что -n опция делает. Таким образом в живой человечности usb работает efibootmgr и узнают четырехзначное число для человечности и загрузки что число с -n опция. Затем чтобы смочь перезагрузить от Вашей системы делают сценарий как это:

#!/bin/sh
/usr/bin/efibootmgr -n 0000

Замена 0000 с записью человечности. Выполнение crontab -e позволит Вам редактировать свой крон. Добавьте строку как это к нему:

@reboot /home/"user"/"path"/efibootsj

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

0
ответ дан 23 November 2019 в 00:56

Я решил проблему, сделав простую вещь после установки ubuntu..

добрался до настройки биоса f10 конфигурация системы -> загрузка -> диспетчер загрузки ОС -> выберите ubuntu

нажмите f10 для перезапуска

после перезагрузки вы получите экран ubuntu grub .. нет необходимости трогать какие-либо файлы efi. Я видел это решение на форуме hp, но сейчас не могу получить ссылку

Надеюсь, оно поможет. С уважением Абир

1
ответ дан 8 May 2020 в 04:24

Другие вопросы по тегам:

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