quick-docs/modules/ROOT/pages/_partials/2delete-proc_using-grub2-prompt.adoc

147 lines
3.7 KiB
Text

= 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 <<btrfs-boot-setup, Pre-boot setup for BTRFS>> or the <<lvm-boot-setup, Pre-boot setup for LVM>> 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
----