Я пытаюсь для отладки проблемы с 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.
Новое оборудование основано на 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