Мой заголовок одолжен от этого вопроса, который описывает ситуацию очень близко к моему, включая три шага, которые и OP и я сделали без успеха. Однако я использую Ubuntu 18.04.4 живой USB для установки Ubuntu 18.04.4. Напомним, вещи, которые я сделал, главным образом в порядке:
Восстановление начальной загрузки было неэффективно. Это попросило, чтобы я работал, определенная команда ("bcdedit / устанавливают {bootmgr} путь \EFI\ubuntu\shimx64.efi"), который был также предложен этим ответом AskUbuntu (хотя изменено к "bcdedit/, устанавливает {bootmgr} путь \EFI\ubuntu\grubx64.efi"), но ни одна из этих команд не работала. Другой ответ AskUbuntu предложил редактировать /etc/systemd/system/boot-linux-next.service
; Я надеялся, что это будет работать, так как это было характерно для ноутбуков HP Pavilion, но этого также отказавшего. У кого-либо есть решение?
(Примечание: я не учел некоторый вывод восстановления начальной загрузки для препятствия этого вопроса быть слишком длинным.)
Оказывается, что этот ответ на более ранний вопрос действительно работает, в конце концов. Я явно не протестировал предпосылку ответа, что ноутбуки HP идут со встроенным микропрограммным обеспечением, которые устанавливают запись Windows сначала в порядке загрузки UEFI каждый раз, когда устройство загружается. Однако efibootmgr сделал витрины, помещенные ранее в порядок загрузки, чем Ubuntu, даже после переустановки. После выполнения efibootmgr
узнать BootCurrent 0000 для меня (он может варьироваться), я создал новый сценарий запуска (/etc/systemd/system/boot-linux-next.service
) со следующим содержанием:
[Unit]
Description=Boot Linux next
[Service]
Type=oneshot
# Replace '0' in the next line with the appropriate code. Advice taken from https://askubuntu.com/a/1142709.
ExecStart=/bin/efibootmgr --bootnext 0
[Install]
WantedBy=multi-user.target
и работал sudo systemctl enable --now boot-linux-next.service
. Необходимо обратить внимание на вывод этой команды, чтобы удостовериться, что нет никаких ошибок - кажется, существует различие между Ubuntu 18.04.4 и более поздними версиями Ubuntu, где последние соглашаются с относительными путями для исполняемых файлов (efibootmgr
) но первый требует полного пути (/bin/efibootmgr
). Я смог проверить, что переменная BootNext установлена правильно путем выполнения efibootmgr
; по-видимому, действие выполнения systemctl
заставляет сценарий запуска быть выполненным однажды. Начальная загрузка была нормальна с тех пор, хотя я все еще обеспокоен тем, что могло бы произойти в следующий раз, когда я пытаюсь загрузить Windows.