Общие сведения о моем / boot / efi / tree

Я пытаюсь для отладки проблемы с fwupd , но сначала я хочу понять, что делает UEFI на моем ThinkPad T470s, когда я пытаюсь загрузить Ubuntu 20.10.

Это то, что содержится в моем / boot / efi : ​​

/boot/efi/
└── EFI
    ├── BOOT
    │   ├── BOOTX64.EFI
    │   ├── fbx64.efi
    │   └── mmx64.efi
    └── ubuntu
        ├── BOOTX64.CSV
        ├── fw
        │   ├── fwupd-3b8c8162-188c-46a4-aec9-be43f1d65697.cap
        │   ├── fwupd-7a176688-0960-47ba-931b-7829849e8347.cap
        │   └── fwupd-d95d3ada-eef1-464f-8a2a-a11232b8556b.cap
        ├── fwupdx64.efi
        ├── grub.cfg
        ├── grubx64.efi
        ├── mmx64.efi
        └── shimx64.efi

В настоящее время у меня также установлена ​​более старая версия Ubuntu 16.04, и я использую диск NVMe. Мой порядок загрузки сначала «ubuntu», затем мой диск NVMe. Когда я загружаю свою систему, я получаю предупреждение Системный загрузчик не найден, инициализируются значения по умолчанию. . Затем моя система загружается с устройства nvme, и GRUB позволяет мне загружаться как в Ubuntu 20.10, так и в Ubuntu 16.04.

Похоже, мои параметры загрузки прошивки «Ubuntu» и «Linux-Firmware-Updater» не могут быть загружены (он возвращается в меню загрузки без каких-либо ошибок), поэтому я пытаюсь понять, есть ли у моего / EFI / дерево нормальное или я что-то напортачил.

Нормальна ли структура этого дерева? Должен ли я иметь как EFI / BOOT , так и EFI / ubuntu ? Я что-то делаю не так?


Правка: запрашиваются сведения:

$ sudo efibootmgr -v
BootCurrent: 0019
Timeout: 0 seconds
BootOrder: 0000,0017,0010,0011,0012,0013,0018,001A,001B,001C,001D,001E,0001,0019
Boot0000* ubuntu    HD(3,MBR,0xff767ef,0x64bb800,0x100800)/File(\EFI\ubuntu\shimx64.efi)
Boot0001* Linux-Firmware-Updater    HD(3,MBR,0xff767ef,0x64bb800,0x100800)/File(\EFI\ubuntu\fwupdx64.efi)
Boot0010  Setup FvFile(721c8b66-426c-4e86-8e99-3457c46ab0b9)
Boot0011  Boot Menu FvFile(126a762d-5758-4fca-8531-201a7f57f850)
Boot0012  Diagnostic Splash Screen  FvFile(a7d8d9a6-6ab0-4aeb-ad9d-163e59a7a380)
Boot0013  Lenovo Diagnostics    FvFile(3f7e615b-0d45-4f80-88dc-26b234958560)
Boot0014  Startup Interrupt Menu    FvFile(f46ee6f4-4785-43a3-923d-7f786c3c8479)
Boot0015  Rescue and Recovery   FvFile(665d3f60-ad3e-4cad-8e26-db46eee9f1b5)
Boot0016  MEBx Hot Key  FvFile(ac6fd56a-3d41-4efd-a1b9-870293811a28)
Boot0019* NVMe0 VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,001c199932d94c4eae9aa0b6e98eb8a400)
# (removed a few non-important entries)

UUID EFI / ubuntu / grub.cfg , похоже, не соответствует чему-либо из efibootmgr список:

$ sudo less /boot/efi/EFI/ubuntu/grub.cfg
search.fs_uuid 4be2c650-c96c-4823-a833-28d345042788 root 
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg

BOOT / bootx64.efi и EFI / ubuntu / shimx64.efi кажутся одинаковыми:

$ sudo md5sum /boot/efi/EFI/BOOT/bootx64.efi
78415fb8fb9b909f8029858113f1335f  /boot/efi/EFI/BOOT/bootx64.efi
$ sudo md5sum /boot/efi/EFI/ubuntu/shimx64.efi
78415fb8fb9b909f8029858113f1335f  /boot/efi/EFI/ubuntu/shimx64.efi

Также похоже, что я использую MBR вместо GPT.

0
задан 22 November 2020 в 21:41

1 ответ

Новое оборудование основано на UEFI, а затем Ubuntu (и Windows, если она не предустановлена) должна быть установлена ​​в Режим загрузки UEFI. Microsoft требует разбиения gpt для установки UEFI поставщиками, но Ubuntu разрешит установку UEFI на диски с разделами MBR (msdos), но, вероятно, не должен.

Вы можете увидеть разбиение на разделы следующим образом:

lsblk -o name,mountpoint,label,size,fstype,uuid,partuuid | egrep -v "^loop"
sudo parted -l

UEFI загружается из загрузочных записей UEFI, но чтобы увидеть подробности о том, какой раздел/файлы используются, вы можете запустить это, которое показывает GUID/partUUID ESP — системный раздел efi:

sudo efibootmgr -v

Затем в ESP есть 3-строчный файл /EFI/ubuntu/grub.cfg в качестве файла конфигурации для загрузки полного grub.cfg в раздел установки / (root) (или /boot, если это отдельный раздел).

В ESP должно быть как минимум две папки: /EFI/Boot и /EFI/ubuntu. Windows добавляет /EFI/Microsoft. Эти папки содержат загрузочные файлы. /EFI/Boot — это резервная или загрузочная запись диска, которая является копией shimx64.efi из grub или, если Windows, копией его загрузочного файла bootmgfw.efi.

Итак, загрузка — это UEFI, ESP для установки.

https://en.wikipedia.org/wiki/EFI_system_partition

https://superuser.com/questions/496026/какая-есть-разница-в-загрузке-с-биос-и-загрузкой -with-uefi

Пример /EFI/ubuntu/grub.cfg

двойная загрузка 14.04/17.04 потерянное меню grub

4
ответ дан 22 November 2020 в 19:39

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

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