TLDR; Check your disk I/O or you'll spend hours fault finding for naught
The following are stream of consciousness notes of attempts to get a Hyper-V Ubuntu 25.04 VM working when the root cause was disk I/O exhaustion
Weird Issues Observed
A whole bunch of issues cause by exhausted disk I/O:
Ubuntu 25.04 VM that returns to running after a reboot. I click Connect... enter my password and it just displays an _ (underscore) in the top left of the console and never displays the Desktop
When starting Hyper-V Manager it said "cannot connect to virtual machine configuration storage" but after a few seconds the state changed back to "Off" or "Running" (if it is set to start on boot, or return to previous state)
A Goose Chase caused by a completely saturated D: drive
Enabling and Disabling Core Isolation
Just turned Core Isolation back on, rebooted and now when I login to Ubuntu 25.04 there is no option to increase resolution greate 1024x768 before I could select 1920x1080 amongst a heap of other resolutions

I then installed linux-image-extra-virtual
and rebooted and now the Ubuntu 25.04 is failing to boot (after waiting 7minutes)
Turn off Core Isolation again and try to boot. Booting takes about 1 minute 40 seconds to get to a login screen, but with Core Isolation off and linux-image-extra-virtual
I still can't adjust resolution

Adjusting the hyperv_fb settings
Next step is adjust the /etc/default/grub
to include GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=hyperv_fb:1920x1080"
and do sudo update-grub
and reboot
Also I forgot to enable "Guest Services" in the VM Settings so I did that just before the reboot.
Restart the Hyper-V service and shutdown Docker Desktop
Now I've tried to boot twice and still it's not booting. The screen has expanded to 1920x1080 and I can see the spinner. Waiting 6 or 7 minutes.
Change resoluton from Powershell
Set-VMVideo -vmname Ubuntu2504 -HorizontalResolution 1920 -VerticalResolution 1080 -ResolutionType Single
Been waiting 3 minutes and still no login prompt.
Turn on secure boot and choose the microsoft UEFI certs. Get the Grub boot screen option... select Ubuntu and get black screen. Hyper-V and Ubuntu Logo and Spinner now showing after ~1:20. Window is not 1920x1080. After 3 mins still no login prompt.
Bump ram to 12GB 12288MB
Hyper-V spinner and Ubuntu Logo again but still not progressing to GUI login.
Delete VM and create a new one. Install from ISO again "ubuntu-25.04-desktop-amd64.iso"
VM won't boot from ISO
Turn off secure boot.
Reboot into ISO install
Ubuntu live desktop still not showing up after ~3 minutes
Turn off Enhanced Session mode and restart install
Hyper-V Spinner Ubuntu Logo waiting....
Enlightenment arrives
OK now found the problem
My D: Drive was pegged at 100% Disk and wouldn't ramp down.
I opened Task Manager and it was showing Disk 100%
Then I opened Resource Monitor and it was showing that many files in d:\System Volume Information was being read and stealing needed disk i/o from Hyper-V
Moving the install to my SSD on C: allowed the VM to boot in less than a minute.
In conclusion, Suspicions
Multiple System
processes were reading D:\System Volume Information files (it appeared that I had 500GB of VSS Snapshots. I have a suspicion this could be SentinelOne VSS negatively interacting with the Volume
Work-a-round for the Problems
My D: drive is actually for data backup and storage so it's a 5400RPM 6TB WD Drive. So slow to start with.
I ended up removing it and putting in another 8TB WD drive. Still a 5400RPM drive but NOT Bitlocker Encrypted and not currently being thrashed by whatever was reading 400+ shadow copies.
Transfer performance went from 14MB/s to ~125MB/s
I can now launch VM's with acceptible performance on the D: volume, but the SSD drive has much better VM startup times. So disk is an issue.
This is what a non-overloaded disk looks like
If the Active time graph consistently is above 50% you will have a sluggish VM.

Difference in Boot Times between 1TB M.2 SSD and WD 8TB 5400 Drive
Seconds to Desktop with auto-login enabled. Same VM on different volume
- SSD = 28 seconds
- 5400 SATA = 43+ seconds
0 Comments