arch每次更新都会出现蓝屏问题

我的arch每次更新都会出现蓝屏问题,我每次都要重装系统内核才可以用。这是我的崩溃报告,希望有大佬可以帮忙解决一下 :folded_hands:

用的什么引导方案?

GRUB方案

BootCurrent: 0004
Timeout: 0 seconds
BootOrder: 0004,0003,0001,0002,2001,2002,2003
Boot0000* EFI USB Device (VendorCoProductCode) UsbWwid(346d,5678,0,905116123254826151)/HD(2,MBR,0xf201deee,0x3a88000,0x10000)RC
dp: 03 10 30 00 00 00 6d 34 78 56 39 00 30 00 35 00 31 00 31 00 36 00 31 00 32 00 33 00 32 00 35 00 34 00 38 00 32 00 36 00 31 00 35 00 31 00 39 00 / 04 01 2a 00 02 00 00 00 00 80 a8 03 00 00 00 00 00 00 01 00 00 00 00 00 ee de 01 f2 00 00 00 00 00 00 00 00 00 00 00 00 01 01 / 7f ff 04 00
data: 52 43
Boot0001* GRUB HD(1,GPT,7873727c-0222-4760-ab2a-b3d90e566aba,0x800,0xfa000)/\EFI\GRUB\grubx64.efi
dp: 04 01 2a 00 01 00 00 00 00 08 00 00 00 00 00 00 00 a0 0f 00 00 00 00 00 7c 72 73 78 22 02 60 47 ab 2a b3 d9 0e 56 6a ba 02 02 / 04 04 30 00 5c 00 45 00 46 00 49 00 5c 00 47 00 52 00 55 00 42 00 5c 00 67 00 72 00 75 00 62 00 78 00 36 00 34 00 2e 00 65 00 66 00 69 00 00 00 / 7f ff 04 00
Boot0002* Windows Boot Manager HD(1,GPT,7873727c-0222-4760-ab2a-b3d90e566aba,0x800,0xfa000)/\EFI\Microsoft\Boot\bootmgfw.efi57494e444f5753000100000088000000780000004200430044004f0042004a004500430054003d007b00390064006500610038003600320063002d0035006300640064002d0034006500370030002d0061006300630031002d006600330032006200330034003400640034003700390035007d00000000000100000010000000040000007fff0400
dp: 04 01 2a 00 01 00 00 00 00 08 00 00 00 00 00 00 00 a0 0f 00 00 00 00 00 7c 72 73 78 22 02 60 47 ab 2a b3 d9 0e 56 6a ba 02 02 / 04 04 46 00 5c 00 45 00 46 00 49 00 5c 00 4d 00 69 00 63 00 72 00 6f 00 73 00 6f 00 66 00 74 00 5c 00 42 00 6f 00 6f 00 74 00 5c 00 62 00 6f 00 6f 00 74 00 6d 00 67 00 66 00 77 00 2e 00 65 00 66 00 69 00 00 00 / 7f ff 04 00
data: 57 49 4e 44 4f 57 53 00 01 00 00 00 88 00 00 00 78 00 00 00 42 00 43 00 44 00 4f 00 42 00 4a 00 45 00 43 00 54 00 3d 00 7b 00 39 00 64 00 65 00 61 00 38 00 36 00 32 00 63 00 2d 00 35 00 63 00 64 00 64 00 2d 00 34 00 65 00 37 00 30 00 2d 00 61 00 63 00 63 00 31 00 2d 00 66 00 33 00 32 00 62 00 33 00 34 00 34 00 64 00 34 00 37 00 39 00 35 00 7d 00 00 00 00 00 01 00 00 00 10 00 00 00 04 00 00 00 7f ff 04 00
Boot0003* Arch HD(1,GPT,7873727c-0222-4760-ab2a-b3d90e566aba,0x800,0xfa000)/\EFI\Arch\grubx64.efi
dp: 04 01 2a 00 01 00 00 00 00 08 00 00 00 00 00 00 00 a0 0f 00 00 00 00 00 7c 72 73 78 22 02 60 47 ab 2a b3 d9 0e 56 6a ba 02 02 / 04 04 30 00 5c 00 45 00 46 00 49 00 5c 00 41 00 72 00 63 00 68 00 5c 00 67 00 72 00 75 00 62 00 78 00 36 00 34 00 2e 00 65 00 66 00 69 00 00 00 / 7f ff 04 00
Boot0004* = HD(1,GPT,7873727c-0222-4760-ab2a-b3d90e566aba,0x800,0xfa000)/\EFI\=\grubx64.efi
dp: 04 01 2a 00 01 00 00 00 00 08 00 00 00 00 00 00 00 a0 0f 00 00 00 00 00 7c 72 73 78 22 02 60 47 ab 2a b3 d9 0e 56 6a ba 02 02 / 04 04 2a 00 5c 00 45 00 46 00 49 00 5c 00 3d 00 5c 00 67 00 72 00 75 00 62 00 78 00 36 00 34 00 2e 00 65 00 66 00 69 00 00 00 / 7f ff 04 00
Boot2001* EFI USB Device RC
dp: 7f ff 04 00
data: 52 43
Boot2002* EFI DVD/CDROM RC
dp: 7f ff 04 00
data: 52 43
Boot2003* EFI Network RC
dp: 7f ff 04 00
data: 52 43
这是我用sudo efibootmgr -v命令出现的内容,好像显示我的路径不太对

在挂载并执行arch-chroot之后执行以下命令看看?

