You’re correct that this is what happens at one of the abstraction layers. But the choice of that layer is pretty arbitrary. By abstraction layers:
L1: hypervisor interface: uncountably many VMs
L2: hypervisor implementation: countably many VMs
L3: semiconductors: no VMs, only high and low signals
L4: electrons: no high and low signals, only electromagnetic fields
So yes, on L2 the number of VMs is finite. But why morality should count what happens on L2 and not on L1 or L3, L4? This is too arbitrary.
You’re correct that this is what happens at one of the abstraction layers. But the choice of that layer is pretty arbitrary. By abstraction layers:
L1: hypervisor interface: uncountably many VMs
L2: hypervisor implementation: countably many VMs
L3: semiconductors: no VMs, only high and low signals
L4: electrons: no high and low signals, only electromagnetic fields
So yes, on L2 the number of VMs is finite. But why morality should count what happens on L2 and not on L1 or L3, L4? This is too arbitrary.