Обновление № 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 /
Подробнее:
Обновление: Я попробовал восстановление начальной загрузки "восстановлением начальной загрузки установки в Ubuntu" опция, получил этот paste2, закрытие, вынул мой USB, включенный, и добрался:
BootDevice Not Found
Please install an operating system on your hard disk.
Что я должен сделать теперь?
Обновление № 3:
Вот результаты sudo efibootmgr
и df
в Попытке включается Ubuntu с USB.
Вопросы:
Очевидно я должен измениться так, чтобы порядок загрузки не переходил к USB сначала и Ubuntu в последний раз. Как я перемещаю его вверх?
Если могли бы быть проблемы с .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".
Я смущен
Похоже, что восстановление начальной загрузки действительно добавляло запись загрузки человечности 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, если это так.
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 of
aufs'' передают средства. Версия режима 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. Существует много способов сделать это. Самые легкие три:
Править:
От Вашего вывода Восстановления Начальной загрузки существуют некоторые ключи к разгадке причины проблемы:
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 или разделы, которые заполняют ту цель в Вашей системе, и я думаю, что Вы получаете их перепутанный:
/dev/sda1
, согласно Вашему выводу Восстановления Начальной загрузки. Этот раздел должен быть смонтирован в /boot/efi
когда Вы загружаете Ubuntu на своем жестком диске; но когда Вы используете носитель установки Ubuntu в "попытке прежде, чем установить" режим, это или не будете автоматически смонтированы, или это будет смонтировано где-то в другом месте в подкаталоге /media
, IIRC./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, которые лучше настраиваются для назад и вперед обсуждений. (Этот сайт предназначается для ответа на относительно простые вопросы, не продолжая расширенные обсуждения.)
sudo: aptitude: assignment not found
– gaming4all plays 15 February 2019 в 21:55