无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 341|回复: 10
打印 上一主题 下一主题

[求助] grub2和qemu的 std显卡在uefi上有兼容性问题?

[复制链接]
跳转到指定楼层
1#
发表于 昨天 19:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题。 grub2为github/a1ive/grub的release版本,qemu为pacman的QEMU emulator version 10.1.50 (v10.1.0-1314-gf3f2ad1193)
efi固件来自于zenemu。
grub2生成参数为release包的默认集成参数,grub.cfg内容如下
set pager=1
insmod all_video
insmod video_bochs
insmod video_cirrus
insmod efi_gop
insmod efi_uga
insmod font
insmod gfxterm
insmod gfxmenu
insmod gettext
insmod jpeg
insmod png

#加载unicode字体显示中文
loadfont ${prefix}/fonts/unicode.pf2
set locale_dir=${prefix}/locale
set lang=zh_CN
#设置分辨率
set gfxmode=1024x768
terminal_output gfxterm
#设置背景图片
background_image /boot/menu.jpg

#倒计时
set timeout=5

#颜色
set color_normal=green/black
set color_highlight=white/cyan

menuentry "启动winpe x64" {
ntboot --efi /boot/x86_64-efi /boot/x86_64.wim
}

menuentry "启动winpe x64(备用方法)" {
wimboot --rawwim --gui @:bootmgfw.efi:/boot/x86_64-efi @:boot.wim:/boot/x86_64.wim
}
menuentry "进入uefi设置" {
reset --fwui;
}
menuentry "test console" {
background_image
gfxterm console
terminal_output console
}

menuentry "转入bios启动" {
chainloader /boot/csmwrap.efi
}

menuentry "重启" {
reset
}

menuentry "关机" {
halt
}
只要以任何形式执行terminal_output console就会导致分辨率异常
ntboot/wimboot模块都出现这个问题,触发时屏幕异常,启动加载条在serial显示。
只有std显卡会出这个问题,cirrus在选择选项的时候有概率底部花屏,但是不会发生启动异常。virtio-vga,vmware显卡均无问题
如果没有terminal_output gfxterm就不会触发。
2#
 楼主| 发表于 昨天 19:28 来自手机 | 只看该作者
BV13944zLExQ,这个是测试视频。
回复

使用道具 举报

3#
发表于 昨天 21:48 | 只看该作者
不太了解
回复

使用道具 举报

4#
发表于 昨天 23:09 | 只看该作者
删掉这三行
insmod all_video
insmod video_bochs
insmod video_cirrus
也不要嵌入这三个模块。
https://lists.gnu.org/archive/ht ... 25-09/msg00265.html

点评

好的,我上完早八回去试试 您附的那个网址我点进去显示403 forbidden  详情 回复 发表于 12 小时前
回复

使用道具 举报

5#
发表于 14 小时前 | 只看该作者
技术贴,谢谢分享
回复

使用道具 举报

6#
 楼主| 发表于 12 小时前 来自手机 | 只看该作者
本帖最后由 hzyry2046 于 2025-10-15 10:15 编辑
wintoflash 发表于 2025-10-14 23:09
删掉这三行
insmod all_video
insmod video_bochs

好的,我上完早八回去试试
您附的那个网址我点进去显示403 forbidden =不使用all_video模块并重新打包,修改cfg之后解决了

点评

acpi all_video blocklist boot cat chain configfile cpio echo efiload efi_gop exfat ext2 extcmd fat fb file font getkey gfxmenu gfxterm gfxterm_background gfxterm_menu gzio halt help hexdump iso9660 jp  详情 回复 发表于 11 小时前
回复

使用道具 举报

7#
 楼主| 发表于 11 小时前 | 只看该作者
hzyry2046 发表于 2025-10-15 09:45
好的,我上完早八回去试试
您附的那个网址我点进去显示403 forbidden

acpi all_video blocklist boot cat chain configfile cpio echo efiload efi_gop exfat ext2 extcmd fat fb file font getkey gfxmenu gfxterm gfxterm_background gfxterm_menu gzio halt help hexdump iso9660 jpeg linux linuxefi loadenv loopback ls lzopio map minicmd newc normal ntboot ntfs part_gpt part_msdos png probe progress reboot regexp sbpolicy search tar terminal terminfo test tga udf vhd video video_colors video_fb videoinfo wimboot xzio
这个是模块列表arch/x64/buildin.txt的内容,里面没看到video_cirrus和video_bochs,只看到all_video video video_colors video_fb videoinfo
我的${prefix}里面没有放外置模块,只调用内置模块

点评

把all_video换成efi_gop和efi_uga。 all_video是个假模块,就是所有图形驱动的意思。  详情 回复 发表于 11 小时前
回复

使用道具 举报

8#
发表于 11 小时前 | 只看该作者
hzyry2046 发表于 2025-10-15 10:10
acpi all_video blocklist boot cat chain configfile cpio echo efiload efi_gop exfat ext2 extcmd fat ...

把all_video换成efi_gop和efi_uga。
all_video是个假模块,就是所有图形驱动的意思。

点评

原来如此,去掉就正常了(必须重新生成efi,cfg不加载还不行)  详情 回复 发表于 9 小时前
回复

使用道具 举报

9#
 楼主| 发表于 9 小时前 | 只看该作者
wintoflash 发表于 2025-10-15 10:59
把all_video换成efi_gop和efi_uga。
all_video是个假模块,就是所有图形驱动的意思。

原来如此,去掉就正常了(必须重新生成efi,cfg不加载还不行)
回复

使用道具 举报

10#
发表于 7 小时前 | 只看该作者
来学习了
回复

使用道具 举报

11#
发表于 1 小时前 | 只看该作者
看看
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-10-15 22:01

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表