021a – Grub4Dos fonts and graphics

The menu below is an example of what a plain grub4dos menu looks like.

The menu.lst is saved as a UTF.8 file in Notepad (not the normal ANSI format) and contains Russian and Chinese characters, but these do not display correctly as the fonts are not available in a normal menu.


Below we have the same menu, but we have loaded a special font file which allows us to display the Russian/Chinese characters as they appear in Notepad.

We have also used an 800×600 graphics mode, added a background and moved the menu entry positions.

Graphicsmode must be used for special fonts – they will not display in text mode.


The 800×600 bitmap used for the wallpaper in this example has a black bottom border and so the bottom of the menu is all black.

Here is the menu.lst file that was used for the above menu:


debug off

# autonumber menu entries

write –bytes=2 0x8274 0x2001

set mode=graphicsmode -1 800 100:1000 24:32 > nul

set cmd=font /unifont.hex.gz



splashimage /aurora24.bmp.gz > nul

# set the title text at the very top of the screen

set title= %mode% %cmd%

# set the colours we want to use

# Note: apart from highlighted text, any background colour is ignored as it will always be ‘transparent’ except for highlight setting

#0=black,1=blue, 2=green,3=cyan,4=red,5=magenta,6=brown,7=grey (add 8 for bright color – e.g. 15=white, 14=yellow, 13=pink,12=red,11=cyan,10=green, 9=bright blue, 8=grey)

#multiply by 16 to make the background blue (16×1), 32 to make the background green (16×2), 48 for bkgnd cyan (16×3), etc.

# normal=grey, highlight=white+magenta helptext=pink, heading=cyan standard=white boreder=red

color normal=0x07 highlight=0xf5 helptext=0x0D heading=0x0A standard=0x0F border=0x04

# display the heading and cover up grub4dos version text

write (md)0x220+1 !BAT\necho -n -P:0000 $[0133] %title% \0

initscript (md)0x220+1


# wordspacing and linespacing normally set to 0, borderwidth=0 for no border, 1 for thin border, etc.

#/menusetting.gz u will restore max menu grub4dos default

set wdspace=0

set lnspace=0

set topstart=8

set rstart=7

set noitems=5

set menuw=54

set bdwidth=1

set tophelp=23

# place a 5 entry menu at extreme right of 800×600 splashimage bitmap, starting 8 lines down, 7 across

/menusetting.gz %wdspace% %lnspace% %bdwidth% %tophelp% %noitems% %topstart% %menuw% %rstart%

title Russian – понял что проблема с файлом меню\nThis will install any edition of Windows 32-bit to your hard disk


title Chinese reboot (重启)


title Chinese halt (关机)


The files required can be downloaded here.

Easy2Boot contains a selection of 0x20-0x7E fonts.



The font command without a parameter, loads the BIOS VGA ROM ASCII fonts for codes 0x20-0x7F.

You cannot load two fonts, one after the other, e.g. this does not load the roman.hex.gz font:

font /sans.hex.gz

# next line does NOT work!

font /roman.hex.gz

Instead, you have to use the font command to clear the last font and enable the loading of the second font…

font /sans.hex.gz


font /roman.hex.gz

location 0x1800820 will be 0 if a font was never previously loaded

read 0x1800820 && echo unifont loaded

Click here (OneDrive folder) if you cannot find any file mentioned in the articles on this site or Contact Me.

Easy2Boot (E2B) is popular multiboot USB solution that also contains agFM and Ventoy. It supports both Legacy and UEFI.
Simply copy on your bootable ISO files to the E2B USB drive and boot! Boot to DOS, Linux, Windows Install ISOs (XP>Win11),
automate Windows installs, WIM files, VHD files, images of flash drives, Linux ISO+persistence, etc.
E2B is unique in that it uses partition images which allows you to directly boot from Secure Boot images (no need to disable Secure Boot or run MOK manager or modify your UEFI BIOS).


The following eBooks (in PDF format) are available from the developer (rated 4.5/5 stars).

Also visit Easy2Boot.xyz and the my blog – please subscribe for the latest news, tips, USB boot articles and news of free eBook updates.