There are claims that some UEFI allegedly natively support NTFS. Preload the required GRUB modules to support booting from NTFS on such systems. Additionally preload the exFAT and UEF modules, because, why not?
84 lines
2.6 KiB
INI
84 lines
2.6 KiB
INI
# Load partition table and file system modules
|
|
insmod part_gpt
|
|
insmod part_msdos
|
|
insmod fat
|
|
insmod iso9660
|
|
insmod ntfs
|
|
insmod ntfscomp
|
|
insmod exfat
|
|
insmod udf
|
|
|
|
# Use graphics-mode output
|
|
insmod all_video
|
|
insmod font
|
|
if loadfont "${prefix}/fonts/unicode.pf2" ; then
|
|
insmod gfxterm
|
|
set gfxmode="auto"
|
|
terminal_input console
|
|
terminal_output gfxterm
|
|
fi
|
|
|
|
# Enable serial console
|
|
if serial --unit=0 --speed=115200; then
|
|
terminal_input --append serial
|
|
terminal_output --append serial
|
|
fi
|
|
|
|
# Search for the ISO volume
|
|
regexp --set=1:ARCHISO_HINT '^\(([^)]+)\)' "${cmdpath}"
|
|
search --no-floppy --set=root --file '/.disk/%UUID_SEARCH_FILENAME%.uuid' --hint "${ARCHISO_HINT}"
|
|
probe --set ARCHISO_UUID --fs-uuid "${root}"
|
|
|
|
# Set default menu entry
|
|
default=archlinux
|
|
timeout=15
|
|
timeout_style=menu
|
|
|
|
# GRUB init tune for accessibility
|
|
play 600 988 1 1319 4
|
|
|
|
# Menu entries
|
|
|
|
menuentry "Arch Linux install medium (x86_64, UEFI)" --class arch --class gnu-linux --class gnu --class os --id 'archlinux' {
|
|
set gfxpayload=keep
|
|
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisodevice=/dev/disk/by-uuid/${ARCHISO_UUID}
|
|
initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
|
}
|
|
|
|
menuentry "Arch Linux install medium with speakup screen reader (x86_64, UEFI)" --hotkey s --class arch --class gnu-linux --class gnu --class os --id 'archlinux-accessibility' {
|
|
set gfxpayload=keep
|
|
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisodevice=/dev/disk/by-uuid/${ARCHISO_UUID} accessibility=on
|
|
initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
|
}
|
|
|
|
if [ "${grub_platform}" == "efi" ]; then
|
|
if [ "${grub_cpu}" == "x86_64" ]; then
|
|
menuentry "Run Memtest86+ (RAM test)" --class memtest86 --class gnu --class tool {
|
|
set gfxpayload=800x600,1024x768
|
|
linux /%INSTALL_DIR%/boot/memtest.efi
|
|
}
|
|
menuentry "UEFI Shell" {
|
|
insmod chain
|
|
chainloader /shellx64.efi
|
|
}
|
|
elif [ "${grub_cpu}" == "i386" ]; then
|
|
menuentry "UEFI Shell" {
|
|
insmod chain
|
|
chainloader /shellia32.efi
|
|
}
|
|
fi
|
|
|
|
menuentry 'UEFI Firmware Settings' --id 'uefi-firmware' {
|
|
fwsetup
|
|
}
|
|
fi
|
|
|
|
menuentry "System shutdown" --class shutdown --class poweroff {
|
|
echo "System shutting down..."
|
|
halt
|
|
}
|
|
|
|
menuentry "System restart" --class reboot --class restart {
|
|
echo "System rebooting..."
|
|
reboot
|
|
}
|