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
    • 最新
    • 标签
主页 / unix / 问题

问题[uefi](unix)

Martin Hope
Sniper10754
Asked: 2024-12-15 00:38:32 +0800 CST

关于如何在无头(屏幕损坏)笔记本电脑上启动和安装 Linux 的想法

  • 5

替朋友问:他有一台 UEFI 笔记本电脑,想在上面安装 Linux,问题是集成屏幕坏了,因此他无法进入 BIOS,也无法将启动优先级更改为 Linux USB 安装程序。我打算购买一个 RS-232 兼容适配器并将其插入 USB 端口,然后尝试从那里控制 BIOS,但我不认为 UEFI 会在这里显示它的输出,我的朋友该怎么做才能在没有视频输出的情况下访问 UEFI 接口?

uefi
  • 1 个回答
  • 35 Views
Martin Hope
Privet Privet
Asked: 2024-11-04 20:27:53 +0800 CST

如何从芯片读取 UEFI 固件数据?

  • 5

我需要实现一个在操作系统之外与 BIOS 同一级别的程序,它将从 BIOS 芯片中读取所有 UEFI 固件数据,需要读取哪些内存地址(是否有某种 API 可以获取所有 UEFI 固件数据?)以及 UEFI 固件到底在哪里?

uefi
  • 1 个回答
  • 53 Views
Martin Hope
Irigasumi
Asked: 2023-08-07 12:52:26 +0800 CST

EFI分区与UEFI固件不同吗?

  • 5

我想知道删除EFI分区是否也会删除初始化硬件呈现启动模式的UEFI固件。

uefi
  • 1 个回答
  • 27 Views
Martin Hope
Juergen
Asked: 2023-07-14 05:57:40 +0800 CST

Debian 12 安装程序未检测到 NVMe 磁盘

  • 5

在配备两个金士顿 M.2 NVMe SSD 的 HP ZBook G6 上,Windows 运行没有问题。但是,当从 USB 硬盘引导 Debian 12 安装程序 ISO 时,Linux 6.0 内核不会检测到这些 NVMe 磁盘,而仅检测/proc/partitions.

我尝试过modprobe nvme-core nvme nvmet,但重复的 Debian 安装程序“检测磁盘”仍然没有检测到这些。(安装程序 ISO initrd 不包含partprobe可执行文件,因此我没有尝试 /that。)lspci不显示有关 NVMe 的任何信息。
与默认图形安装和文本模式专家安装程序的结果相同。

如何检测 NVMe 磁盘?

编辑:更新 BIOS 和禁用安全启动没有帮助。硬件 RAID 已禁用。

uefi
  • 1 个回答
  • 67 Views
Martin Hope
Vlastimil Burián
Asked: 2022-12-11 23:15:24 +0800 CST

这个更新究竟是为了什么而设计的?(新的 BIOS?)

  • 5

我拥有一台相当旧的服务器,戴尔 PowerEdge T20,具有最新的BIOS 版本 A20,戴尔更新链接,更新屏幕,以防链接及时失效:

在此处输入图像描述

今天早上,当 SSH 进入这台服务器时,我收到一条消息,有一个可用的固件更新,请参阅下面的完整详细信息,它还说我可以运行:

fwupdmgr get-upgrades

获取有关它的信息,我做到了。

$ ssh-s
up 18 hours, 31 minutes

1 device has a firmware upgrade available.
Run `fwupdmgr get-upgrades` for more information.

root @ dell-poweredge-t20 /root # fwupdmgr get-upgrades
WARNING: UEFI capsule updates not available or enabled in firmware setup
  See https://github.com/fwupd/fwupd/wiki/PluginFlag:capsules-unsupported for more information.
Devices with no available firmware updates: 
 • Samsung SSD 860 PRO 256GB
 • WDC WD5000BMVU-11A08S0
