18.04 LTS: проблема с двойной загрузкой на Acer Swift 3 315-41

18.04 LTS: проблема с двойной загрузкой на Acer Swift 3 315-41

Я установил последнюю версию Ubuntu со стандартной процедурой двойной загрузки вместе с предустановленной Windows.

Полученные разделы:

Disk /dev/nvme0n1: 238.5 GiB, 256060514304 bytes, 500118192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 1FD93AC5-481F-46E4-8743-4C1B0493E4D3

Device             Start       End   Sectors   Size Type
/dev/nvme0n1p1      2048    206847    204800   100M EFI System
/dev/nvme0n1p2    206848    239615     32768    16M Microsoft reserved
/dev/nvme0n1p3    239616 217887637 217648022 103.8G Microsoft basic data
/dev/nvme0n1p4 498020352 500117503   2097152     1G Windows recovery environment
/dev/nvme0n1p5 217888768 498020351 280131584 133.6G Linux filesystem

Partition table entries are not in disk order.

Сначала я настроил последовательность загрузки в UEFI с Ubuntu (grub).

Итоговая конфигурация EFI:

Timeout: 0 seconds
BootOrder: 0001,0002,2001,2002,2003
Boot0001* ubuntu
Boot0002* Windows Boot Manager
Boot2001* EFI USB Device
Boot2002* EFI DVD/CDROM
Boot2003* EFI Network

При загрузке grub обычно появляется с выбранным по умолчанию вариантом "ubuntu". Другой вариант - "Windows Boot Manager".

Ubuntu запускается нормально, и если я выключаю систему и перезапускаю ее позже, все продолжает работать. Но если я пытаюсь перезагрузиться из Ubuntu, появляется экран «no boot device» и мне приходится жестко выключать кнопкой питания. При следующем запуске Windows загрузится напрямую (без прохождения через grub). Если я затем зайду в UEFI Bios, порядок загрузки инвертируется, и сначала идет Windows. Мне приходится инвертировать его заново, чтобы снова запустить Ubuntu, что довольно раздражает.

Fastboot был отключен в Windows. Когда я загружаю Windows из grub и затем перезагружаюсь из Windows, машина теперь нормально переключается на grub. Так что единственное, что не работает, это перезагрузка из ubuntu.

Что меня озадачивает, так это то, что efibootmgr не показывает раздел Boot0000, как во всех примерах, которые я видел. Может быть, это не имеет никакого отношения к моей проблеме, но это единственное отличие, я вижу.

Я могу только предположить, что при перезагрузке Ubuntu система пытается загрузиться напрямую с /dev/nvme0n1p5 (файловая система Linux), которая вообще не отмечена как загрузочная. Но я не могу найти никаких настроек, которые бы влияли на это поведение.

Есть еще идеи? Спасибо большое заранее.

Более подробная информация:

root@JensNewLap:/boot/efi/EFI# ls -la
insgesamt 7
drwx------ 7 root root 1024 Jun  9 13:02 .
drwx------ 4 root root 1024 Jan  1  1970 ..
drwx------ 2 root root 1024 Jun 13 19:25 Boot
drwx------ 2 root root 1024 Jun  9 13:02 Insyde
drwx------ 4 root root 1024 Mär 28 15:48 Microsoft
drwx------ 4 root root 1024 Jun 10 15:50 OEM
drwx------ 3 root root 1024 Jun  6 23:33 ubuntu
root@JensNewLap:/boot/efi/EFI# ls Boot/
bootx64.efi  fbx64.efi
root@JensNewLap:/boot/efi/EFI# ls Insyde
root@JensNewLap:/boot/efi/EFI# ls Microsoft
Boot  Recovery
root@JensNewLap:/boot/efi/EFI# ls OEM
Boot  Recovery
root@JensNewLap:/boot/efi/EFI# ls ubuntu
BOOTX64.CSV  fw  fwupx64.efi  grub.cfg  grubx64.efi  mmx64.efi  shimx64.efi
root@JensNewLap:/boot/efi/EFI# 

Мой grub.cfg

решение1

Кажется, есть обходной путь. Мне нужно указать параметр загрузки ядра "reboot=pci". Для этого можно отредактировать /etc/default/grub:

GRUB_CMDLINE_LINUX="reboot=pci"

и обновите grub:

sudo update-grub

Вот и всё. Перезагрузка, похоже, длится довольно долго, но, по крайней мере, она работает.

Возможно, стоит подать сообщение об ошибке в ядре Linux для добавления записи вперезагрузить_dmi_table?

Связанный контент