Release Notes: 2021-07-23 (a1ive) Add the beep command. 2021-07-22 (a1ive) Add parttype command. 2021-06-19 (yaya) Increase ADDR_RET_STR for external commands. 2021-06-02 (a1ive) Support embedded fonts, modules (.mod files). mkimage.exe -d directory -p /efi/grub -o BOOTX64.EFI -O x86_64-efi -c embedded menu -f embedded font -m embedded module mkimage.exe -d directory -p /efi/grub -o BOOTIA32.EFI -O i386-efi -c embedded menu -f embedded font library -m embedded module 2021-05-28 (yaya) Improve hotkeys. You can use any English letter in the menu item as a hot key. Added parameter: setmenu --hotkey-color=COLOR Set the hotkey color. E.g: setmenu --hotkey-color=0xffff hotkey -A [F3] "reboot" [Ctrl+d] "commandline" title [F4] Boot Win title Boot ^Win 10 2021-05-19 (yaya) The hotkey function is external. Usage: hotkey parameter 2021-05-01 (yaya) Fix the problem that ud hidden partition cannot be read and written. 2021-04-24 (yaya) 1. Support embedded menu. Put kernel.img and grub-mkimage.exe in the same directory. grub-mkimage.exe -d directory -p /efi/grub -o BOOTX64.EFI -O x86_64-efi -c embedded menu grub-mkimage.exe -d directory -p /efi/grub -o BOOTIA32.EFI -O i386-efi -c embedded menu 2. Improve batch debugging, use line number as breakpoint, 10 breakpoints can be used. debug batch file name parameter b Set breakpoints (10). For example: b 45 (current batch, line 45); b p2,134 (batch number 2, line 134) b l Display breakpoints (breakpoint number, batch number, batch line number) b c Clear breakpoints For example: c2 (clear breakpoint No. 2); c (clear all breakpoints) n Run to breakpoint c Enter the command line and press the'ESC' key to return to batch debugging s skip this line e Run the batch to the end q Exit batch p Single step execution (across subroutines) Other single-step execution (entering subroutine entry) 3. Built-in 0x20-0x7f, 0x2191, 0x2193 unicode 16*16 dot matrix characters 2021-02-10 (a1ive) Give priority to using ACPI to shut down. 2021-01-31 (yaya) Support to start a differential VHD mirroring. 2021-01-12 (a1ive) Support loading multiple initrd files. 2021-01-12 (yaya) Increase the variable @uefi. The value is 64/32, which is used to determine whether the UEFI system is 64/32 bit. 00 is the BIOS system. Correct external commands. 2021-01-09 (yaya) Start bootmgfw.efi. Correct graphicsmode and displaymem functions. New internal variables: 0x8272 (1 byte) UEFI boot environment (32/64 bit). 2020-12-15 (a1ive) Add the load command to load the EFI driver. 2020-12-14 (yaya) Compile 32-bit and 64-bit versions at one time. 2020-12-10 (yaya) Use "./build i386" to compile BOOTIA32.EFI. You can use the parameter "--top" to force the image to be loaded into the memory above 4Gb. Modify the color display of character strings, modify the read and write of mapped disk. 2020-11-26 (yaya) Merged i386 and x86_64 source code. Fix the hotkey and exit_g4d functions. 2020-11-19 (a1ive) Support the use of kernel and initrd commands to start the linux kernel. 2020-11-18 (yaya) 1. Change the menu directory to: /efi/grub/menu.lst 2. Support physical CD, hard disk boot. 3. When there are multiple CDs, adjust the boot CD to the first CD to suit windows. 4. Add the function exit_g4d to exit GRUB4DOS. 5. Batch changes: The subscript of the function remains unchanged, and the parameter is changed from 32-bit to 64-bit. (Fn. subscript parameter 1 parameter 2 ...) The variable address is changed from 0x8304 to 0x8308, from 32 bits to 64 bits. For call Fn function, if you use variables 0x8200-0x8400 (not included), you must add g4e in front, such as g4e0x8217. Add else function to batch processing. Added {script set} notation. like: if condition { Script set if condition { Script set} else { Script set} } else if condition { Script set } else { Script set } Notice: 1. The curly brace must be the end of a line. 2. The script set can be written in multiple lines. 3. The braces can be nested inside. 2020-10-29 (yaya) GRUB4DOS used in UEFI environment. This is a huge project, almost all the code has been stroked. Modified console keyboard input and output, console screen output, memory control, Drive control, get date and time, pause control, graphics mode and Unicode font realization, PXE net start, etc. During the development process, the GRUB2 source code was referenced. For the mapping, refer to the source code of wintoflash. 1. You can start the efi file. 2. You can start iso and img files. Differences from the old version: 1. You can view the graphics modes supported by the system through the graphicsmode command. 2. After the map function is executed, it will be mounted. There is no need to execute the --hook command. 3. Cancel --hook, --unhook, --rehook, --unmap=, --floppies=, --harddrives= commands. 4. In the UEFI environment, you can boot from a disk other than 0x80, so there is no need to swap disk operations, such as map (hd0) (hd1). 5. Cancel the delete disk function, such as map (hd1) (hd1). 6. Currently, PXE Netstart only supports tftp.