AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1294353
Accepted
MakisH
MakisH
Asked: 2020-11-23 03:09:40 +0800 CST2020-11-23 03:09:40 +0800 CST 2020-11-23 03:09:40 +0800 CST

了解我的 /boot/efi/ 树

  • 772

我正在尝试调试我遇到的 fwupd 问题,但首先我想了解当我尝试启动我的 Ubuntu 20.10 时我的 ThinkPad T470 上的 UEFI 在做什么。

这是我的/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 驱动器。当我启动我的系统时,我收到一个警告System bootloader not found, initializing defaults.。然后我的系统从 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)

的 UUIDEFI/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。

boot thinkpad uefi fwupd 20.10
  • 1 1 个回答
  • 4790 Views

1 个回答

  • Voted
  1. Best Answer
    oldfred
    2020-11-23T11:39:36+08:002020-11-23T11:39:36+08:00

    新硬件基于 UEFI,然后应在 UEFI 引导模式下安装 Ubuntu(和 Windows,如果未预装)。Microsoft 要求供应商对 UEFI 安装进行 gpt 分区,但 Ubuntu 将允许 UEFI 安装到 MBR(msdos) 分区驱动器,但可能不应该。

    你可以看到这些分区:

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

    UEFI 从 UEFI 启动条目启动,但要查看使用了哪些分区/文件的详细信息,您可以运行它,它显示 ESP - efi 系统分区的 GUID/partUUID:

    sudo efibootmgr -v
    

    然后在 ESP 中有一个 3 行 /EFI/ubuntu/grub.cfg 作为配置文件,用于在安装的 /(根)分区(或 /boot 如果单独的分区)中加载完整的 grub.cfg。

    ESP 至少应该有两个文件夹,/EFI/Boot 和 /EFI/ubuntu。Windows 添加 /EFI/Microsoft。这些文件夹包含引导文件。/EFI/Boot 是一个备用或驱动器引导条目,它是来自 grub 的 shimx64.efi 的副本,或者如果是 Windows,它是其 bootmgfw.efi 引导文件的副本。

    所以boot是UEFI,到ESP,来安装。

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

    https://superuser.com/questions/496026/what-is-the-difference-in-boot-with-bios-and-boot-with-uefi

    示例 /EFI/ubuntu/grub.cfg

    双启动 14.04 / 17.04 丢失 grub 菜单

    • 4

相关问题

  • grub 菜单中的“恢复”选项是什么?

  • 用户如何避免在启动时输入密码?[关闭]

  • 更改 Wubi 的启动顺序

  • 如何在 Ubuntu 启动时显示或隐藏启动消息?

  • 如何避免启动时出现“S to Skip”消息?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve