У меня есть ноутбук 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/
источник
sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
@Vitor AbellaОтветы:
У меня была такая же проблема с моим HP Pavilion g6 при попытке двойной загрузки Ubuntu 12.04.3 LTS и Windows 8. То есть, даже после «успешного» запуска Boot-Repair у меня все равно была загрузка ноутбука непосредственно в Windows 8. Если я Я нажал клавишу F9, прежде чем появился символ HP, и я смог войти в меню загрузки (меню HP? Я не знаю ...) и оттуда выбрать пункт «Ubuntu», что, в свою очередь, привело меня к GRUB. 2 и, наконец, к моей установке Ubuntu.
Тем не менее, я хотел, чтобы компьютер мог загружаться непосредственно под Linux без какого-либо вмешательства пользователя.
В конце концов, ответ Рода Смита выше , в сочетании с информацией, которую я нашел на другом форуме, помог мне. У меня отключена безопасная загрузка и Legacy Boot.
Вот что я сделал:
Используя команду ниже, я проверил, где находится загрузчик Windows:
В моем случае, оригинальный загрузчик был здесь:
/boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
. Обратите внимание, что на вашем компьютере это может быть в другом месте. Если это так, вам нужно будет настроить команды ниже.Согласно рекомендации Рода в его ответе (о том, как вручную восстановить загрузчик), я сделал резервную копию этого файла, переместив его на один уровень вверх:
Наконец, я скопировал загрузчик GRUB2 в этом месте, «обманывая» систему, чтобы загрузить желаемый загрузчик вместо оригинального загрузчика Windows.
Наконец-то у меня была двойная загрузка с GRUB2. В случае, если Windows перезаписывает загрузчик снова после обновления (как это было со мной), я уже знаю шаги, чтобы вернуть grub на свое место.
Надеюсь, это кому-нибудь поможет. Пожалуйста, дайте мне знать, если есть какие-либо проблемы с моим решением.
источник
chainloader /EFI/Microsoft/bootmgfw.efi
Я столкнулся с той же проблемой на HP ProBook 4340s с оригинальной Windows 8, уже перезаписанной новой Kubuntu 15.04 (я не предпочитаю двойную загрузку). Среди других попыток я также попробовал Boot-Repair (как с HD после его установки, так и через boot-repair-disk ), но это упражнение, скорее всего, было ненужным.
Трюк заключался в следующих изменениях в BIOS Setup (после запуска компьютера нажмите F10 - перейдите в System Configuration - откройте Boot Options ):
Проверьте настроенную загрузку
Отключите SecureBoot
Режим загрузки : выберите UEFI Hybrid или UEFI Native (я выбрал UEFI Native)
UEFI Boot Order : поместите настроенный Boot наверх
Определить индивидуальный вариант загрузки : выберите « Добавить» + введите настройки:
\EFI\ubuntu\grubx64.efi
Мы нашли правильную строку пути при открытии GRUB через опцию Boot from EFI File в параметрах быстрой загрузки (F9). В начале список опций содержал:
После добавления опции Customized Boot он был добавлен в список:
источник
Define Customized Boot Option: choose Add + put the setting: \EFI\ubuntu\grubx64.efi
UEFI Hewlett-Packard уже некоторое время испытывает душевную боль. Ваше исправление помогло мне перезагрузить ноутбук HP в GRUB снова - без предварительного нажатия клавиши F9.
У меня была одна проблема: после вашего исправления я мог выбрать Windows 8 в GRUB, но затем Windows 8 отказалась запускаться, и мне снова показали меню GRUB.
Мое исправление:
/boot/efi/EFI/Microsoft/Boot/bootmgf2.efi
/boot/grub/grub.cfg
для распознавания переименованного Microsoft efi-файлаНоутбук теперь загружается на GRUB, Ubuntu и Windows 8 теперь нормально запускаются с GRUB.
источник
Обычно при запуске Boot Repair выполняется резервное копирование исходного файла загрузчика Microsoft (
bootmgfw.efi
) сbootmgfw.efi.bkp
заменой исходногоbootmgfw.efi
файла на копию GRUB (или шимма), и выложенный вами вывод Boot Repair показывает это; однако, я не вижу такого файла резервной копии. Таким образом, я рекомендую вам сделать одну из трех вещей:/boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
выполните (я рекомендую переместить его на один уровень,/boot/efi/EFI/Microsoft/bootmgfw.efi
а не переименовывать в негоbootmgfw.efi.bkp
, поскольку последний нестандартен и не позволяет обнаружить другие инструменты, кроме Boot Repair и Ubuntu GRUB). Скопируйте/boot/efi/EFI/ubuntu/grubx64.efi
на свое место; или если вы планируете сохранить безопасную загрузку, скопируйте/boot/efi/EFI/ubuntu/shimx64.efi
ее на место и скопируйтеgrubx64.efi
в/boot/efi/EFI/Microsoft/Boot
используя свое оригинальное имя. Затем вам нужно будет изменить конфигурацию GRUB, чтобы он мог запускать загрузчик Windows в новом месте или под новым именем. (Я слышал, что GRUB пока не может запустить загрузчик Windows в режиме безопасной загрузки, поэтому, если вы хотите запустить Windows из GRUB, вам может потребоваться отключить безопасную загрузку. ОТО, я никогда не пробовал сам поэтому я могу ошибаться в отношении возможностей GRUB в этом отношении.)sudo mvrefind.sh /boot/efi/EFI/refind /boot/efi/EFI/Microsoft/Boot
. Последняя команда перемещает и переименовывает файлы способом, аналогичным ручной процедуре, которую я только что описал, или тому, что делает Boot Repair, но она устанавливает rEFInd как загрузчик по умолчанию, а не GRUB. Если вы хотите использовать безопасную загрузку, вы сможете сделать это, манипулируя файлами и устанавливая новую версию shim (shim в Ubuntu достаточно ранний, чтобы он не работал должным образом с rEFInd). Таким образом, установка rEFInd позволяет вам загружаться без использования GRUB, а сочетание сценария установки (выполняемого системой пакетов при установке пакета Debian) иmvrefind.sh
сценария позволяет обойти возникающие проблемы.Кстати, проблемы, с которыми вы сталкиваетесь, связаны с известными ошибками в реализации EFI HP. По сути, прошивка жестко запрограммирована для загрузки с загрузчика Microsoft и затрудняет или делает невозможным загрузку с чего-либо еще. Я настоятельно рекомендую вам обратиться в HP по этому поводу; они не решат такие проблемы, если люди не будут жаловаться.
Из трех решений, использование Boot Repair, вероятно, будет самым легким для работы; но, как я заметил, нестандартное именование, которое использует Boot Repair, может в будущем привести к проблемам для других утилит. Ручная регулировка потребует больше усилий, чтобы начать работать, но в конечном итоге будет чище. Некоторые люди сообщают о проблемах с загрузкой GRUB для загрузки загрузчика Windows, поэтому любой из этих вариантов может вызвать головную боль на этот счет. У rEFInd гораздо больше шансов загрузить Linux или Windows без проблем, но, как вы можете заметить из процедуры, для ее работы, вероятно, потребуется немного больше усилий, чем для повторного запуска Boot Repair, хотя, вероятно, меньше, чем для ручного перемещения файлов. Использование rEFInd в сочетании с Secure Boot требует большего количества прыжков с обруча в данный момент. (Подробности см. В документации REFInd.
Во всех трех решениях присутствует риск; Реализации EFI слишком сильно различаются между собой, что означает, что автоматизированная или ручная процедура, которая хорошо работает на одном компьютере, может с треском провалиться на другом. Чтобы защитить себя, я рекомендую создать резервную копию вашего ESP (обычно
/boot/efi
под Linux); просто упакуйте файлы в архив или скопируйте их в каталог резервных копий. Если что-то идет не так, как надо, вы можете загрузить аварийный диск и восстановить файлы. Это, вероятно, заставит компьютер загрузиться снова.источник
tar
ошибки, похоже, что в скрипте была ошибка и были созданы файлы со странными именами. Я не замечал этих файлов в вашем выводе раньше, но вполне возможно, что любая ошибка, созданная ими, также отвечает за ваши проблемы с загрузкой. Если это так, использование rEFInd может обойти проблему, но другие решения могут потерпеть неудачу./boot/efi//EFI/refind': Read-only file system cp: cannot create regular file
/boot/efi//EFI/refind/refind_x64.efi ': такого файла или каталога нет. Установка драйвера для ext4 (ext4_x64.efi) mkdir: невозможно создать каталог `/ boot / efi // EFI / refind ': файловая система только для чтения. Скопированные двоичные файлы rEFIndЯ потратил день на ту же проблему и наконец решил ее. Ниже приводится точное решение. Полная статья для решения проблемы здесь, которая написана Родом Смитом .
Полезная информация
Для загрузки в таблицу разделов GPT с загрузчиками EFI.
efi
файлы создаются операционными системами во время установки, которые должны быть предоставлены биографии UEFI компьютера, чтобы дать ему возможность загружаться в их основные операционные системы.Для хранения файлов EFI нам нужно иметь один раздел EFI. Обычно это раздел размером менее 200 МБ в
fat32
формате с меткойEFI system
. Он включает в себя.efi
файлы и их зависимости (в форме.dll
или.efi
), необходимые для загрузки в любой из загрузочных разделов (обычно операционных систем). На моем компьютере этот раздел имеет структуру, показанную следующей схемой:Обычно
.efi
файлы могут иметь любое имя, но кажется, что некоторые компьютеры ищут конкретные имена. Поэтому я упоминаю и стандартные имена.Boot
Папка: Is распознается как вариант загрузки по умолчанию и если NVRAM по какой-либо причине стирается. Это будет использоваться по умолчанию. Загрузчик efi называется «bootx64.efi». Если вы хотите выбрать загрузчик efi по умолчанию, скопируйте ваш файл efi и все файлы вокруг него в папку загрузки и переименуйте файл efi вашего источника в «bootx64.efi».Microsoft
Папка: содержит загрузочные файлы Windows EFI. Существует несколько файлов efi, но основным является "efibootmgfw.efi". Я уверен, что это используется Windows для загрузки.Ubuntu
Папка: содержит файл Ebui Ubuntu или Mint. Есть несколько.efi
файлов, но основнойgrubx64.efi
что делать?
Уже есть некоторые параметры загрузки, которые устанавливаются во время установки операционной системы. Тем не менее, они могут быть недоступны из параметров загрузки BIOS по различным причинам, таким как удаление и переустановка жесткого диска или установка новой операционной системы или даже нового аккумулятора материнской платы. Есть два решения для восстановления параметров загрузки.
(Не рекомендуется) Как описано в некоторых ответах, мы можем заменить работающий вариант загрузки на тот, который не работает. Но проблема остается в другом.
Зарегистрируйте отсутствующий файл загрузчика EFI вручную.
Как сделать?
Загрузка с загрузочной флешки Linux (я использую загрузочную флешку Linux Mint). Это должно быть EFI USB. (GPT USB, который может быть создан такими программами, как rufus)
Смонтируйте раздел EFI, ваш дистрибутив может сделать это автоматически. Пропустите этот шаг, если
/boot
он доступен и показывает структуру, аналогичную приведенной выше. Современные Ubuntu должны сделать это для вас.Найдите адрес вашего раздела EFI. Это может быть сделано с помощью
parted
команды илиDisks
программы. Обычно это первый или второй раздел загрузочного диска. (/dev/sda1
Или/dev/sda2
) Этот раздел обычно составляет от 100 МБ до 200 МБ с FAT32 и типом раздела EFI System.Смонтируйте раздел EFI. Вы можете использовать
df
команду, чтобы проверить, смонтирован ли раздел раньше.Если раздел не был смонтирован ранее (не показано в предыдущей команде) Смонтируйте раздел с помощью
mount
команды:Теперь, если вы просматриваете,
/boot/efi
вы увидите структуру файла, похожую на мою, описанную выше. Проверьте, можете ли вы найти папку с вашей потерянной операционной системой. В моем случае биос компьютера мог видеть только вариант загрузки Windows, однако у меня также была опция загрузки Grub Linux Mint.(Не рекомендуется) Мой вариант загрузки Windows работал, поэтому сначала для целей тестирования я сделал резервную копию папки Microsoft, которая содержит кучу файлов вместе с загрузочным EFI-файлом Windows. (
bootmgfw.efi
) Затем я переименовал папку Ubuntu в Microsoft, затем я переименовалgrubx64.efi
вbootmgfw.efi
. После перезагрузки вместо загрузки в Windows загружается меню grub, однако в этот раз загрузка в windows была возможна только с grub. И прямая загрузка в windows была невозможна.( Рекомендуемый способ ) Просто напишите адрес efi-файла, который вы хотите, чтобы соответствующая операционная система была отображена в параметрах загрузки BIOS. В моем случае Linux Mint отсутствовал в списке загрузки BIOS компьютера. Адрес его файла
/efi/ubuntu/grubx64.efi
EFI был относительно корня раздела EFI. Затем я зарегистрировал его в NVRAM с помощью команды efibootmgr .в
p 1
части команды 1 определяет номер раздела efi на данном диске.nameForBootOption
это пользовательское имя, данное опции загрузки* Позаботьтесь, чтобы написать правильный адрес. При монтировании раздела в linux. Он монтирует раздел в какую-то папку под корнем, что расширяет реальный адрес до чего-то вроде,
/media/mint/CC1F-9708/EFI/ubuntu
но нам нужно только дать/EFI/ubuntu
часть.*
Disks
программа - замечательный графический инструмент, который по умолчанию находится на загрузочной флеш-памяти Linux Mint. Его можно использовать для проверки и поиска раздела EFI, а также для монтирования раздела EFI без использования команды mount или parted. Вам нужно только найти его в меню, Настройки, Диски.источник
Вы подвержены этой ошибке: https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1091477
Решение:
источник
Я столкнулся с подобной проблемой после установки Cent-OS 7 поверх Windows 10. Вот нижеприведенный процесс, которому я следовал.
проблема: загружалась windows 10 и даже не отображалось загрузочное меню центов ОС.
Теперь ваша система загрузится в centos UEFI
так как мы включили устаревшую загрузку, мы можем выбрать клавишу Esc, чтобы перейти к BIOS или другим параметрам загрузки
источник
Я нашел способ заставить мой HP Pavilion g7-2269wm (UEFI) загружать rEFInd (GRUB также возможен) без замены
bootmgfw.efi
на rEFInd или GRUBЯ установил rEFInd и добавил rEFInd в список менеджеров загрузки, используя
sudo efibootmgr -c -d /dev/sda -p 2 -L "rEFInd" -l "\EFI\refind\shimx64.efi"
Перезагрузка с помощью F9, чтобы выбрать rEFInd, а затем выбрал Ubuntu.
Затем переименован
bootmgfw.efi
вbootmgfwms.efi
использованиеЗатем я перезагрузился, и он перезагрузился в rEFInd без использования F9. Запись Windows 10 теперь отсутствовала, поэтому я выбрал Ubuntu.
Затем, чтобы вернуть запись Windows 10, я запустил
Затем я перезагрузился, и REFInd приходит без нажатия клавиши F9, и Windows 10 отображается как запись.
источник
Это еще один ответ для Майрабка для тех, кто, как Винс или я, не может загрузиться в 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 так:
Сохраните это и сделайте
перезагрузиться в windows ...
источник
На своем ноутбуке HP я сделал шаг за шагом:
1 - загрузиться в Ubuntu с F9
2 - Проверьте, где находится загрузчик Windows
В моем случае
/boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
3 - Резервный файл .efi:
4 - Замените оригинальный файл .efi на файл Ubuntu ( хитрость ):
5 - Добавить windows 10 menuentry на grub. Откройте
/etc/grub.d/40_custom
и добавьте этот пункт меню в конец файла:6 - Сохранить
40_custom
и:7 - на биосе отключить безопасную загрузку (не уверен, нужна ли она)
8 - Если все прошло нормально, по умолчанию загрузится на Ubuntu и Windows 10 будет другой опцией в grub.
Это было проще, чем я думал.
источник
sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
работал отлично.У меня ноутбук HP 2018 года, 14 дюймов с Windows 10 и двойной загрузкой Ubuntu. Раньше я нажимал F9, чтобы выбрать, какую операционную систему я хотел, и я делал уже несколько недель.
Решение:
Завершите работу и нажмите F10, чтобы войти в BIOS
Перейдите к той части BIOS, в которой указан порядок загрузки.
Нажмите ввод в диспетчере загрузки ОС.
используйте F5 или F6 для переключения Ubuntu с Windows.
Сохранить и выйти.
источник
Это НЕ проблема Windows! Микропрограмма HP полностью глючная, поскольку она не использует (или даже не поддерживает должным образом) переменную UEFI firmare "BootOrder". Я думаю, что единственное решение этой проблемы - заменить файл загрузчика Windows (как некоторые уже упоминали) на ваш grub.efi.
источник
Мой сценарий похож на сообщение Августа 19 августа 15: 15: 20: «У меня есть несколько мини-башен HP Pavillion Slimline 400-314, мне не понадобилась предустановленная Windows 8, поэтому я сразу же переделил жесткий диск и установил Ubuntu 14.04 и Grub2.
К сожалению, меню BIOS Pavillion чрезвычайно ограничено в конфигурации загрузки. У этого нет большинства из причудливых выборов, которые большинство других описывают здесь. Даже попытка изменить порядок загрузки не удается.
ЕДИНСТВЕННОЕ решение, которое я получил, - это использовать обходной путь «альтернативного именования», как описано в разделе «Альтернативные решения для именования» этого блога .
источник
Я подтверждаю, что действия @Vitor Abella решили проблему двойной загрузки для моего ноутбука HP 2000, за исключением того, что мне нужно будет выполнить одно из следующих действий (как упомянуто @mairabc):
или
источник
Если вы не хотите перемещаться по загрузочным файлам , попробуйте изменить последовательность загрузки вручную:
Зайдите в Ubuntu вручную и проверьте текущую последовательность загрузки и их ID:
затем измените последовательности загрузки, используя -o и ID (в порядке загрузки слева направо):
Пример :
1. Показать текущие настройки загрузки
2.Измените порядок загрузки (сначала мы хотим запустить Ubuntu, который покажет загрузочное меню при запуске):
обратите внимание, что первая попытка вызвала ошибку, так как не удалось найти Boot2003 (диск с флоппи-диском?), Как вы видите, это воссоздан после перезагрузки, хотя.
3.Reboot. Теперь должно появиться меню загрузки. (2003 добавляется автоматически):
источник
Мое решение реализовано после того, как я узнал, что grub4dos загружается
сделать эту запись в
men.lst
источник
После установки Ubuntu 14.04 64 bit на ноутбуке HP-15-r248nf с Windows 8, обновленной до 10, что произошло гладко, помимо проблемы с разрывом соединения Wifi с драйвером Realtek Wifi (решена с помощью
echo "options rtl8723be fwlps=N ips=N" | sudo tee /etc/modprobe.d/rtl8723be.conf
), компьютер все еще загружался под Windows.Ubuntu через grub стал доступен только при использовании клавиши ESC на этапе загрузки. boot-repair не помогло, на самом деле в grub было установлено довольно много опций, но grub все еще не был доступен напрямую.
Фактически было просто необходимо изменить порядок загрузки по умолчанию.
Теперь вы будете перенаправлены на grub, где вы выбрали опцию Ubuntu, отмеченную звездочкой сверху, которая будет загружаться автоматически после небольшой задержки.
источник
Решил проблему с загрузкой EFI следующим образом:
efibootmgr -o
Опция переписывается после перезагрузки, так что это не будет работать.Тем не менее, я узнал, что
-n
вариант делает. Поэтому в режиме реального времени запустите usb-ubuntuefibootmgr
и найдите четырехзначный номер для Ubuntu и загрузите его с помощью-n
опции. Затем, чтобы иметь возможность перезагрузиться из вашей системы, сделайте такой скрипт:Замена
0000
с записью Ubuntu. Запускcrontab -e
позволит вам редактировать свой хрон. Добавьте следующую строку:он выполнит скрипт
efibootsj
(или как там его имя) после загрузки компьютера.источник