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 / 问题 / 772870
Accepted
white-hat-er
white-hat-er
Asked: 2024-03-22 05:49:21 +0800 CST2024-03-22 05:49:21 +0800 CST 2024-03-22 05:49:21 +0800 CST

当我打开计算机(或重新启动)时,屏幕在启动 grub 之前会打开和关闭 3 次。如何制止这种行为?

  • 772

操作系统:Arch Linux x86_64
主机:81Y3 IdeaPad L3 15IML05
内核:6.8.1-arch1-1

~ λ  lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sr0          11:0    1  1024M  0 rom
nvme0n1     259:0    0 476.9G  0 disk
├─nvme0n1p1 259:1    0     2G  0 part /boot
├─nvme0n1p2 259:2    0    12G  0 part [SWAP]
├─nvme0n1p3 259:3    0   100G  0 part /
└─nvme0n1p4 259:4    0 362.9G  0 part /home

我已经将UEFI更新到最新版本"EJCN31WW"

EFI分区信息:

File System: fat32
Flags: boot, esp

GRUB配置文件:

GRUB_DEFAULT=0
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3"
GRUB_CMDLINE_LINUX=""
GRUB_PRELOAD_MODULES="part_gpt part_msdos"
GRUB_TIMEOUT_STYLE=menu
GRUB_TERMINAL_INPUT=console
GRUB_GFXMODE=1920x1080
GRUB_GFXPAYLOAD_LINUX=keep
GRUB_DISABLE_RECOVERY=true

我尝试过丢失 UEFI 设置,但没有成功。
我注意到,如果我进入引导菜单并在第一次打开时选择 grub,它将立即引导 grub。

所以,我认为这可能是由以下原因引起的(我可能错了 XD):

  1. EFI 分区太大 (2Gb)。
  2. EFI 分区的格式不正确。
  3. 它尝试启动 grub,但失败了。

解决办法是什么?

这是启动分区树:

/boot
├── EFI
│   └── GRUB
│       └── grubx64.efi
├── grub

编辑2:

~ λ  efibootmgr
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000,2001,2002,2003
Boot0000* GRUB  HD(1,GPT,dbf925d5-a5c8-4bc3-8327-abdccf9b4036,0x800,0x400000)/\EFI\GRUB\grubx64.efi
Boot2001* EFI USB Device    RC
Boot2002* EFI DVD/CDROM RC
Boot2003* EFI Network   RC

区块ID:

~ λ  doas blkid
/dev/nvme0n1p3: UUID="ce1f67f3-1e62-45ad-b5c3-2b0bfedbe19b" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="e320fb70-dd33-4e4a-9cf2-48ea4d91630d"
/dev/nvme0n1p1: UUID="F7CC-1B87" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="dbf925d5-a5c8-4bc3-8327-abdccf9b4036"
/dev/nvme0n1p4: UUID="0c764fa9-8209-4e80-bdd5-a11c56bf2bde" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="86879a61-1e57-489f-9210-528ed4f8760b"
/dev/nvme0n1p2: UUID="badec528-15b0-4cd5-8e7f-eb6452fb4de3" TYPE="swap" PARTUUID="7e028323-a22e-45d2-96a2-2615c8879aa7"

文件系统表

~ λ  cat /etc/fstab
# Static information about the filesystems.
# See fstab(5) for details.

# <file system> <dir> <type> <options> <dump> <pass>
# /dev/nvme0n1p3
UUID=ce1f67f3-1e62-45ad-b5c3-2b0bfedbe19b   /           ext4        rw,relatime 0 1

# /dev/nvme0n1p1
UUID=F7CC-1B87          /boot       vfat        rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro   0 2

# /dev/nvme0n1p5
UUID=0c764fa9-8209-4e80-bdd5-a11c56bf2bde   /home       ext4        rw,relatime 0 2

# /dev/nvme0n1p2
UUID=badec528-15b0-4cd5-8e7f-eb6452fb4de3   none        swap        defaults    0 0

dmesg 的固件错误

~ λ doas dmesg
...
[    0.000000] [Firmware Bug]: TSC ADJUST: CPU0: -1306247588 force to 0
...
linux
  • 2 2 个回答
  • 113 Views

2 个回答

  • Voted
  1. Manux
    2024-04-08T19:02:59+08:002024-04-08T19:02:59+08:00

    从技术角度来看,引导对我来说看起来不错。

    我认为这正在发生:

    显示器的分辨率瞬间改变为另一个分辨率。由于这是启动过程的早期阶段,因此没有其他方法可以打开和关闭显示器。

    我的猜测是,您看到的启动图像(例如 Lenovo 徽标等)的分辨率与 grub 菜单的分辨率不同。大多数图片的分辨率为 800x600。

    因为当您停止“花哨”的图片引导并直接以正确的大小引导 grub 菜单时,您不会得到任何更改。

    我认为它是这样的:

    • 初始开机分辨率 -->> 也许 480x600 真的不知道 ->> 初始空白
    • 联想徽标显示 ->> 分辨率需要更改 ->> 分辨率更改为显示图片。第二个空白
    • Grub 开始启动并请求更改为 1920x1080 ->> 第三个空白以显示正确的 Grub 分辨率。

    所以我的第一个建议是将 grub 分辨率降低到 800x600 并测试一些空白是否消失。您也可以尝试在调试模式下启动,这样就不会显示图片和徽标。

    回答您的问题:

    所以,我认为这可能是由以下原因引起的(我可能错了 XD):

    The EFI partition is too large (2Gb).
    
    • 没关系。如果你想节省一些空间,512GB就足够了

      EFI 分区的格式不正确。

    • 确实如此,否则引导将不会成功。如果是这种情况,您将看到 EFI shell。

      它尝试启动 grub,但失败了。

    • 然后你会看到一个 shell 并且无法启动。

    • 1
  2. Best Answer
    white-hat-er
    2024-04-09T02:32:50+08:002024-04-09T02:32:50+08:00

    我没有找到答案,所以最后我进入了BIOS设置。

    选择传统启动,

    并首先尝试 UEFI,

    效果很好。

    但当我选择 UEFI 而不是传统启动时,它仍然无法工作。我认为联想附带的固件有问题。

    谢谢

    • 1

相关问题

  • 有没有办法让 ls 只显示某些目录的隐藏文件?

  • 使用键盘快捷键启动/停止 systemd 服务 [关闭]

  • 需要一些系统调用

  • astyle 不会更改源文件格式

  • 通过标签将根文件系统传递给linux内核

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