If you've recently installed Proxmox just like me and need to adjust kernel parameters (e.g., for CPU power management), you might run into issues when using
proxmox-boot-tool
. Unlike GRUB, which is commonly used on Linux, Proxmox often defaults to
systemd-boot when using
UEFI. This guide explains how to configure Proxmox’s boot tool correctly and adjust CPU frequency settings.
---
Step 1: Check Your Bootloader
First, determine whether your system is using
proxmox-boot-tool
(which means
systemd-boot instead of GRUB).
Run:
If you see something like:
Bash:
System currently booted with uefi
<UUID> is configured with: uefi (versions: 6.8.12-4-pve)
your system is using
systemd-boot, and you
should not edit /etc/default/grub. Instead, modify
/etc/kernel/cmdline
.
---
Step 2: Identify the Correct root= Parameter
Proxmox requires a valid
root=
parameter in
/etc/kernel/cmdline.
If this is missing, running
proxmox-boot-tool refresh
will result in:
Bash:
No root= parameter in /etc/kernel/cmdline found!
To find the correct root partition, use:
Example output:
Bash:
TARGET SOURCE FSTYPE OPTIONS
/ /dev/mapper/pve-root ext4 rw,relatime,errors=remount-ro
In this case, the root partition is
/dev/mapper/pve-root (common with LVM installations). If using ZFS, it might look like:
Bash:
/ rpool/ROOT/pve-1 zfs rw,relatime
where
rpool/ROOT/pve-1
is the ZFS root.
---
Step 3: Update Kernel Parameters
Now, edit
/etc/kernel/cmdline
:
Modify it to include the correct root partition:
-
For LVM-based installs (EXT4/BTRFS):
Bash:
root=/dev/mapper/pve-root quiet amd_pstate=passive
-
For ZFS-based installs:
Bash:
root=ZFS=rpool/ROOT/pve-1 quiet amd_pstate=passive
⚠
Ensure that everything is on a single line with no line breaks!
---
Step 4: Apply Changes
After updating
/etc/kernel/cmdline
, refresh the boot configuration:
Bash:
proxmox-boot-tool refresh
If no errors appear, reboot your system:
---
Step 5: Verify amd_pstate is Active
After rebooting, check whether
amd_pstate
is correctly loaded:
Bash:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver
If the output is:
then the new driver is active.
To check the minimum allowed CPU frequency:
Bash:
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_min_freq
If you want to lower it further, try:
Bash:
echo 800000 | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_min_freq
(
800000
represents
800MHz; adjust as needed.)
---
What If My CPU Doesn't Go Below 2.2GHz?
If your CPU still doesn’t go below a certain frequency (e.g., 2.2 GHz), it might be limited by:
1.
Your processor's hardware P-state restrictions.
2.
BIOS/UEFI settings—some CPUs allow setting a lower
minimum frequency via the BIOS.
---
Final Notes
-
Do NOT edit /etc/default/grub on systems using
proxmox-boot-tool
. Use
/etc/kernel/cmdline
instead.
-
Always run proxmox-boot-tool refresh after modifying kernel parameters.
-
Check /proc/cmdline after reboot to confirm that the parameters are applied:
- If using
amd_pstate
, ensure your kernel supports it (
Proxmox 6.8+ is recommended).
This guide should help users properly configure
proxmox-boot-tool
and adjust CPU power management settings without running into boot issues.