You have the GRUB bootloader installed on a diskless system? Your bootloader lives on the PXE server - you could just remove the local GRUB packages.
The error message is caused after each kernel update as
update-grub, which is just a wrapper for
grub-mkconfig, which will among other things run
grub-probe that causes the error message. The
grub-probe has a built-in assumption that whenever it's run, a local bootloader is being used, and it's confused by the NFS-mounted root filesystem.
If you prefer to have the GRUB packages around for whatever reason (e.g. to allow easy access to GRUB documentation and man pages), you might instead delete
/etc/kernel/postrm.d/zz-update-grub, or preferably change them to just run
exit 0 because there will be no local bootloader to update on a diskless system.
(Deleting them would just cause them to get reinstalled by the next GRUB package update; replacing them with a custom no-op script will have the package management leave your customizations alone unless major changes happen in Debian's GRUB integration, as they are declared as configuration files by the
grub2-common package. And even if major changes happen, you would get a prompt from the package management, asking you whether or not the customized file should be replaced.)
You might also consider creating your own script in
/etc/kernel/postrm.d/ that would copy the most up-to-date kernel and its initramfs file to the appropriate location in the PXE boot server, if you haven't already done that. Otherwise you will have to do the copying manually at every kernel update... which usually means you will be stuck with an unpatched kernel until you get around to doing it.