PVE 系统如何使用内核选项禁用 PCIe 省电 (ASPM)
在 Proxmox VE (PVE) 系统中,可以通过添加内核选项 pcie_aspm=off 来禁用 PCIe 的主动状态电源管理 (ASPM)。
PVE 系统根据其安装方式(特别是文件系统和启动模式)使用两种不同的引导加载程序:GRUB 或 systemd-boot。需要首先确定当前系统正在使用哪一种,然后才能正确应用设置。
PVE 使用内核选项禁用 PCIe ASPM。
在 Proxmox VE (PVE) 系统中,可以通过添加内核选项 pcie_aspm=off 来禁用 PCIe 的主动状态电源管理 (ASPM)。
PVE 系统根据其安装方式(特别是文件系统和启动模式)使用两种不同的引导加载程序:GRUB 或 systemd-boot。需要首先确定当前系统正在使用哪一种,然后才能正确应用设置。
可以通过以下任一方法来确定当前引导加载程序。
在 PVE 主机的 Shell (CLI) 中运行以下命令:
proxmox-boot-tool status如果看到类似 Re-executing '/usr/sbin/proxmox-boot-tool' ... 的输出,并且它列出了当前 EFI 系统分区 (ESP),那么正在使用 systemd-boot。
如果看到 proxmox-boot-tool: command not found 或其他错误,很可能在使用 GRUB。
如果当前系统使用 UEFI 启动,此命令非常可靠:
efibootmgr -v查看输出:
如果启动项指向 ...File(\EFI\proxmox\grubx64.efi)...,使用的是 GRUB。
如果启动项指向 ...File(\EFI\systemd\systemd-bootx64.efi)...,使用的是 systemd-boot。
运行 ls /etc/default/grub。如果该文件存在,很可能在使用 GRUB。
ls /etc/default/grub运行 ls /etc/kernel/cmdline。如果该文件存在,很可能在使用 systemd-boot。
ls /etc/kernel/cmdline经验法则:
systemd-boot 通常用于在 UEFI 模式下安装并使用 ZFS 作为根文件系统的系统。
GRUB 通常用于 Legacy/BIOS 模式安装,或在 UEFI 模式下安装并使用 ext4/LVM 的系统。
请仅遵循适用于系统的方法。
这是为 ZFS on UEFI 系统添加内核参数的推荐方法。
编辑内核命令行文件:
使用 nano 或喜欢的文本编辑器打开 /etc/kernel/cmdline 文件。
nano /etc/kernel/cmdline添加参数:
该文件通常只有一行。在这一行的末尾,添加一个空格,然后输入 pcie_aspm=off。
修改前示例:
root=ZFS=rpool/ROOT/pve-1 boot=zfs修改后示例:
root=ZFS=rpool/ROOT/pve-1 boot=zfs pcie_aspm=off保存并关闭文件 (在 nano 中, 按 Ctrl+O, Enter, 然后 Ctrl+X)。
刷新引导加载程序:
这一步用于写入启动配置。运行以下命令以应用更改:
proxmox-boot-tool refresh重启系统:
reboot这是用于 Legacy/BIOS 或 ext4/LVM 系统的标准方法。
编辑 GRUB 配置文件:
使用 nano 或喜欢的文本编辑器打开 /etc/default/grub 文件。
nano /etc/default/grub找到并修改 GRUB_CMDLINE_LINUX_DEFAULT:
找到以 GRUB_CMDLINE_LINUX_DEFAULT= 开头的行。在该行引号内的末尾,添加 pcie_aspm=off。
修改前示例:
GRUB_CMDLINE_LINUX_DEFAULT="quiet"修改后示例:
GRUB_CMDLINE_LINUX_DEFAULT="quiet pcie_aspm=off"保存并关闭文件 (在 nano 中, 按 Ctrl+O, Enter, 然后 Ctrl+X)。
更新 GRUB:
运行以下命令以重新生成 GRUB 配置文件:
update-grub重启系统:
reboot系统重启后,登录到 PVE 主机的 Shell 并运行以下命令:
cat /proc/cmdline检查命令的输出。应该能在文本行中看到添加的 pcie_aspm=off 参数。如果看到了,说明禁用 ASPM 的内核选项已成功应用。