= Using the GRUB2 boot prompt [[using-the-grub-2-boot-prompt]] If improperly configured, *GRUB2* may fail to load and subsequently drop to a boot prompt. To boot into the system, follow the steps below. .Procedure . Load the necessary modules to read your system's partitions (you will also need to load `part_msdos` or `part_gpt`, depending on your partition table). + * For BTRFS filesystems (Fedora 33 or newer). + ---- grub> insmod btrfs ---- + * For LVM filesystems (older than Fedora 33). + ---- grub> insmod xfs grub> insmod lvm ---- . List the drives which *GRUB2* sees. + ---- grub> ls ---- . Examine the output to understand the partition table of the `/dev/sda` device. The following example shows a DOS partition table with three partitions. + ---- (hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1) ---- + A GPT partition table of the `/dev/sda` device with four partitions could look like this. + ---- (hd0) (hd0,gpt4) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1) ---- . Probe each partition of the drive and locate your `vmlinuz` and `initramfs` files. + ---- grub> ls (hd0,1)/ ---- + The outcome of the previous command will list the files on `/dev/sda1`. The partition that contains the `/boot` directory is the correct one. There you will search for the full names of the `vmlinuz` and `initramfs` files. . Follow the <> or the <> to recover your system. . After the pre-boot setup, boot the system. + ---- grub> boot ---- . To restore the bootloader's functionality, regenerate the *GRUB2* configuration file and reinstall the bootloader, as described in xref:adding-other-operating-systems-grub2[Adding other operating systems to the *GRUB2* menu]. [[btrfs-boot-setup]] == Pre-boot setup for BTRFS filesystems. * On BIOS systems. . Set *GRUB2* root to your `/boot` partition. If your `/boot` partition is `(hd0,msdos1)`, the command will be. + ---- grub> set root=(hd0,msdos1) ---- + . Next, select the desired kernel. Set the `/root` partition (e.g. `/dev/sda2`). + ---- grub> linux /vmlinuz-5.14.10-300.fc35.x86_64 root=/dev/sda2 ro rootflags=subvol=root ---- + * On UEFI systems. . Set *GRUB2* root to your EFI system partition. If your EFI system partition is `(hd0,gpt1)`, use this command. + ---- grub> set root=(hd0,gpt1) ---- + . Next, select the desired kernel. Find the path to `vmlinuz` and set the `/root` partition (e.g. `/dev/sda3`). + ---- grub> linux (hd0,gpt2)/vmlinuz-5.14.10-300.fc35.x86_64 root=/dev/sda3 ro rootflags=subvol=root ---- + . Select the RAM filesystem that will be loaded. + ---- grub> initrd (hd0,gpt2)/initramfs-5.14.10-300.fc35.x86_64.img ---- [[lvm-boot-setup]] == Pre-boot setup for LVM filesystems. * On BIOS systems. . Set *GRUB2* root to your `/boot` partition. If your `/boot` partition is `(hd0,msdos1)`, use this command. + ---- grub> set root=(hd0,msdos1) ---- + . Next, select the desired kernel. Set `root` to the logical volume that corresponds to the `/root` directory. + ---- grub> linux /vmlinuz-3.0.0-1.fc16.i686 root=/dev/mapper/fedora_localhost--live-root ---- + . Select the RAM filesystem that will be loaded. + ---- grub> initrd /initramfs-3.0.0-1.fc16.i686.img ---- + * On UEFI systems. . Set *GRUB2* root to your EFI system partition. If your EFI system partition is `(hd0,gpt1)`, use this command. + ---- set root=(hd0,gpt1) ---- + . Next, select the desired kernel. Find the path to `vmlinuz` and set `root` to the logical volume that corresponds to the `/root` directory. + ---- linux (hd0,gpt2)/vmlinuz-3.0.0-1.fc16.i686 root=/dev/mapper/fedora_localhost--live-root ---- + . Select the RAM filesystem that will be loaded. + ---- initrd (hd0,gpt2)/initramfs-3.0.0-1.fc16.i686.img ----