ls -l /boot
ls /usr/lib/modules

[root@myarch /]# ls -l /boot
总计 160109
drwxr-xr-x 7 root root 1024 3月16日 22:16 EFI
drwxr-xr-x 6 root root 1024 3月16日 22:16 grub
-rwxr-xr-x 1 root root 132520522 3月16日 22:15 initramfs-linux.img
-rwxr-xr-x 1 root root 14960640 2月28日 01:22 intel-ucode.img
drwxr-xr-x 2 root root 1024 2022年11月11日 'System Volume Information'
-rwxr-xr-x 1 root root 16466432 3月16日 21:58 vmlinuz-linux
[root@myarch /]# ls /usr/lib/modules
6.19.8-arch1-1
这是执行命令之后的内容

内核版本对得上,initramfs大小也比较正常啊。
看一下/boot/grub/grub.cfg?

DO NOT EDIT THIS FILE

It is automatically generated by grub-mkconfig using templates

from /etc/grub.d and settings from /etc/default/grub

BEGIN /etc/grub.d/00_header

insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
load_env
fi

if [ "${env_block}" ] ; then
set env_block="(${root})${env_block}"
export env_block
load_env -f "${env_block}"
fi

if [ "${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
if [ "${env_block}" ] ; then
save_env -f "${env_block}" next_entry
else
save_env next_entry
fi
set boot_once=true
else
set default="0"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi

function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
if [ "${env_block}" ] ; then
save_env -f "${env_block}" saved_entry
else
save_env saved_entry
fi

fi
}

function load_video {
if [ x$grub_platform = xefi ]; then
insmod efi_gop
insmod efi_uga
elif [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}

if [ x$feature_default_font_path = xy ] ; then
font=unicode
else
insmod part_gpt
insmod btrfs
search --no-floppy --fs-uuid --set=root fbdc8afa-16ce-4293-8be7-5679470af268
font="/@/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
set gfxmode=auto
load_video
insmod gfxterm
fi
terminal_input console
terminal_output gfxterm
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=5

Fallback normal timeout code in case the timeout_style feature is

unavailable.

else
set timeout=5
fi

END /etc/grub.d/00_header

BEGIN /etc/grub.d/10_linux

menuentry 'Arch Linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-fbdc8afa-16ce-4293-8be7-5679470af268' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod fat
search --no-floppy --fs-uuid --set=root 0E6E-741A
echo 'Loading Linux linux ...'
linux /vmlinuz-linux root=UUID=fbdc8afa-16ce-4293-8be7-5679470af268 rw rootflags=subvol=@ loglevel=5 nowatchdog
echo 'Loading initial ramdisk ...'
initrd /intel-ucode.img /initramfs-linux.img
}
submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advanced-fbdc8afa-16ce-4293-8be7-5679470af268' {
menuentry 'Arch Linux, with Linux linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-fbdc8afa-16ce-4293-8be7-5679470af268' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod fat
search --no-floppy --fs-uuid --set=root 0E6E-741A
echo 'Loading Linux linux ...'
linux /vmlinuz-linux root=UUID=fbdc8afa-16ce-4293-8be7-5679470af268 rw rootflags=subvol=@ loglevel=5 nowatchdog
echo 'Loading initial ramdisk ...'
initrd /intel-ucode.img /initramfs-linux.img
}
}

END /etc/grub.d/10_linux

BEGIN /etc/grub.d/15_ostree

END /etc/grub.d/15_ostree

BEGIN /etc/grub.d/20_linux_xen

END /etc/grub.d/20_linux_xen

BEGIN /etc/grub.d/25_bli

if [ "$grub_platform" = "efi" ]; then
insmod bli
fi

END /etc/grub.d/25_bli

BEGIN /etc/grub.d/30_os-prober

This menu entry is supported only on EFI platforms.

if [ "$grub_platform" = "efi" ]; then
menuentry 'Windows Boot Manager (on /dev/nvme0n1p1)' --class windows --class os $menuentry_id_option 'osprober-efi-0E6E-741A' {
insmod part_gpt
insmod fat
search --no-floppy --fs-uuid --set=root 0E6E-741A
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
fi

END /etc/grub.d/30_os-prober

BEGIN /etc/grub.d/30_uefi-firmware

if [ "$grub_platform" = "efi" ]; then
fwsetup --is-supported
if [ "$?" = 0 ]; then
menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' {
fwsetup
}
fi
fi

END /etc/grub.d/30_uefi-firmware

BEGIN /etc/grub.d/40_custom

This file provides an easy way to add custom menu entries. Simply type the

menu entries you want to add after this comment. Be careful not to change

the 'exec tail' line above.

END /etc/grub.d/40_custom

BEGIN /etc/grub.d/41_custom

if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg
fi

END /etc/grub.d/41_custom

BEGIN /etc/grub.d/41_snapshots-btrfs

if [ ! -e "${prefix}/grub-btrfs.cfg" ]; then
echo ""
else
submenu 'Arch Linux snapshots' {
configfile "${prefix}/grub-btrfs.cfg"
}
fi

END /etc/grub.d/41_snapshots-btrfs

这是那个文件内容,因为是md文件,所以前面有字体变动的都是加了#号的,我不太清楚如何取消发送md格式

我问过AI,我重新安装内核的时候,我输入过grub-install –target=x86_64-efi –efi-directory=/boot -bootloader-id=Arch这个命令

你已经重新安装过了?那没现场了,调查中止。

好吧 :smiling_face_with_tear: ,谢谢