Ubuntu 18.04.4 + двойная загрузка Windows 10 никакое меню личинки

Мой заголовок одолжен от этого вопроса, который описывает ситуацию очень близко к моему, включая три шага, которые и OP и я сделали без успеха. Однако я использую Ubuntu 18.04.4 живой USB для установки Ubuntu 18.04.4. Напомним, вещи, которые я сделал, главным образом в порядке:

  • получите новый HP Pavilion x360 в почте
  • создайте Ubuntu 18.04.4 живой USB
  • отключите Защищенную загрузку (BIOS) и быстро запуститесь (Windows)
  • перезагрузка в продуктивную среду и установку Ubuntu 18.04.4
  • найдите, что никакое меню Grub не подходит, когда я перезагружаю - Windows продвигается вместо этого.

Восстановление начальной загрузки было неэффективно. Это попросило, чтобы я работал, определенная команда ("bcdedit / устанавливают {bootmgr} путь \EFI\ubuntu\shimx64.efi"), который был также предложен этим ответом AskUbuntu (хотя изменено к "bcdedit/, устанавливает {bootmgr} путь \EFI\ubuntu\grubx64.efi"), но ни одна из этих команд не работала. Другой ответ AskUbuntu предложил редактировать /etc/systemd/system/boot-linux-next.service; Я надеялся, что это будет работать, так как это было характерно для ноутбуков HP Pavilion, но этого также отказавшего. У кого-либо есть решение?

(Примечание: я не учел некоторый вывод восстановления начальной загрузки для препятствия этого вопроса быть слишком длинным.)

0
задан 22 April 2020 в 05:36

1 ответ

Оказывается, что этот ответ на более ранний вопрос действительно работает, в конце концов. Я явно не протестировал предпосылку ответа, что ноутбуки 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.

0
ответ дан 25 April 2020 в 10:42

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

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