Не может загрузиться без USB, установки личинки и восстановления начальной загрузки оба отказавшие

Обновление № 4: Как предсказано сброс порядка загрузки не работал: sudo efibootmgr -o 4,0,1,2 ничего не сделал.

Обновление № 3: Посмотрите нижнюю часть

Обновление № 2: Мог бы быть из-за проблемы HP. См. ответ Rod. Этот вопрос остается неразрешенным.

Обновление: Я сделал Восстановление начальной загрузки, и оно не работало. Посмотрите нижний раздел для деталей.


Я просто установил Ubuntu 16.04.2, LTS на новом HP EliteBook 2017 года с Ubuntu загружают USB. Я стер Windows на нем, чтобы просто иметь Ubuntu. Однако запуск (см. больше информации о UEFI ниже) не мог найти операционную систему, если я не вставил USB.

Таким образом на основе этого ответа я попробовал:

sudo grub-install /dev/sda

Но я получил ошибку:

Установка для платформы i386-ПК.
установка личинки: ошибка: не удалось получить канонический путь 'aufs'.

Затем я попробовал предложение из этого ответа, который дал ту же ошибку.

sudo grub-install /dev/sda2

Поскольку я хотел на самом деле установить его на своем жестком диске, который определяется:

sudo fdisk -l

Device      ... Size       Type
/dev/sda1       512M       EFI System
/dev/sda2       208.1G     Linux filesystem
/dev/sda3       15G        Linux swap

Но я не мог grep для начальной загрузки в sudo fdisk -l.

Я думаю, что проблемой мог бы быть мой корень, /, идет aufs, на основе этой команды:

> df
Filesystem   .. ... Mounted on

udev                /dev
aufs                /

Подробнее:

  • Ноутбук имеет SSD на 200 ГБ
  • Когда я установил Ubuntu, она дала мне предупреждение, говоря, что UEFI мог бы повредить операционные системы BIOS. Я оставил начальную загрузку как Гибридную Начальную загрузку вместо Наследия, потому что, если я использую Наследие, оно даже не распознает Карту памяти Ubuntu. Затем я вызываю установленный UEFI во время установки Ubuntu. (Когда это все еще имело Windows 10, это, возможно, использовало BIOS, я не мог получить категорический ответ.)

Обновление: Я попробовал восстановление начальной загрузки "восстановлением начальной загрузки установки в Ubuntu" опция, получил этот paste2, закрытие, вынул мой USB, включенный, и добрался:

BootDevice Not Found

Please install an operating system on your hard disk.

Что я должен сделать теперь?


Обновление № 3:

Вот результаты sudo efibootmgr и df в Попытке включается Ubuntu с USB.

<code>sudo efibootmgr</code> and <code>df</code> in Try Ubuntu

Вопросы:

  1. Очевидно я должен измениться так, чтобы порядок загрузки не переходил к USB сначала и Ubuntu в последний раз. Как я перемещаю его вверх?

  2. Если могли бы быть проблемы с .efi файлом. Я смущен того, что точно я должен переименовать и как. В настоящее время у меня есть своя начальная загрузка USB, смонтированный в / CD-ROM. Но в/cdrom/EFI существует только BOOT. Внутри/cdrom/EFI/BOOT там являются этими файлами:

    BOOTx64.efi 
    grubx64.efi
    

    2a. Я должен так или иначе измениться, SUB монтируются от / CD-ROM до/mnt?

    2b. Какой файл я должен переименовать и в какой? Поскольку...

    ubfan1 говорит, "переименовывают/EFI/ubuntu/shimx64.efi к/EFI/ubuntu/bootmgfw.efi

    "Как нейтрализация, которую я рекомендую, настраивают дисковый загрузчик,/EFI/Boot/bootx64.efi как копия/EFI/ubuntu/shimx64.efi. Так как shimx64.efi нужен grubx64.efi в том же каталоге, копии/EFI/ubuntu/grubx64.efi к/EFI/Boot/grubx64.efi

    "Вы действительно находили ту же самую установку используемой на медиа установки-/cdrom/EFI/BOOT/BOOTx64.efi является на самом деле копией shimx64.efi. Это то, как начальные загрузки медиа установки с помощью ее загрузчика по умолчанию в режиме UEFI.

    и

    Rod Smith говорит в комментарии, "необходимо изучить hackish обходное решение переименования основного файла загрузчика или диспетчера начальной загрузки как EFI/BOOT/bootx64.efi".

    Я смущен

