My main desktop PC dual-boots Windows 10 and Fedora Linux. I have an SSD drive for each OS, and recently added an HDD for larger shared storage. It’s worked out pretty well except for a recurring problem: Sometimes the shared drive just disappears from Windows after I wake it up from sleep mode.
I don’t mean Windows just unmounts the filesystem. I mean Windows stops seeing the hardware at all.
When that happens, it sometimes reconnects after a few minutes…and sometimes doesn’t. Which means it’s not only invisible in Windows, it doesn’t get cleaned up properly on reboot, so Linux will only access it read-only the next time I fire that up, until I get back into Windows and shut it down cleanly.
Time to get to the bottom of it. Most of what I found online boiled down to:
- Update the SATA controller driver.
- Update the motherboard firmware.
- Make sure the cable connection is solid.
- Move the cable to another connector.
- Replace the cable.
- Get a better drive, [brand the OP mentioned] is terrible.
Some of the specific oddities I was seeing:
- The storage drive, despite being an internal hard drive on the SATA controller, always appears as a removable drive in Windows.
- When it disappears, so does the DVD drive. I haven’t used the DVD drive in ages, so I didn’t notice at first.
- Linux doesn’t seem to lose the drive.
- When the drives go missing, a storage controller shows an error in Device Manager.
- The BIOS settings for the SATA controller showed only the SSDs on #3 and #4, and nothing on #1, #2, and #5.
- The BIOS firmware updater, however, can see the filesystem on the shared drive. There are a lot of search results for a drive showing up in the BIOS but not in Windows. Not so many for the reverse!
- In Linux, running
lsscsi --verboseshows the SSDs on ports 2 and 3 (counting from 0, presumably), and the HDD and DVD on ports….6 and 7. Wait, what?
It turns out this motherboard has two SATA controllers, each with a different chipset: One AMD with 5 connectors, and one ASMedia with 2 connectors. I’d connected the SSDs to the AMD, and the HDD and DVD to the ASMedia.
I moved both cables to the AMD controller.
Now all the drives show up in the BIOS, Linux still sees them all, Windows doesn’t show the HDD as a removable drive…and most importantly, it’s been accessible immediately every time I’ve woken up Windows for a week.
Apparently something is broken about the ASMedia controller or its driver, but the AMD controller is fine. Good thing I had three free connectors on that one!