Linux Boot Loader/GRUB2
Jump to navigation
Jump to search
${BOOT}/grub/grub.cfg
insmod part_<gpt|msdos> insmod <btrfs|ext4|f2fs|fat32|jfs|ntfs|xfs|zfs> insmod gettext search --no-floppy --set=root --label <Boot_Filesystem_Label> loadfont "/grub/fonts/unicode.pf2" terminal_input console terminal_output console function set_resolutions { for resolution in 1920x1080 1680x1050 1440x900 1368x768 1366x768 1360x768 1280x720 1280x1024 1024x600 1024x768 800x480 800x600 640x480; do for colordepth in 32 16 8; do modes=${modes}${resolution}x${colordepth}, done done modes=${modes}auto } function load_gfxterm { insmod all_video insmod gfxterm set gfxpayload=keep set_resolutions set gfxmode=${modes} terminal_output gfxterm } function load_theme { insmod png load_gfxterm set theme=/grub/themes/<theme-name>/theme.txt } set timeout=2 set default=0 menuentry 'Arch Linux (default)' --class desktop { echo 'Loading kernel...' linux /arch/boot/vmlinuz-linux-zen root=LABEL=<Root_Filesystem_Label> rootfs=<fs-type> rootflags=noatime,compress-force=zstd,subvol=arch rw consoleblank=0 nvidia-drm.modeset=1 quiet splash loglevel=3 rd.udev.log_priority=3 rd.systemd.show_status=auto vt.global_cursor_default=0 echo 'Loading initramfs...' initrd /arch/boot/initramfs-linux-zen.img load_gfxterm } menuentry 'Arch Linux (verbose)' --class desktop { echo 'Loading kernel...' linux /arch/boot/vmlinuz-linux-zen root=LABEL=<Root_Filesystem_Label> rootfs=<fs-type> rootflags=noatime,compress-force=zstd,subvol=arch rw consoleblank=0 nvidia-drm.modeset=1 echo 'Loading initramfs...' initrd /arch/boot/initramfs-linux-zen.img load_gfxterm } menuentry 'Arch Linux (fallback)' --class desktop { echo 'Loading kernel...' linux /arch/boot/vmlinuz-linux-zen root=LABEL=<Root_Filesystem_Label> rootfs=<fs-type> rootflags=noatime,compress-force=zstd,subvol=arch rw consoleblank=0 nvidia-drm.modeset=1 echo 'Loading initramfs...' initrd /arch/boot/initramfs-linux-zen-fallback.img load_gxfterm } menuentry 'Arch Linux (console)' --class desktop { echo 'Loading kernel...' linux /arch/boot/vmlinuz-linux-zen root=LABEL=<Root_Filesystem_Label> rootfs=<fs-type> rootflags=noatime,compress-force=zstd,subvol=arch rw consoleblank=0 nvidia-drm.modeset=1 systemd.unit=multi-user.target echo 'Loading initramfs...' initrd /arch/boot/initramfs-linux-zen-fallback.img load_gfxterm } menuentry 'Arch Linux (rescue)' --class desktop { echo 'Loading kernel...' linux /arch/boot/vmlinuz-linux-zen root=LABEL=<Root_Filesystem_Label> rootfs=<fs-type> rootflags=noatime,compress-force=zstd,subvol=arch rw consoleblank=0 nvidia-drm.modeset=1 systemd.unit=rescue.target echo 'Loading initramfs...' initrd /arch/boot/initramfs-linux-zen-fallback.img load_gfxterm } if [ ${grub_platform} == "efi" ]; then menuentry 'UEFI Firmware Settings' --id 'uefi-firmware' { fwsetup } if [ ${grub_cpu} == x86_64 ]; then if [ -e /EFI/tools/fwupdx64.efi ]; then menuentry 'Firmware Update' --id 'uefi-update' { insmod chain search --no-floppy --set=root --file /EFI/tools/fwupdx64.efi chainloader /EFI/tools/fwupdx64.efi } fi if [ -e /shellx64.efi ]; then menuentry 'UEFI Shell' --id 'uefi-shell' { insmod chain search --no-floppy --set=root --file /shellx64.efi chainloader /shellx64.efi } fi if [ -e /memtest86/bootx64.efi ]; then menuentry 'MemTest86' --id 'memtest' { insmod chain search --no-floppy --set=root --file /memtest86/bootx64.efi chainloader /memtest86/bootx64.efi } fi elif [ ${grub_cpu} == i386 ]; then if [ -e /EFI/tools/fwupdia32.efi ]; then menuentry 'UEFI Firmware Settings' --id 'uefi-update' { insmod chain search --no-floppy --set=root --file /EFI/tools/fwupdia32.efi chainloader /EFI/tools/fwupdia32.efi } fi if [ -e /shellia32.efi ]; then menuentry 'UEFI Shell' --id 'uefi-shell' { insmod chain search --no-floppy --set=root --file /shellia32.efi chainloader /shellia32.efi } fi if [ -e /memtest86/bootia32.efi ]; then menuentry 'MemTest86' --id 'memtest' { insmod chain search --no-floppy --set=root --file /memtest86/bootia32.efi chainloader /memtest86/bootia32.efi } fi fi elif [ ${grub_platform} == "pc" ]; then if [ -e /memtest86+/memtest.bin ]; then menuentry "Memtest86+" { linux16 /memtest86+/memtest.bin } elif [ -e /boot/memtest86+/memtest.bin ]; then menuentry "Memtest86+" { linux16 /boot/memtest86+/memtest.bin } fi fi menuentry "System restart" { echo 'System rebooting...' reboot } menuentry "System shutdown" { echo 'System shutting down...' halt }