a1ive / grub

Fork of GRUB 2 to add various features.
GNU General Public License v3.0
138 stars 38 forks source link

NTBOOT 没有启动动画 #91

Closed atmgnd closed 3 years ago

a1ive commented 3 years ago

你说的是 Legacy BIOS 下吧。

atmgnd commented 3 years ago

你说的是 Legacy BIOS 下吧。

对, 是LEGACY模式下, 用微软的bcdboot F:\Windows /s C:\的方式使用微软boot loader 加载后有启动动画 但使用grubfm ntboot就没有

使用的是WINDOWS 7 64 位

a1ive commented 3 years ago

wimboot/ntboot 启动,和一般的 bootmgr 启动是不一样的,它直接启动的是 bootmgr.exe。我不知道在这种情况下是否能显示转圈或者其他动画。

atmgnd commented 3 years ago

有没有一个方向指引一下, 我自己研究也行

a1ive commented 3 years ago

grub2 的 ntboot 是基于 iPXE wimboot 写的。https://github.com/ipxe/wimboot 你可以查一下看看 iPXE wimboot 启动能不能显示动画。

steve6375 commented 3 years ago

Did you test on a real machine or a VM?

atmgnd commented 3 years ago

Did you test on a real machine or a VM?

tested on a real machine

memoarfaa commented 3 years ago

it's old issues for me I faced it from about three years ago

you can download the test file from https://www.mediafire.com/file/2hurjx82xsvq683/wimboot.rar/file

grub2 的 ntboot 是基于 iPXE wimboot 写的。https://github.com/ipxe/wimboot 你可以查一下看看 iPXE wimboot 启动能不能显示动画。

yes it can display animations. only add the fonts to your menu some thing like

function menu_wim { if [ "$grub_platform" = "pc" ]; then set enable_progress_indicator=1; echo "[INF] Loading, please wait ..."; linux16 ${grub_wimboot} gui; initrd16 newc:chs_boot.ttf:${grub_chs_boot} \ newc:cht_boot.ttf:${grub_cht_boot} \ newc:jpn_boot.ttf:${grub_jpn_boot} \ newc:segmono_boot.ttf:${grub_segmono_boot} \ newc:segoe_slboot.ttf:${grub_segoe_slboot} \ newc:segoen_slboot.ttf:${grub_segoen_slboot.ttf} \ newc:wgl4_boot.ttf:${grub_wgl4_boot} \ newc:bootmgr:${grub_bootmgr} \ newc:bcd:${grub_biosbcd} \ newc:boot.sdi:${grub_bootsdi} \ newc:boot.wim:"${grub_file}"; elif [ "$grub_platform" = "efi" ]; then set enable_progress_indicator=1; wimboot @:chs_boot.ttf:${grub_chs_boot} \ @:cht_boot.ttf:${grub_cht_boot} \ @:jpn_boot.ttf:${grub_jpn_boot} \ @:segmono_boot.ttf:${grub_segmono_boot} \ @:segoe_slboot.ttf:${grub_segoe_slboot} \ @:segoen_slboot.ttf:${grub_segoen_slboot.ttf} \ @:wgl4_boot.ttf:${grub_wgl4_boot} \ @:boot.sdi:${grub_bootsdi} \ @:bootmgfw.efi:${grub_bootmgfw} \ @:bcd:${grub_uefibcd} \ @:boot.sdi:${grub_bootsdi} \ @:boot.wim:"${grub_file}"; fi; }

according to https://ipxe.org/wimboot see section "Displaying graphical boot messages"

a bug in some versions of the Windows boot manager, which would otherwise fail to display error messages unless suitable font files are provided.

removing the fonts from menu will prevent some error messages from appearing

some isos has many fonts according to BCD languages in the ISO if you booting an iso you can use grub2 test command and loop through boot\fonts folder to find the fonts and automatically load them into your menu

the regular fonts are segmono_boot.ttf segoe_slboot.ttf segoen_slboot.ttf wgl4_boot.ttf