Now I arrived at the same case you had - a slightly off-defaults guest that booted into the ISO again as we have configured it to do it that way. And now - while booted into the ISO you want to detach. Actually that won't work on a physical device either, the CD will refuse to eject as it is in use - something like that could happen here as well.
In both cases (Focal/Hirsute) at this stage it looks like this from the Host:
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw'/>
<source file='/var/lib/libvirt/images/CentOS-7-x86_64-Minimal-2009.iso' index='1'/>
<backingStore/>
<target dev='hda' bus='ide'/>
<readonly/>
<boot order='1'/>
<alias name='ide0-0-0'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
Detaching (=selecting to no more apply this iso as backing for the CDrom) this from the virt-manager UI interface gives works just fine.
From the Host it now looks like:
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw'/>
<source index='4'/>
<backingStore/>
<target dev='hda' bus='ide'/>
<readonly/>
<boot order='1'/>
<alias name='ide0-0-0'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
If I'd try to use it by now e.g. continue the installer the guest gets an I/O error on the cd, which is pretty much what you'd expect.
Now I arrived at the same case you had - a slightly off-defaults guest that booted into the ISO again as we have configured it to do it that way. And now - while booted into the ISO you want to detach. Actually that won't work on a physical device either, the CD will refuse to eject as it is in use - something like that could happen here as well.
In both cases (Focal/Hirsute) at this stage it looks like this from the Host: var/lib/ libvirt/ images/ CentOS- 7-x86_64- Minimal- 2009.iso' index='1'/> backingStore/ >
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw'/>
<source file='/
<
<target dev='hda' bus='ide'/>
<readonly/>
<boot order='1'/>
<alias name='ide0-0-0'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
Detaching (=selecting to no more apply this iso as backing for the CDrom) this from the virt-manager UI interface gives works just fine.
From the Host it now looks like: backingStore/ >
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw'/>
<source index='4'/>
<
<target dev='hda' bus='ide'/>
<readonly/>
<boot order='1'/>
<alias name='ide0-0-0'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
If I'd try to use it by now e.g. continue the installer the guest gets an I/O error on the cd, which is pretty much what you'd expect.