PowerEdge T20
│
└─UEFI dbx:
  │   Device ID:          362301da643102b9f38477387e2193e57abaa590
  │   Summary:            UEFI Revocation Database
  │   Current version:    77
  │   Minimum Version:    77
  │   Vendor:             UEFI:Linux Foundation
  │   Install Duration:   1 second
  │   GUIDs:              c6682ade-b5ec-57c4-b687-676351208742 ← UEFI\CRT_A1117F516A32CEFCBA3F2D1ACE10A87972FD6BBE8FE0D0B996E09E65D802A503
  │                       f8ba2887-9411-5c36-9cee-88995bb39731 ← UEFI\CRT_A1117F516A32CEFCBA3F2D1ACE10A87972FD6BBE8FE0D0B996E09E65D802A503&ARCH_X64
  │   Device Flags:       • Internal device
  │                       • Updatable
  │                       • Supported on remote server
  │                       • Needs a reboot after installation
  │ 
  ├─Secure Boot dbx:
  │     New version:      217
  │     Remote ID:        lvfs
  │     Summary:          UEFI Secure Boot Forbidden Signature Database
  │     License:          Proprietary
  │     Size:             13.8 kB
  │     Created:          2020-07-29
  │     Urgency:          High
  │     Vendor:           Linux Foundation
  │     Duration:         1 second
  │     Flags:            is-upgrade
  │     Description:      
  │     This updates the dbx to the latest release from Microsoft which adds insecure versions of grub and shim to the list of forbidden signatures due to multiple discovered security updates.
  │     
  │     Before installing the update, fwupd will check for any affected executables in the ESP and will refuse to update if it finds any boot binaries signed with any of the forbidden signatures. If the installation fails, you will need to update shim and grub packages before the update can be deployed.
  │     
  │     Once you have installed this dbx update, any DVD or USB installer images signed with the old signatures may not work correctly. You may have to temporarily turn off secure boot when using recovery or installation media, if new images have not been made available by your distribution.
  │   
  ├─Secure Boot dbx:
  │     New version:      211
  │     Remote ID:        lvfs
  │     Summary:          UEFI Secure Boot Forbidden Signature Database
  │     License:          Proprietary
  │     Size:             13.5 kB
  │     Created:          2021-04-29
  │     Urgency:          High
  │     Vendor:           Linux Foundation
  │     Duration:         1 second
  │     Flags:            is-upgrade
  │     Description:      
  │     This updates the dbx to the latest release from Microsoft which adds insecure versions of grub and shim to the list of forbidden signatures due to multiple discovered security updates.
  │   
  └─Secure Boot dbx:
        New version:      190
        Remote ID:        lvfs
        Summary:          UEFI Secure Boot Forbidden Signature Database
        License:          Proprietary
        Size:             14.4 kB
        Created:          2020-07-29
        Urgency:          High
        Vendor:           Linux Foundation
        Duration:         1 second
        Flags:            is-upgrade
        Description:      
        This updates the dbx to the latest release from Microsoft which adds insecure versions of grub and shim to the list of forbidden signatures due to multiple discovered security updates.
      
root @ dell-poweredge-t20 /root # 

我从来没有用 Linux 更新过我的 BIOS/UEFI。我的第一个问题是:

这个更新究竟是为了什么而设计的?(新的 BIOS?)

其次,继续更新是否安全,是否有任何缺点/优点?

谢谢你。

笔记:

  • 此服务器运行 Debian 11。

  • 此计算机上禁用了安全启动。

  • 作为预防措施,我在 BIOS 中禁用了UEFI 胶囊更新。

uefi
  • 1 个回答
  • 63 Views
Martin Hope
Hannah Vernon
Asked: 2022-07-01 08:56:53 +0800 CST

UEFI 引导从不从 /dev/sda 运行,但从救援 DVD 运行

  • 2

我的 Windows 10 笔记本电脑上有 Hyper-V,第一代 VM 运行 RHEL 7.9。我正在尝试使用 UEFI 引导更新它以在第 2 代 VM 上运行。

作为迁移到第 2 代 VM 的一部分,我需要将 UEFI 引导代码安装到 /boot 分区中。

我安装了以下软件包,我认为这是我需要的:

grub2-efi-x64.x86_64         (1:2.02-0.07.el7_9.9)
shim-x64.x86_64              (15-11.el7)
grub2-efi-x64-modules.noarch (1:2.02-0.07.el7_9.9)
shim-unsigned-x64.x86_64     (15-9.el7)

