1
1
Fork 0
mirror of https://github.com/pbatard/rufus.git synced 2026-11-13 16:53:58 +00:00
rufus/res/grub2
Andreas Fehlner 187a43d8dd
[grub] fix embedded GRUB version still being reported as 2.14
* 9356b79c updated res/grub2/core.img to GRUB 2.16, but left GRUB2_PACKAGE_VERSION at "2.14".
* Since this value is what the GRUB version detected on an ISO gets compared against, GRUB 2.14
  based images would silently get the embedded 2.16 core.img (with no download being offered),
  whereas GRUB 2.16 based images would prompt for an unnecessary core.img download.
* Closes #3066.
2026-10-25 11:58:53 +00:00
..
boot.img [grub] add Grub 2.0 support 2014-11-17 23:41:46 +00:00
core.img [grub] update GRUB to 2.16 release 2026-10-23 01:24:26 +01:00
grub2_version.h [grub] fix embedded GRUB version still being reported as 2.14 2026-10-25 11:58:53 +00:00
readme.txt [grub] update GRUB to 2.16 release 2026-10-23 01:24:26 +01:00

This directory contains the Grub 2.0 boot records that are used by Rufus

* boot.img and core.img were created from:
  https://gitlab.freedesktop.org/api/v4/projects/26558/packages/generic/source-assets/grub-2.16/grub-2.16.tar.xz
  on a Debian 13 x64 system using the commands:
    ./autogen.sh
    # --enable-boot-time for Manjaro Linux
    ./configure --disable-nls --enable-boot-time
    make -j4
    cd grub-core
    ../grub-mkimage -v -O i386-pc -d. -p\(hd0,msdos1\)/boot/grub biosdisk fat exfat ext2 ntfs ntfscomp part_msdos -o core.img

* boot.img has been modified to nop the jump @ 0x66 as per grub2's setup.c comments:
  /* If DEST_DRIVE is a hard disk, enable the workaround, which is
     for buggy BIOSes which don't pass boot drive correctly. Instead,
     they pass 0x00 or 0x01 even when booted from 0x80.  */

* Note that, for convenience reasons, the content of boot.img is *not* the one that
  Rufus processes when writing the MBR.
  Instead, the byte array from src/ms-sys/inc/mbr_grub2.h (whose content is identical)
  is what Rufus uses. If you modify these files, be mindful that you may also need
  to update the array in mbr_grub2.h.

* For details, see src/format.c, src/msys/br.c and src/msys/inc/mbr_grub2.h.