SSDs change dev names after host reboot (QEMU)

Hi, I have a problem using SSDs for my gaming VM.
The device-names are changing after some reboots. I am not sure why UDEV does this, I didn’t change a thing.
I use most of my SSDs to play Windows games (w/ GPU passthrough), and at some point the device-names are changing and I can’t access the games any more. This can take up to several weeks/reboots, or it happens after first try. ATM I reinstalled my Windows Gaming VM over six times, but it seems like I am hunted.

Example of today …
/dev/sdc is my windows system on. It includes four partitions.
/dev/sdb has one partition and has some games installed.
/dev/sdd is the same as sdb.

Example of last night …
/dev/sdb is my windows system on (incl. four part.)
/dev/sdc and /dev/sdd have one partition each and some games on it.

The Windows VM shows me the content of the previous installed games on an other SSD, and I cant access it at all, and the trash folder got corrupted always.

I don’t think this can be a hardware bug, cause I bought three new SSDs (from different locations) and all my four SSDs have the same problem.

When I was writing my QEMU script this problem came up once a month or so, but yesterday I tried virt-manager and since then this was happening three times already.
I assume it has some to do with Windows writing some crap into the MBR.

I cant use any labels or UUIDs to point to the devices, cause I need the hole SSDs and not single partitions.

Here is my qemu script I was using a few month, and here is the xml file of virt-manager.

Any advice ?
What additional info you will need to make my problem clear ?

Yeah, drives can change those names, it’s annoying, but not unusual.

ls -l /dev/disk/by-id/

Should show the UUID of the partitions that you need, in the script you should just be able to replace /dev/sde2 with “/dev/disk/by-id/OCZ hshusidjdhdhdjdjjdj-part1” or whatever it is.

Autocorrect is playing fun and games, but give it a burl…

3 Likes

After long consideration I should install Windows as qcow2 file on my NVME and add SSDs partitions by UUID/Label, so there would be no more switching of device names.

I hope the performance will not suffer.

This is the command I use to find any labels and UUIDs …
ls -lF /dev/disk/by-{part,}{uuid,label}