boot: Only do full driver initialization in VMs
Doing the reconnect dance on some real firmware creates huge delays on
boot. This should not be needed anymore as we now ask the firmware to
make console devices and xbootldr partitions available explicitly in a
more targeted fashion.
Fixes: #25510
(cherry picked from commit f6d59e2ebfc1bf50683a2e640aad501c372a50e4)
Note: I reapplied the original patch by hand, hopefully breaking nothing
in the process. In 'main' open_volume() was changed to call either
vmm_open() or open_volume(), and the call to reconnect_all_drivers() was
moved to vmm_open(). Here, that call is moved to the point where open_volume()
is called, guarded by is_direct_boot(().