2
задан 3 May 2017 в 06:48

2 ответа

Похоже, что восстановление начальной загрузки действительно добавляло запись загрузки человечности shimx64 как объект 0004 в последнем выполнении efibootmgr в Вашей ссылке вставки. 0004 отсутствовал в более ранних выполнениях efibootmgr (в Вашей вставке).
VVVV
Редактирования Ваше последнее ручное выполнение efibootmgr однако не имеет 0004 в bootorder, даже при том, что объект перечислен. Добавьте его сами:

sudo efibootmgr --bootorder 0004,0000,0001,0003,0002

Начальные нули являются дополнительными, но вышеупомянутое использование записи, поскольку их показывают.
Edit^^^^

Однако это - HP с некоторым поставщиком определенные тонкие настройки к UEFI, которые повреждают стандартную установку - в основном добавление определенного утвержденного имени, которое загрузчик должен иметь (Windows Boot Loader). Кроме того, имя файла загрузчика должно быть bootmgfw.efi. efibootmgr, может использоваться для переименования записи загрузчика:

sudo efibootmgr -b 0004 -l /EFI/ubuntu/bootmgfw.efi -L "Windows Boot Loader"

и просто переименовывают/EFI/ubuntu/shimx64.efi к VVVV
редактирования/efi/ubuntu/bootmgfw.efi
, переименовывание является файлом на жестком диске. Ваш df показывает, что EFI жесткого диска, sda1, не смонтирован нигде, поэтому пока Вы не монтируете его, Вы не можете даже видеть / каталог EFI, который появится, где Вы монтируете его. Ничего не касайтесь в соответствии с / каталогом CD-ROM.
^^^^

редактирования, Который должен работать (ищут этот сайт проблемы HP UEFI, но я думаю, что это суммирует решение).

Редактирование VVV Монтируют раздел EFI жесткого диска в/mnt

sudo mount -tvfat /dev/sda1 /mnt

Теперь под/mnt, необходимо видеть каталог EFI раздела жесткого диска sda1. Все модификации сделаны в эти файлы/mnt/EFI/ubuntu/... и/mnt/EFI/Boot/...
^^^

Редактирования, Поскольку нейтрализация, которую я рекомендую, настроила дисковый загрузчик,/mnt/EFI/Boot/bootx64.efi как копия/mnt/EFI/ubuntu/shimx64.efi. Так как shimx64.efi нужен grubx64.efi в том же каталоге, копии/mnt/EFI/ubuntu/grubx64.efi к/mnt/EFI/Boot/grubx64.efi

, Что загрузчик нейтрализации может работать независимо от nvram записи загрузки и сохранит Вашу работу начальной загрузки, если что-то решает изменить список начальной загрузки nvram.

<час>

Некоторое время назад, у меня была двойная загрузка, безопасная начальная загрузка включила хост с человечностью/контейнером как первая nvram запись, и после создания установки медиа на карте с интерфейсом USB, shimx64 запись была изменена на grubx64.efi (который, конечно, успешно не загрузится с безопасной включенной начальной загрузкой). UEFI имеет другие более серьезные проблемы, когда медиа установки USB создаются, таким образом, я в конечном счете изменил свою систему по умолчанию для выполнения в режиме прежней версии.
, Что Вы нашли на медиа установки,/cdrom/EFI/BOOT/BOOTx64.efi является на самом деле загрузочным файлом для USB. Не изменяйте его, так как это работает. Обратите внимание, что BOOTx64.efi является просто копией shimx64.efi. Это то, как начальные загрузки медиа установки с помощью ее загрузчика по умолчанию в режиме UEFI. Эта точная установка (хорошо, нечувствительный к регистру) - то, что Вы ставите жесткий диск как нейтрализацию.

<час>

, Если sudo монтируют сбои/dev/sda1/mnt, потому что "он уже смонтирован" затем использование df для наблюдения, где, но это нечетно, если Вы не сделали этого. Это не/cdrom/EFI, это - каталог (но другой источник для bootx64.efi и grubx64.efi для помещения на жесткий диск). Возможно, диски были повторно перечислены, и жесткий диск стал sdb, оставив sda USB. Посмотрите то, что говорит df, и измените монтирование на/dev/sdb1, если это так.