efibootmgr -v显示以下内容:

在此处输入图像描述

如您所见,我通过 尝试了几种不同efibootmgr的配置,但似乎都不起作用。

虚拟机的启动设置:

在此处输入图像描述

所以理论上,VM 应该从 启动\EFI\redhat\shimx64.efi,据我所知,它应该是/boot/efi/EFI/redhat/shimx64.efi文件,它确实存在:

在此处输入图像描述

df -h显示在我通过救援 DVD 引导时/boot已安装。/dev/sda1chroot /mnt/sysimage

正如您从 /boot 分区的截图中看到的那样,在我看来,内核的有效 initramfs 文件(我认为我们甚至没有做到这一点):

在此处输入图像描述

我还尝试使用以下方法重置 grubs 配置:

grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

该grub.cfg文件包含从内核版本的角度来看看起来正确的菜单条目,但是我什至没有看到 grub 菜单,所以我不认为我们已经走到了这一步。对我来说听起来像是 UEFI 引导加载程序问题,但我不知道如何解决问题。

当我取出 DVD 并启动机器时,Hyper-V 会降低启动顺序,直到遇到网络适配器。

在此处输入图像描述

最终,Hyper-V 显示了这一点:

在此处输入图像描述

我究竟做错了什么?

如果我从救援 DVD 启动,然后在 grub 菜单中拖放到命令行(通过c)并运行configfile (hd0,gpt1)/efi/EFI/redhat/grub.cfg,我可以启动已安装的 Linux 操作系统。

mount | grep -i "boot"从启动的操作系统显示:

/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)

rhel uefi
  • 3 个回答
  • 203 Views
Martin Hope
serhattsnmz
Asked: 2022-04-23 04:42:09 +0800 CST

我的服务器使用的是 Legacy BIOS 还是 UEFI?

  • 0

我对某事有点困惑。我在 Digital Ocean 上有一台服务器,我想知道用于系统启动的 BIOS 或 UEFI。

我尝试过以下事情:

root@debian:~$ dmidecode -t 0
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 2.4 present.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
        Vendor: DigitalOcean
        Version: 20171212
        Release Date: 12/12/2017
        Address: 0xE8000
        Runtime Size: 96 kB
        ROM Size: 64 kB
        Characteristics:
                BIOS characteristics not supported
                Targeted content distribution is supported
        BIOS Revision: 1.0

root@debian:/~$ efibootmgr
EFI variables are not supported on this system.

root@debian:/~$ ls -l /sys/firmware/efi
ls: cannot access '/sys/firmware/efi': No such file or directory

看起来像是使用了BIOS。但也有efi目录/boot。

root@debian:/~$ ls -l /boot/
drwxr-xr-x 3 root root    16384 Jan  1  1970 efi
drwxr-xr-x 6 root root     4096 Mar 30 18:48 grub

除此之外,当我查看磁盘分区表时,它是 GPT。我知道 GPT 不与 BIOS 一起使用,至少不是首选。磁盘也有 EFI 系统分区。

root@debian:/mnt$ fdisk -l /dev/vda
Disk /dev/vda: 80 GiB, 85899345920 bytes, 167772160 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: 72FE8E7C-20D9-2A4A-8AFF-75948771F0DA

Device      Start       End   Sectors  Size Type
/dev/vda1  262144 167772126 167509983 79.9G Linux filesystem
/dev/vda14   2048      8191      6144    3M BIOS boot
/dev/vda15   8192    262143    253952  124M EFI System

Partition table entries are not in disk order.

我错过了什么?我如何确定该系统上使用的是哪一个?

linux uefi
  • 1 个回答
  • 109 Views
Martin Hope
Grant Curell
Asked: 2022-04-22 05:50:11 +0800 CST

你能在 UEFI 中使用 MBR - 关于 UEFI 规范的问题

  • 1

我正在阅读 UEFI 标准:https ://uefi.org/sites/default/files/resources/UEFI_Spec_2_9_2021_03_18.pdf

第 115 页第 5 节讨论了 GPT 磁盘布局。我对这到底是如何工作的有点困惑。从下面听起来 UEFI 会忽略 MBR。

