First of all (you did already, but others finding this might wonder as it isn't auto-installed as dependency in 18.04 - it is on later releases) you need to install ovmf
$ apt install ovmf
I tried the same on 18.04 and 20.04 and both worked fine.
Note: A common reason for this error is to use arm64 EFI roms on x86 (example 1, example 2, but your config ...
IIRC this part of the libvirt backend uses netcf which only can work with the pre systemd-networkd era of network configuration (read not a new 18.04).
Going forward Ubuntu switched to use udev backend instead (>=Cosmic).
You might be able to make Bionic work (unsupported) via:
apt install netcf libnetcf1 ifconfig
But that only works if you have an ...
Do you want to run a copy / clone of A-Ubuntu inside a VM hosted by partB-Windows?
Or do you want to run the partA-Ubuntu from a VM hosted by partB-Windows?
Both are possible, first option is harder to maintain. Someone have documented all steps on this site.
The second option is really easy as Linux is friendly :
Dump partA to an image, convert it to a VM ...
libvirt (and thereby virt-manager, virt-install, ...) do not probe/know the actual bridges on the system. You have already defined your vlans and bridges via netplan, which is great and the correct step #1.
By default there only is the default network which is a NAT based local bridge, you need to define a network. In that you control what bridges, ...
From revision #6 of the question:
grep: /etc/resolv.conf: No such file or directory meant that this was a dead symlink and so I removed resolv.conf and defined the name server to be used by the enp0s8 dhcp interface as Google DNS with echo "nameserver 18.104.22.168" > /etc/resolv.conf, creating the resolv.conf file with the associated Google DNS information. ...