mirror of
https://pagure.io/fedora-docs/quick-docs.git
synced 2024-11-30 23:38:18 +00:00
147 lines
3.7 KiB
Text
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
|
|
----
|