コンピュータの電源を入れるか再起動すると、grubが起動する前に画面が3回開いて閉じます。この行動を止める方法は?

コンピュータの電源を入れるか再起動すると、grubが起動する前に画面が3回開いて閉じます。この行動を止める方法は?

オペレーティングシステム:アーチLinux x86_64
所有者:81Y3アイデアパッド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
...

答え1

技術的な観点から見ると、このブーツは私にとって良く見えます。

私はこれが起こっていると思います:

モニターの解像度がすぐに別の解像度に変わります。これはブートプロセスの初期段階なので、モニターのオンとオフを切り替える他の方法はありません。

私の考えでは、あなたが見るブートイメージ(例えば、Lenovoのロゴなど)がgrubメニューとは異なる解像度のようです。ほとんどの画像の解像度は800×600です。

「素敵な」画像の起動を停止し、grubメニューを正しいサイズで直接起動すると、何も変更できません。

私の考えでは、次のようになります。

  • 初期ブート解像度-->>多分480x600かもしれません。実際にはわかりません。 ->>初期スペース
  • Lenovoのロゴを表示 ->>解像度を変更する必要があります。 ->>表示される写真の解像度を変更します。 2番目のスペース
  • Grubが起動し、正しいGrub解像度を表示するために1920x1080 - > > 3番目のスペースに変更を要求します。

だから最初の提案は、グラブ解像度を800×600に下げ、空白の一部が消えるかどうかをテストすることです。図やロゴが表示されないように、デバッグモードで実行してみることもできます。

あなたの質問に答えるには:

だから私はこれが次の理由で発生する可能性があると思います(私が間違っている可能性がありますXD):

The EFI partition is too large (2Gb).
  • それは問題ではありません。スペースを節約したい場合は、512GBで十分です

    EFIパーティションが正しくフォーマットされていません。

  • これは本当です。それ以外の場合、起動は成功しません。この場合、EFI シェルが表示されます。

    grubを起動しようとしましたが失敗します。

  • これにより、シェルが表示され、起動できなくなります。

答え2

答えが見つからず、最終的にBIOS設定に入りました。

伝統的なスタートアップを選択してください。

まず、UEFIを試してみてください。

良い結果。

ただし、従来の起動ではなくUEFIを選択しても機能しません。 Lenovoが提供したファームウェアに問題があるようです。

ありがとう

関連情報