0
ответ дан 3 May 2017 в 16:48
  • 1
    Спасибо за справку, как только я выполняет комментарий, я получаю ошибку: sudo: aptitude: assignment not found – gaming4all plays 15 February 2019 в 21:55
sudo grub-install /dev/sda

Но я получил ошибку:

Installing for i386-pc platform.
grub-install: error: failed to get canonical path of `aufs'.

Знаете ли Вы это или нет, передавая /dev/sda устройство к grub-install подразумевает установку версии режима BIOS GRUB. (Конечно, Вы, возможно, передали ту опцию по ошибке.) Аналогично, ответ, который GRUB пытается установить для i386-pc platform также подразумевает режим BIOS установка GRUB. Я не знаю бесцеремонно что failed to get canonical path ofaufs'' передают средства. Версия режима BIOS GRUB, тем не менее, очень важна, потому что....

sudo fdisk -l

Device      ... Size       Type
/dev/sda1       512M       EFI System
/dev/sda2       208.1G     Linux filesystem
/dev/sda3       15G        Linux swap

Присутствие Системного раздела EFI (ESP) подразумевает, что диск настраивается для начальной загрузки в режиме EFI, не в режиме BIOS. (Как примечание стороны, Вы ясно сократили строки вывода от Вашего fdisk команда. Вы не должны делать этого, когда Вы обращаетесь за помощью. Эти строки могли бы быть полезными в диагностировании Вашей проблемы, хотя они, вероятно, избыточны в этом конкретном случае.)

Подавляющее большинство новых компьютеров сегодня поставлется настроенный для начальной загрузки в режиме EFI по умолчанию. Можно включить поддержку BIOS/CSM/legacy-mode во встроенном микропрограммном обеспечении, и некоторые инструкции по установке Ubuntu и Linux рекомендуют делать так; однако, в большинстве случаев это - плохой совет. Посмотрите мою страницу на предмете для получения информации о почему. Неясно, внесли ли Вы эти изменения сами; очевидное присутствие версии режима BIOS GRUB в Вашей установке Ubuntu предполагает, что Вы установили в режиме BIOS; однако, разбиение дисков на разделы предполагает, что Вы установили в режиме EFI.

Так как это - новая установка, моя рекомендация состоит в том, чтобы настроить Ваше встроенное микропрограммное обеспечение, чтобы загрузиться только в режиме EFI и затем установить загрузчик режима EFI. Существует много способов сделать это. Самые легкие три:

  • Используйте Восстановление Начальной загрузки - Если можно заставить диск чрезвычайной ситуации Ubuntu загружаться в режиме EFI, оно должно смочь переустановить GRUB (в режиме EFI), и Вы будете хороши пойти. Инструмент Boot Repair может сделать это полуавтоматически; однако, необходимо выполнить его от начальной загрузки режима EFI, чтобы быть успешными. Если Вы переключились на начальную загрузку режима BIOS для работы вокруг проблем, загружающих носитель установки Ubuntu, Вы, возможно, должны воссоздать свой носитель установки Ubuntu или иначе работать вокруг той проблемы загрузки сначала. Посмотрите мою страницу на CSM, на который ссылаются ранее, для больше на этом предмете.
  • Используйте повторно находят - можно загрузить использующее компьютеры CD-R или версия карты флэш-памяти с интерфейсом USB моего диспетчера начальной загрузки перенаходки. (Ссылки на загрузку для обоих находятся на той странице.), После того как Вы загрузились, можно установить перенаходку пакет Debian или PPA. Необходимо затем смочь перезагрузить и использовать, повторно находят, а не GRUB, для управления процессом начальной загрузки.
  • Переустановите Ubuntu - Если Вы реконфигурировали (при необходимости) встроенное микропрограммное обеспечение для начальной загрузки в режиме EFI и можете заставить установщик загружаться в том режиме, переустанавливание Ubuntu является другой опцией. Это - излишество, но это может быть легче, чем попытка зафиксировать Вашу текущую установку, учитывая, что это является новым.

Править:

От Вашего вывода Восстановления Начальной загрузки существуют некоторые ключи к разгадке причины проблемы:

File system:       vfat
Boot sector type:  FAT32
Boot sector info:  No errors found in the Boot Parameter Block.
Operating System:  
Boot files:        /EFI/Boot/bootx64.efi /EFI/ubuntu/MokManager.efi 
                   /EFI/ubuntu/fwupx64.efi /EFI/ubuntu/grubx64.efi 
                   /EFI/ubuntu/shimx64.efi 
                   /EFI/Microsoft/Boot/bootmgfw.efi 
                   /EFI/Microsoft/Boot/bootx64.efi

Отметьте в особенности присутствие загрузочных файлов Microsoft (/EFI/Microsoft/Boot/bootmgfw.efi и /EFI/Microsoft/Boot/bootx64.efi). Эти файлы предполагают, что Вы не удалили ESP, таким образом, файлы загрузчика Windows, кажется, скрываются вместе с Вашей установкой Ubuntu. Кроме того, проверьте efibootmgr вывод:

=================== efibootmgr -v
BootCurrent: 0000
Timeout: 0 seconds
No BootOrder is set; firmware will attempt recovery
Boot0000* USB Hard Drive 1 - Generic Mass Storage   BBS(HD,,0x900).......................................................................
Boot0001* Notebook Hard Drive   BBS(HD,,0x0).......................................................................
Boot0002* Notebook Ethernet BBS(128,,0x0).......................................................................
Boot0003* Windows Boot Manager  HD(1,GPT,2c19863f-1ed0-476e-a8e9-6d316ca2c4bb,0x800,0x32000)/File(EFIMicrosoftBootbootmgfw.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.}...a................
Boot0004* ubuntu    HD(1,GPT,17667422-8dfe-45ba-9baa-5458a67b71db,0x800,0x100000)/File(EFIubuntushimx64.efi)

Запись загрузки Windows все еще присутствует там также, который не удивителен; однако, действительно смешанный бит является отчетом это No BootOrder is set; firmware will attempt recovery. Рабочий EFI полагается на названную переменную BootOrder определить порядок, в котором будут запущены загрузчики. Эта переменная отсутствует на Вашем компьютере. Я видел ту же проблему на довольно старом ноутбуке HP 6470b, которым я владею, и независимо от того, что я пробую, я не мог создать эту переменную. В любом случае вероятный результат состоит в том, что компьютер пытается запустить любого загрузчик нейтрализации (EFI/BOOT/bootx64.efi) или загрузчик Microsoft (EFI/Microsoft/Boot/bootmgfw.efi). Если бы запущенный загрузчик является исходным загрузчиком Microsoft, то он выключился бы в этой точке, потому что Windows не установлен. При копировании чего-то еще в те файлы (сознательно или не), это могло бы выключиться, если его файлы поддержки также не присутствуют.

Так как Вы говорите, что Ваш компьютер является новым, моя первая рекомендация состоит в том, чтобы возвратить компьютер в хранилище для возмещения и купить что-то еще. Проблемой может быть демонстрационный дефект (плохая микросхема NVRAM и т.п.), или это могла быть ошибка во встроенном микропрограммном обеспечении HP. Если первый, новая версия того же компьютера могла бы работать; но если это будет ошибочное встроенное микропрограммное обеспечение, то новый компьютер ничего не сделает. (OTOH, если это - ошибочное встроенное микропрограммное обеспечение, существует небольшой шанс, что микропрограммное обновление решит проблему. Сброс микропрограммных опций к их значениям по умолчанию мог бы также помочь.) При возврате компьютера хранилищу для возмещения, убедиться сказать HP, Вы сделали это, и почему. Производители продолжат продавать дефектные продукты, если они не будут сделаны знающий о том, что они делают так, и они берут некоторую боль (в форме возвратов) для того, чтобы сделать так.

Если Вы отказываетесь получать неповрежденный компьютер, необходимо иметь дело с ним. Лучший способ состоит в том, чтобы удалить те файлы загрузчика Windows из ESP и скопировать GRUB в имя файла нейтрализации EFI/BOOT/bootx64.efi. (В том месте уже существует файл, но не ясно, является ли это другой копией GRUB, другой копией загрузчика Windows или чего-то еще.) необходимо будет скопировать grub.cfg и возможно другие файлы от EFI/ubuntu кому: EFI/BOOT, также. При использовании Восстановления Начальной загрузки существует опция на ее странице Advanced, которая сделает это полуавтоматически.


РЕДАКТИРОВАНИЕ 2:

Можно изменить порядок загрузки с помощью -o опция к efibootmgr, как в:

sudo efibootmgr -o 4,0,1,2

Этот пример должен сохранить существующие записи загрузки показанными, но добавить ubuntu запись в переднюю сторону. В теории это сделает GRUB программой начальной загрузки по умолчанию, и все должно затем начать работать. Можно узнать больше efibootmgr путем ввода man efibootmgr. (Тот же прием работает на другие команды; например, man ls скажет Вам о ls команда.)

Тем не менее то, что у Вас было несуществующее BootOrder переменная в запуске делает меня скептически настроенным, это будет работать; я подозреваю, что существует что-то облупленное о Вашем EFI, который заставит его перестать работать. (Оба исходная установка Ubuntu и Восстановление Начальной загрузки должны были добавить ubuntu запись в запуск BootOrder переменная, принимая они были выполнены в режиме EFI - и Восстановление Начальной загрузки произвело Вас, показал не, показал загрузчика режима BIOS на Вашем диске, который подразумевает, что они были выполнены в режиме EFI.)

Существует два Системных Раздела (раздела) EFI или разделы, которые заполняют ту цель в Вашей системе, и я думаю, что Вы получаете их перепутанный:

  • На жестком диске - ESP на Вашем жестком диске /dev/sda1, согласно Вашему выводу Восстановления Начальной загрузки. Этот раздел должен быть смонтирован в /boot/efi когда Вы загружаете Ubuntu на своем жестком диске; но когда Вы используете носитель установки Ubuntu в "попытке прежде, чем установить" режим, это или не будете автоматически смонтированы, или это будет смонтировано где-то в другом месте в подкаталоге /media, IIRC.
  • На носителе установки - Это не технически ESP, но /dev/sdb1 на Вашей установке носитель выполняет ту же роль. Это содержит EFI/BOOT каталог с различными загрузочными файлами. Корректировка этих файлов бессмысленна в лучшем случае по крайней мере, в Вашем случае, потому что Вы хотите получить систему, загружающуюся к установленной ОС, не используя Ваш носитель установки.

Если Вы загружаетесь с установочным диском, изменение файлов на ESP Вашего жесткого диска требует монтирования ESP и затем изменения тех файлов. Вы сделали бы что-то вроде этого:

sudo mkdir -p /mnt/foo
sudo mount /dev/sda1 /mnt/foo
cd /mnt/foo/EFI
sudo mv Boot Boot-old
sudo cp -r ubuntu BOOT
sudo mv BOOT/shimx64.efi BOOT/bootx64.efi

Обратите внимание, что опечатки (мной или Вами) могли заставить этим командам не удаться работать как ожидалось, и такая ошибка могла даже усугубить положение. Если это будет работать, то эта последовательность команд скопирует Контейнер (который обрабатывает аутентификацию Защищенной загрузки) к имени файла нейтрализации EFI/BOOT/bootx64.efi. Контейнер затем запустит GRUB (grubx64.efi), который продолжает процесс начальной загрузки. Если efibootmgr -o управляйте, чтобы я представил, ранее не работает, эта последовательность должна получить системную начальную загрузку.

Вне этого Вы задаете много довольно основных вопросов, которое превращает этот вопрос и его ответы в запутанную сеть. Я предлагаю, чтобы Вы сделали некоторое внешнее чтение:

После того как Вы понимаете некоторые из этих основ, можно вытащить больше из ответов сюда - но знать, что мы путешествовали вниз несколько тупиков из-за неполной начальной информации и неправильных предположений. Если у Вас все еще есть проблемы после чтения по крайней мере некоторых предыдущих, я рекомендую задать новые вопросы или взять обсуждение к форумам Ubuntu, которые лучше настраиваются для назад и вперед обсуждений. (Этот сайт предназначается для ответа на относительно простые вопросы, не продолжая расширенные обсуждения.)

2
ответ дан 2 December 2019 в 02:47

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

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