- Solved
- Minor
(Posting here as I am running 7.1.0-rc.4 and am unable to test the issue below in 7.0.1. Might be unrelated to 7.1.0)
I was running a Bazzite VM with GPU passthrough for a couple of months now. With Unraid 7.1 updating ZFS to v2.3.1 I wanted to consolidate my array into a raidz2 array as the raidz-expansion feature would allow me to migrate my current setup without ordering extra disks.
During this migration my Bazzite img file got corrupted (tried xfs_repair, no success) so I decided to start from scratch. I had backups of all config changes in Bazzite so it would not be an issue to recover, however I am unable to get the bazzite .iso to load inside a virtual machine. The VM has a GPU, NIC and some USB devices passed through. After deleting the original .img file I created a new blank raw .img and even though the GRUB menu loads, after selecting a boot option I am immediately greeted with a black screen with a non-blinking cursor as shown below. I left it on this screen for over an hour to no avail. Unraid reports 1 full core utilisation while this hangs, with no disk activity after grub.
What I've tried to get the iso to boot:
- confirmed iso sha256 checksum
- switch to virtual GPU
- edit grub to add nvidia-drm.modeset=0/1 inside VM
- disable all passed-through devices
- switch CDROM bus to IDE
- disable virtiofs share
- create a new VM on fedora template with all defaults (except: 2 cores, 4G RAM, 32G raw disk)
- try booting from Fedora Atomic Kinoite 42 iso (same result)
- try booting from Fedora workstation iso (same result)
- write iso to physical USB stick and pass that trough to VM (with USB boot enabled)
- edit grub to boot with debug instead of silent. Still freezes immediately after selecting boot entry with no extra output.
- scrub libvirt.img, no issues
- delete and recreate libvirt.img and recreate all VM's
All above point result in the same hang immediately after grub.
A Windows 11 iso loads fine (both on Bazzite VM config and in new VM).
An Ubuntu iso loads fine (both on Bazzite VM config and in new VM).
Windows 11 VM is running fine.
Home Assistant VM is running fine.
Attached diagnostic is after clean reboot, only trying to start the Bazzite install.
As I have a bit of an uncoventional storage setup I will throw in some details on that as well, however all other docker containers and VM's are running without issue so I don't think the issue lies here:
- No Array devices
-
1 ZFS pool (named tank)
- 5x12TB HDD in RaidZ2
- 2x2TB NVMe SSD in mirror as Special device
- 1x16GB Intel Optane M10 as SLOG device
I also tweaked my ZFS datasets a bit to optimize performance:
zfs get all tank/domains NAME PROPERTY VALUE SOURCE tank/domains type filesystem - tank/domains creation Sat Apr 19 14:34 2025 - tank/domains used 46.5G - tank/domains available 8.75T - tank/domains referenced 160K - tank/domains compressratio 1.25x - tank/domains mounted yes - tank/domains quota none default tank/domains reservation none default tank/domains recordsize 4K local tank/domains mountpoint /mnt/tank/domains inherited from tank tank/domains sharenfs off default tank/domains checksum on default tank/domains compression on inherited from tank tank/domains atime off inherited from tank tank/domains devices on default tank/domains exec on default tank/domains setuid on default tank/domains readonly off default tank/domains zoned off default tank/domains snapdir hidden default tank/domains aclmode discard default tank/domains aclinherit restricted default tank/domains createtxg 1020 - tank/domains canmount on default tank/domains xattr on inherited from tank tank/domains copies 1 default tank/domains version 5 - tank/domains utf8only off - tank/domains normalization none - tank/domains casesensitivity sensitive - tank/domains vscan off default tank/domains nbmand off default tank/domains sharesmb off default tank/domains refquota none default tank/domains refreservation none default tank/domains guid 9180928625834195001 - tank/domains primarycache metadata local tank/domains secondarycache all default tank/domains usedbysnapshots 0B - tank/domains usedbydataset 160K - tank/domains usedbychildren 46.5G - tank/domains usedbyrefreservation 0B - tank/domains logbias latency default tank/domains objsetid 2688 - tank/domains dedup off inherited from tank tank/domains mlslabel none default tank/domains sync standard default tank/domains dnodesize auto inherited from tank tank/domains refcompressratio 1.00x - tank/domains written 160K - tank/domains logicalused 58.2G - tank/domains logicalreferenced 81.5K - tank/domains volmode default default tank/domains filesystem_limit none default tank/domains snapshot_limit none default tank/domains filesystem_count none default tank/domains snapshot_count none default tank/domains snapdev hidden default tank/domains acltype posix inherited from tank tank/domains context none default tank/domains fscontext none default tank/domains defcontext none default tank/domains rootcontext none default tank/domains relatime on default tank/domains redundant_metadata all default tank/domains overlay on default tank/domains encryption off default tank/domains keylocation none default tank/domains keyformat none default tank/domains pbkdf2iters 0 default tank/domains special_small_blocks 1M local tank/domains prefetch all default tank/domains direct standard default tank/domains longname off default