My idea was, to use "sudo pacman -Syuw", then let boot the system itself in kvm with snapshot=on, do "sudo pacman -Su" and when it seems to be ok, shut down the vm an do "sudo pacman -Su" in real.
No need to clone the whole system first: that's a waste of time and unnecessary writes on the ssd.
Like this (+ Attachment):
#!/bin/bash
if [ $# == 0 ];then echo "vms /dev/sd? …";exit;fi
cl="qemu-system-x86_64 -nodefaults -enable-kvm -cpu host -smp cores=4 -m 4G -vga none -device virtio-vga-gl -display sdl,gl=on -audio sdl,model=hda -boot menu=on"
while [ $# -gt 0 ]
do cl=$cl" -drive file=/dev/sd$1,if=virtio,aio=io_uring,snapshot=on,format=raw"
shift;done
$cl
Edit: "-m 4G" could be a little low for that. 8G should be enough.
Edit2: You have to belong to "disk" or use "sudo qemu-system-x86_64 -run-with user=$USER …"