The problem I have is on a secure boot system my PE boots fine but it bypasses the grub options I've added, like bootable imaging apps and some other images for diagnostics.
Hi
It looks like you are installing/using
Grub2 in legacy mode (installed to
MBR).
UEFI works differently and never executes any code written on
sector 0 aka
MBR of a hard drive.
Legacy BIOS boot process >1. Complete power on self test (POST).
2. Check the boot order and if HDD is listed as first, check for
MBR magic number
AA55 on
LBA 0 (first logical sector).
3. If
MBR magic number is present, execute the assembly language instructions written on the
MBR. This code will be different for each boot loader/boot manager. For example,
Windows NT5 compatible
MBR code will look for a partition marked as
Active and if one found, execute the code written on
VBR (Volume Boot Record) of the partition. This VBR code will then look for and load
ntldr (NT loader) and it's the responsibility of the
ntldr to proceed with OS loading process.
Grub4dos MBR code will usually search for and load "
grldr".
UEFI BIOS boot process>UEFI BIOS is written in high level languages like "C" (instead of Assembly) and has much more capabilities like reading a file system directly (ie FAT16/32 and/or NTFS in some cases). This allows the UEFI firmware to directly read and load the OS boot loader without the need to read and execute any RAW assembly code written on
LBA 0 of the disk.
Here is how the general UEFI boot process works :
1. Complete the POST process.
2. Identify the "EFI System Partition" via checking the GUID (in case of GPT style partitioning).
3.Directly read the file system and check for the presence of
\EFI\BOOT\BOOTX64.EFI file (UEFI x64 boot loader ) and chain-load it.
BOOTX64.EFI proceed with loading the respective OS (Windows/Linux) .If the firmware is capable of "SecureBoot" and if it's enabled, the boot loader should be a signed one. This will make sure that the boot process is free from any boot viruses.
Hope that now you will have a basic idea of how a UEFI boot process is different from legacy/mbr BIOS mode. Since the UEFI boot process completely ignores the MBR, executing
grub4dos or
Grub2 legacy code is not possible. If the UEFI firmware supports
legacy/CSM mode, you can enable it to boot from a
grub4dos based bootable USB stick.
Grub2 has a UEFI version and one can actually create a multi-boot USB stick using it. However you need UEFI based bootable images and the Grub2 menu should be manually edited to chain-load the respective UEFI boot loader of each utilities. That's certainly not an easy task.