如果遗留 MBR 不使用 GPT 磁盘布局(即,如果它使用 MBR 磁盘布局),它可能位于磁盘的 LBA 0(即第一个逻辑块)。UEFI 固件不执行 MBR 上的引导代码。

那么这基本上是说如果您将固件置于传统引导模式,这就是如何定义一个可以很好地与该传统引导模式配合使用的 MBR?我是否正确地说,如果系统的固件处于 UEFI 模式,那么具有第 5 章中指定的 MBR 的系统将无法启动?

uefi gpt
  • 1 个回答
  • 247 Views
Martin Hope
sunknudsen
Asked: 2022-02-18 10:07:58 +0800 CST

禁用 CSM 时无法安装 Debian

  • 1

我正在尝试在旧的联想 ThinkCentre M92p(英特尔酷睿 i5-3470)上安装 Debian 11.2.0(debian-11.2.0-amd64-netinst.iso)。

我将 BIOS 升级到最新版本(9SKT9CA,2018 年 12 月 24 日发布)并禁用 CSM。

安装程序工作正常,直到引发以下两个错误。

创建文件系统失败

当我选择继续...

这台机器的固件已经在 UEFI 模式下启动,但看起来可能已经使用“BIOS 兼容模式”安装了现有的操作系​​统。

我正在一个空的 exFAT 格式的三星 T7 Touch SSD 上安装 Debian……除了实时安装程序之外,没有其他操作系统存在。

我错过了什么?感谢您的帮助!

错误 1

错误 2

启动配置

debian uefi
  • 2 个回答
  • 165 Views
Martin Hope
NJP
Asked: 2022-01-14 21:43:58 +0800 CST

从 Microsoft 签名操作系统加载程序加载 UEFI 自签名内核

  • 1

我正在 UEFI 中编写自己的操作系统加载程序(引导加载程序)。操作系统加载程序是 Microsoft 签名的,因此它可以在安全启动下运行。OS Loader 将能够根据用户的选择加载 Windows 或 Linux Kernel(类似于 GRUB) 因为我将 Linux Kernel 构建为 EFI Stub,所以我可以从我的 OS Loader 加载它。

但是,我有一个具体的要求。我将对 Linux 内核进行自签名。

如何建立信任链以确保我加载的是我自己的自签名 Linux 内核而不是其他未签名的内核?

根据电信公司的建议于 2022 年 1 月 21 日编辑

继续 telcoM 的回答,我从https://github.com/rhboot/shim下载了 SHIM 源,我还在https://www.rodsbooks.com/efi-bootloaders/secureboot.html#initial_shim
之后创建了 PKI 密钥

$ openssl req -new -x509 -newkey rsa:2048 -keyout MOK.key -out MOK.crt -nodes -days 3650 -subj "/CN=Your Name/"
$ openssl x509 -in MOK.crt -out MOK.cer -outform DER

使用构建的 SHIM 源

make VENDOR_CERT_FILE=MOK.cer

用 MOK.key 签署了我的 kernel.efi 以获得签署的 grubx64.efi(这是因为 SHIM 中的默认加载器是 grubx64.efi。我只是继续使用默认值)

sbsign --key MOK.key --cert MOK.crt --output grubx64.efi  kernel.efi

最后,使用 shimx64.efi 作为 loader.efi (使用 PreLoader https://blog.hansenpartnership.com/linux-foundation-secure-boot-system-released/)因为目前我没有微软签署的 shimx64.efi . 此外,mmx64.efi 和 fbx64.efi 也通过 HashTool.efi 与 shimx64.efi (loader.efi) 一起注册

这是流程。
PreLoader.efi --> loader.efi(shimx64.efi) --> grubx64.efi(kernel.efi)

禁用 SecureBoot 后,一切正常,我可以启动 Linux 内核。
但是,启用 SecureBoot 后,我​​无法启动 grubx64.efi 映像。

进一步更新

我发现我应该使用 MokManager (mmx64.efi) 来注册 MOK.cer。尝试使用 mmx64.efi 并注册 MOK.cer。但是,看起来 Key 没有成功注册。

我错过了什么吗?

kernel uefi
  • 2 个回答
  • 715 Views

Sidebar

Stats

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

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve