はじめに
Proxmoxをアップグレードしました。具体的なバージョンは、8.2.7→9.0.5です。
バージョンアップするにあたっての手順は以下のとおりです。
- proxmox環境のバックアップ
- 事前バージョンアップ(8.2.7→8.4.1以上)
- ツールによるチェック(pve8to9)
- バージョンアップ

現状確認
以下のとおりでした。
root@pvehome:~# uname -a
Linux pvehome 6.8.12-2-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-2 (2024-09-05T10:03Z) x86_64 GNU/Linux
# Proxmoxバージョンの確認
root@pvehome:~# pveversion
pve-manager/8.2.7/3e0176e6bb2ade3b (running kernel: 6.8.12-2-pve)
# ディスク容量の確認
root@pvehome:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 7.7G 0 7.7G 0% /dev
tmpfs 1.6G 3.2M 1.6G 1% /run
/dev/mapper/pve-root 94G 11G 80G 12% /
tmpfs 7.7G 46M 7.7G 1% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
efivarfs 192K 98K 90K 53% /sys/firmware/efi/efivars
/dev/nvme0n1p2 1022M 12M 1011M 2% /boot/efi
/dev/fuse 128M 20K 128M 1% /etc/pve
tmpfs 1.6G 0 1.6G 0% /run/user/0
# メモリ使用状況の確認
root@pvehome:~# free -m
total used free shared buff/cache available
Mem: 15740 3301 11708 59 1075 12438
Swap: 8191 0 8191
root@pvehome:~# qm list
VMID NAME STATUS MEM(MB) BOOTDISK(GB) PID
100 owrt running 1024 5.00 1065
101 alp-adgh running 1024 10.00 1094
102 win11mcee stopped 8192 128.00 0
Proxmoxのバックアップ(設定ファイル)
設定ファイルのバックアップを行います。
## 設定ファイルのバックアップ
## /root以下に/root/proxmox-config-backup.tar.gzの名前で /etc/pve以下をバックアップ
root@pvehome:~# tar czvf /root/proxmox-config-backup.tar.gz /etc/pve
tar: Removing leading `/' from member names
/etc/pve/
~略~
/etc/pve/nodes/pvehome/qemu-server/102.conf
## shutdown(VMID 100、101) in console
root@pvehome:~# qm list
VMID NAME STATUS MEM(MB) BOOTDISK(GB) PID
100 owrt stopped 1024 5.00 0
101 alp-adgh stopped 1024 10.00 0
102 win11mcee stopped 8192 128.00 0
## 仮想マシンのバックアップ(重要なVMに対して実施)
root@pvehome:~# vzdump 100 --compress zstd
INFO: starting new backup job: vzdump 100 --compress zstd
~略~
INFO: creating vzdump archive '/var/lib/vz/dump/vzdump-qemu-100-2025_08_17-11_43_50.vma.zst'
~略~
INFO: Backup job finished successfully
root@pvehome:~# vzdump 101 --compress zstd
INFO: starting new backup job: vzdump 101 --compress zstd
~略~
INFO: creating vzdump archive '/var/lib/vz/dump/vzdump-qemu-101-2025_08_17-11_44_16.vma.zst'
~略~
INFO: Backup job finished successfully
## バックアップファイルの確認
root@pvehome:/var/lib/vz/dump# ls -l
total 322604
-rw-r--r-- 1 root root 1301 Aug 17 11:51 vzdump-qemu-100-2025_08_17-11_51_03.log
-rw-r--r-- 1 root root 35880020 Aug 17 11:51 vzdump-qemu-100-2025_08_17-11_51_03.vma.zst
-rw-r--r-- 1 root root 1184 Aug 17 11:44 vzdump-qemu-101-2025_08_17-11_44_16.log
-rw-r--r-- 1 root root 294452279 Aug 17 11:44 vzdump-qemu-101-2025_08_17-11_44_16.vma.zst
## scpコマンドでコピー (xxは転送先sshサーバのポート)
root@pvehome:/var/lib/vz/dump# scp -P xx vzdump-qemu-100-2025_08_17-11_51_03.vma.zst root@192.168.10.10:/share/homes/root/var/lib/vz/dump
root@192.168.10.10's password:
vzdump-qemu-100-2025_08_17-11_51_03.vma.zst 100% 34MB 9.9MB/s 00:03
## リポジトリの確認
root@pvehome:/# ls -alF /etc/apt/sources.list.d/
total 16
drwxr-xr-x 2 root root 4096 Oct 11 2024 ./
drwxr-xr-x 9 root root 4096 Oct 11 2024 ../
-rw-r--r-- 1 root root 77 Oct 11 2024 ceph.list
-rw-r--r-- 1 root root 73 Oct 11 2024 pve-enterprise.list
事前バージョンアップ(8.2.7→8.4.11)
Proxmox8から9へバージョンアップする前提条件としては、8.4.2以上でないといけないため、8.2.7から最新版である8.4.11へアップグレードします。
root@pvehome:/# apt update
Get:1 http://security.debian.org bookworm-security InRelease [48.0 kB]
~略~
N: Repository 'http://security.debian.org bookworm-security InRelease' changed its 'Suite' value from 'stable-security' to 'oldstable-security'
N: Repository 'http://ftp.jp.debian.org/debian bookworm InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
N: Repository 'http://ftp.jp.debian.org/debian bookworm-updates InRelease' changed its 'Suite' value from 'stable-updates' to 'oldstable-updates'
root@pvehome:/etc/network# apt dist-upgrade
Reading package lists... Done
~略~
Processing triggers for initramfs-tools (0.142+deb12u3) ...
update-initramfs: Generating /boot/initrd.img-6.8.12-13-pve
Running hook script 'zz-proxmox-boot'..
Re-executing '/etc/kernel/postinst.d/zz-proxmox-boot' in new private mount namespace..
No /etc/kernel/proxmox-boot-uuids found, skipping ESP sync.
Removable bootloader found at '/boot/efi/EFI/BOOT/BOOTX64.efi', but GRUB packages not set up to update it!
Run the following command:
echo 'grub-efi-amd64 grub2/force_efi_extra_removable boolean true' | debconf-set-selections -v -u
Then reinstall GRUB with 'apt install --reinstall grub-efi-amd64'
~略~
Processing triggers for pve-ha-manager (4.0.7) ...
root@pvehome:~# reboot
Failed to set wall message, ignoring: Transport endpoint is not connected
Call to Reboot failed: Transport endpoint is not connected
root@pvehome:~# pveversion
pve-manager/8.4.11/14a32011146091ed (running kernel: 6.8.12-13-pve)
上記では赤色のメッセージが表示されていますが、後で実行するのでここでは無視しておきます。
ツールによるチェック(pve8to9)
事前にpve8to9というコマンドにて、バージョンアップに関するチェックを行います。
root@pvehome:~# pve8to9
= CHECKING VERSION INFORMATION FOR PVE PACKAGES =
~略~
= CHECKING CLUSTER HEALTH/SETTINGS =
SKIP: standalone node.
= CHECKING HYPER-CONVERGED CEPH STATUS =
SKIP: no hyper-converged ceph setup detected!
= CHECKING CONFIGURED STORAGES =
~略~
= VIRTUAL GUEST CHECKS =
~略~
= MISCELLANEOUS CHECKS =
~略~
INFO: Checking bootloader configuration...
FAIL: systemd-boot meta-package installed. This will cause problems on upgrades of other boot-related packages. Remove 'systemd-boot' See https://pve.proxmox.com/wiki/Upgrade_from_8_to_9#sd-boot-warning for more information.
WARN: Removable bootloader found at '/boot/efi/EFI/BOOT/BOOTX64.efi', but GRUB packages not set up to update it!
Run the following command:
echo 'grub-efi-amd64 grub2/force_efi_extra_removable boolean true' | debconf-set-selections -v -u
Then reinstall GRUB with 'apt install --reinstall grub-efi-amd64'
~略~
NOTICE: Starting with PVE 9, autoactivation will be disabled for new LVM/LVM-thin guest volumes. This system has some volumes that still have autoactivation enabled. All volumes with autoactivations reside on local storage, where this normally does not cause any issues.
You can run the following command to disable autoactivation for existing LVM/LVM-thin guest volumes:
/usr/share/pve-manager/migrations/pve-lvm-disable-autoactivation
~略~
WARN: The matching CPU microcode package 'intel-microcode' could not be found! Consider installing it to receive the latest security and bug fixes for your CPU.
Ensure you enable the 'non-free-firmware' component in the apt sources and run:
apt install intel-microcode
~略~
= SUMMARY =
TOTAL: 43
PASSED: 32
SKIPPED: 6
WARNINGS: 2
FAILURES: 1
ATTENTION: Please check the output for detailed information!
Try to solve the problems one at a time and then run this checklist tool again.
エラー
FAIL: systemd-boot meta-package installed. This will cause problems on upgrades of other boot-related packages. Remove 'systemd-boot' See https://pve.proxmox.com/wiki/Upgrade_from_8_to_9#sd-boot-warning for more information.
エラーの修正
事前アップデートやツールによるチェックで出てきたエラーに対しての対応を行い、エラーやワーニングがでないことを確認します。
まずは、先ほど出力されていた以下ののエラーに対応します。
FAIL: systemd-boot meta-package installed. This will cause problems on upgrades of other boot-related packages. Remove 'systemd-boot' See https://pve.proxmox.com/wiki/Upgrade_from_8_to_9#sd-boot-warning for more information.
対応
# apt remove systemd-boot
続いて、1つめの警告に対応します。
WARN: Removable bootloader found at '/boot/efi/EFI/BOOT/BOOTX64.efi', but GRUB packages not set up to update it
Run the following command:
echo 'grub-efi-amd64 grub2/force_efi_extra_removable boolean true' | debconf-set-selections -v -u
Then reinstall GRUB with 'apt install --reinstall grub-efi-amd64'
対応
root@pvehome:~# echo 'grub-efi-amd64 grub2/force_efi_extra_removable boolean true' | debconf-set-selections -v -u
info: Trying to set 'grub2/force_efi_extra_removable' [boolean] to 'true'
info: Loading answer for 'grub2/force_efi_extra_removable'
root@pvehome:~# apt install --reinstall grub-efi-amd64
Reading package lists... Done
~略~
Processing triggers for shim-signed:amd64 (1.44+pmx1+15.8-1+pmx1) ...
続いて2つめの警告に対応します。
WARN: The matching CPU microcode package 'intel-microcode' could not be found! Consider installing it to receive the latest security and bug fixes for your CPU.
Ensure you enable the 'non-free-firmware' component in the apt sources and run:
apt install intel-microcode
対応
/etc/apt/sources.list を編集して non-free non-free-firmware を有効化。
root@pvehome:~# nano /etc/apt/sources.list
deb http://ftp.jp.debian.org/debian bookworm main contrib non-free non-free-firmware
deb http://ftp.jp.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
# security updates
deb http://security.debian.org bookworm-security main contrib non-free non-free-firmware
その後、apt updateを実施し、intel-microcodeをインストールします。
root@pvehome:~# apt update
root@pvehome:~# apt install intel-microcode
これでエラーと警告に対応したので、チェックを行います。
root@pvehome:~# pve8to9
= CHECKING VERSION INFORMATION FOR PVE PACKAGES =
Checking for package updates..
PASS: all packages up-to-date
Checking proxmox-ve package version..
PASS: proxmox-ve package has version >= 8.4-0
Checking running kernel version..
PASS: running kernel '6.8.12-13-pve' is considered suitable for upgrade.
= CHECKING CLUSTER HEALTH/SETTINGS =
SKIP: standalone node.
= CHECKING HYPER-CONVERGED CEPH STATUS =
SKIP: no hyper-converged ceph setup detected!
= CHECKING CONFIGURED STORAGES =
PASS: storage 'local' enabled and active.
PASS: storage 'local-lvm' enabled and active.
INFO: Checking storage content type configuration..
PASS: no storage content problems found
PASS: no storage re-uses a directory for multiple content types.
INFO: Check for usage of native GlusterFS storage plugin...
PASS: No GlusterFS storage found.
INFO: Checking whether all external RBD storages have the 'keyring' option configured
SKIP: No RBD storage configured.
= VIRTUAL GUEST CHECKS =
INFO: Checking for running guests..
PASS: no running guest detected.
INFO: Checking if LXCFS is running with FUSE3 library, if already upgraded..
SKIP: not yet upgraded, no need to check the FUSE library version LXCFS uses
INFO: Checking for VirtIO devices that would change their MTU...
PASS: All guest config descriptions fit in the new limit of 8 KiB
INFO: Checking container configs for deprecated lxc.cgroup entries
PASS: No legacy 'lxc.cgroup' keys found.
INFO: Checking VM configurations for outdated machine versions
PASS: All VM machine versions are recent enough
= MISCELLANEOUS CHECKS =
INFO: Checking common daemon services..
PASS: systemd unit 'pveproxy.service' is in state 'active'
INFO: Check for legacy 'filter' or 'group' sections in /etc/pve/notifications.cfg...
INFO: Check for legacy 'notification-policy' or 'notification-target' options in /etc/pve/jobs.cfg...
PASS: No legacy 'notification-policy' or 'notification-target' options found!
INFO: Check for LVM autoactivation settings on LVM and LVM-thin storages...
NOTICE: storage 'local-lvm' has guest volumes with autoactivation enabled
NOTICE: Starting with PVE 9, autoactivation will be disabled for new LVM/LVM-thin guest volumes. This system has some volumes that still have autoactivation enabled. All volumes with autoactivations reside on local storage, where this normally does not cause any issues.
You can run the following command to disable autoactivation for existing LVM/LVM-thin guest volumes:
/usr/share/pve-manager/migrations/pve-lvm-disable-autoactivation
= SUMMARY =
TOTAL: 42
PASSED: 34
SKIPPED: 6
WARNINGS: 0
FAILURES: 0
無事、WARNINGSとFAILURESが0になりましたので、アップグレードを実行します。
アップグレード実行(8.4.11→9.0.5)
ここまで来たら後は、アップグレードを実行するだけです。ドキドキしながら見守りましたが事前チェックに通っていたからか、特に問題なく更新できました。
root@pvehome:/etc/apt/sources.list.d# apt update
Get:1 http://download.proxmox.com/debian/pve trixie InRelease [2,771 B]
~略~
Get:17 http://ftp.jp.debian.org/debian trixie-updates/main Translation-en [396 B]
Fetched 16.9 MB in 22s (777 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
608 packages can be upgraded. Run 'apt list --upgradable' to see them.
# apt dist-upgrade
root@pvehome:/etc/apt/sources.list.d# pveversion
pve-manager/9.0.5/9c5600b249dbfd2f (running kernel: 6.8.12-13-pve)
リンク

