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_pstateis 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.