]> git.proxmox.com Git - pve-docs.git/blobdiff - system-booting.adoc
update link qemu documentation non web.archive
[pve-docs.git] / system-booting.adoc
index 82aa27338867113b31f969912e6e3c215d382e8a..24ceb7ee91df8ed7b2809ea0763193bad64d9d48 100644 (file)
@@ -12,8 +12,9 @@ For EFI Systems installed with ZFS as the root filesystem `systemd-boot` is
 used. All other deployments use the standard `grub` bootloader (this usually
 also applies to systems which are installed on top of Debian).
 
+
 [[sysboot_installer_part_scheme]]
-Partitioning scheme used by the installer
+Partitioning Scheme Used by the Installer
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 The {pve} installer creates 3 partitions on the bootable disks selected for
@@ -39,6 +40,45 @@ The created partitions are:
 Partition of all bootable disks for supporting older systems.
 
 
+[[sysboot_determine_bootloader_used]]
+Determine which Bootloader is Used
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+[thumbnail="screenshot/boot-grub.png", float="left"]
+
+The simplest and most reliable way to determine which bootloader is used, is to
+watch the boot process of the {pve} node.
+
+You will either see the blue box of `grub` or the simple black on white
+`systemd-boot`.
+
+[thumbnail="screenshot/boot-systemdboot.png"]
+
+Determining the bootloader from a running system might not be 100% accurate. The
+safest way is to run the following command:
+
+
+----
+# efibootmgr -v
+----
+
+If it returns a message that EFI variables are not supported, `grub` is used in
+BIOS/Legacy mode.
+
+If the output contains a line that looks similar to the following, `grub` is
+used in UEFI mode.
+
+----
+Boot0005* proxmox      [...] File(\EFI\proxmox\grubx64.efi)
+----
+
+If the output contains a line similar to the following, `systemd-bood` is used.
+
+----
+Boot0006* Linux Boot Manager   [...] File(\EFI\systemd\systemd-bootx64.efi)
+----
+
+
 [[sysboot_grub]]
 Grub
 ~~~~
@@ -86,8 +126,9 @@ The following kernel versions are configured by default:
 
 * the currently running kernel
 * the version being newly installed on package updates
-* the two latest kernels
-* the latest version of each kernel series (e.g. 4.15, 5.0).
+* the two latest already installed kernels
+* the latest version of the second-to-last kernel series (e.g. 4.15, 5.0), if applicable
+* any manually selected kernels (see below)
 
 The ESPs are not kept mounted during regular operation, in contrast to `grub`,
 which keeps an ESP mounted on `/boot/efi`. This helps to prevent filesystem
@@ -119,7 +160,7 @@ initrd   /EFI/proxmox/5.0.15-1-pve/initrd.img-5.0.15-1-pve
 .Manually keeping a kernel bootable
 
 Should you wish to add a certain kernel and initrd image to the list of
-bootable kernel use `pve-efiboot-tool kernel add`.
+bootable kernels use `pve-efiboot-tool kernel add`.
 
 For example run the following to add the kernel with ABI version `5.0.15-1-pve`
 to the list of kernels to keep installed and synced to all ESPs:
@@ -148,6 +189,8 @@ selected kernels, for example:
 pve-efiboot-tool kernel remove 5.0.15-1-pve
 ----
 
+NOTE: It's required to run `pve-efiboot-tool refresh` to update all EFI System
+Partitions (ESPs) after a manual kernel addition or removal from above.
 
 [[sysboot_systemd_boot_setup]]
 .Setting up a new partition for use as synced ESP
@@ -180,19 +223,26 @@ trigger a refresh of all configured ESPs.
 .Updating the configuration on all ESPs
 
 To copy and configure all bootable kernels and keep all ESPs listed in
-`/etc/kernel/pve-efiboot-uuids` in sync you just need to run `pve-efiboot-tool
-refresh`.
-(The equivalent to running `update-grub` on Systems being booted with `grub`).
+`/etc/kernel/pve-efiboot-uuids` in sync you just need to run:
+
+----
+ pve-efiboot-tool refresh
+----
+(The equivalent to running `update-grub` on systems being booted with `grub`).
 
 This is necessary should you make changes to the kernel commandline, or want to
-sync all kernels and initrds after regenerating the latter.
+sync all kernels and initrds.
+
+NOTE: Both `update-initramfs` and `apt` (when necessary) will automatically
+trigger a refresh.
+
 
 [[sysboot_edit_kernel_cmdline]]
-Editing the kernel commandline
+Editing the Kernel Commandline
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 You can modify the kernel commandline in the following places, depending on the
-bootloarder used:
+bootloader used:
 
 .Grub
 
@@ -203,6 +253,6 @@ The kernel commandline needs to be placed in the variable
 
 .Systemd-boot
 
-The kernel commandline needs to be placed as line in `/etc/kernel/cmdline`
-Running `/etc/kernel/postinst.d/zz-pve-efiboot` sets it as `option` line for
-all config files in `loader/entries/proxmox-*.conf`.
+The kernel commandline needs to be placed as one line in `/etc/kernel/cmdline`.
+To apply your changes, run `pve-efiboot-tool refresh`, which sets it as the
+`option` line for all config files in `loader/entries/proxmox-*.conf`.