Arch Linux:以盲模式 UEFI 启动

Arch Linux:以盲模式 UEFI 启动

我最近在别人的一个旧机器上安装了 Arch,但遇到了一个问题:我正在启动到 GRUB shell,当我使用 和 手动加载内核时linux /boot/vmlinuz-linuxinitrd /boot/initramfs-linux.img收到一条消息,内容如下:

error: no suitable video mode found
Booting in blind mode

看来内核已经加载,但用户空间却没有显示。几分钟内,我无法以任何方式使用键盘,但之后我唯一能做的就是按 Ctrl-Alt-Del 重新启动。

我不知道这是否是显卡驱动程序问题,因为我不太了解 GRUB 有哪些模式。如果需要,显卡是 ATI/AMD Radeon 6470M HD“Seymour”。这个问题从未在我运行 Arch 的任何电脑上发生过;有人知道如何解决这个问题吗?

答案1

我用我的笔记本电脑经历了这一切。

Grub 确实要求您初始化显示器,并且在支持显示器切换的内核中具有 UEFI 支持。

完成此操作后,您应该能够看到整个启动过程(在启动期间的某个时刻,显示器被初始化,您应该能够看到输出。)

我不使用 grub2 创建的混乱文件,而是自己编写的,我会与大家分享。它被设置为双启动 Linux 和 Windows,但必须针对您的安装进行修改(驱动器和分区),因此不能完全复制和粘贴。我也不想使用 initramfs,因此您必须将其添加到 Linux 条目中。


timeout=10
default=0

# Declare where the Grub modules are located
set prefix=(hd3,gpt3)/grub

# Load EFI video drivers. This device is EFI so keep the
# video mode while booting the linux kernel.
insmod efi_gop
insmod font
if loadfont ${prefix}/fonts/unicode.pf2
then
        insmod gfxterm
        set gfxmode=auto
        set gfxpayload=keep
        terminal_output gfxterm
fi

# Declare boot entries below this line
menuentry 'Linux' {
        root=hd3,gpt3
        linux /vmlinuz root=PARTUUID=038f0d56-22ed-e346-b243-a86b4abf8410 quiet rootfstype=ext4 net.ifnames=0 biosdevname=0
}

menuentry 'Windows 7' {
        root=hd2,gpt2
        chainloader (hd2,gpt2)/EFI/MICROSOFT/BOOT/bootmgfw.efi
}

您的 /boot/grub/fonts/unicode.pf2 文件确实存在,这一点很重要!您还需要告诉 grub 模块位于何处。

答案2

在我的 Manjaro 机器中,grub 在加载视频模块之前就启动了它。结果,视频模块损坏,没有显示任何输出。这个问题可能不会出现在高端 BIOS、UEFI、CSM 上。通过在videoinfoecho "loading grub"中添加/boot/grub/grub.cfg或强制 grub 花一些时间/etc/grub.d/00_header,足以让正确的视频模块在渲染之前加载/usr/share/grub/themes/manjaro/theme.txt

答案3

只是为了向像我这样的初学者澄清 danomac 的答案(我暂时无法发表评论)。这最终对我有用,请随意纠正冗余。

从输出中获取 UUID ls(例如ls (hd0,gpt2))。如果显示UUID,则需要输入UUID而不是PARTUUID。在上述脚本之后,我添加了

set root=(hd0,gpt2)
linux (hd0,gpt2)/boot/vmlinuz-5.10.188-antix.1-amd64-smp root=UUID=775a8e68-.......
initrd (hd0,gpt2)/boot/initrd.img-5.10.188-antix.1-amd64-smp 
boot

我没有添加initramfs到 Linux 菜单项。我很确定vmlinuz在最后一次成功的尝试中我没有在菜单项中添加完整路径和/或版本名称,但我无法检查它...

相关内容