I recently got an eSATA port-multiplier capable external multi-bay disk enclosure. (A big box full of hard disks.) I intended to use this in a dual-booting setup with Linux and Windows having access to separate disks inside the enclosure. Surprisingly, Linux was much happier about this arrangement than Windows 10.
Over the last few months, Iâve witnessed an extinction-level mass die-off of all my hard disks at home. Most of these disks were several years old, but it has still been inconvenient that so many disks went at the same time.
Rather than filling up my PC tower with a growing number of disks, I got an Icy Box 4-bay external hard disk enclosure with eSATA-300 and USB 3.0 to house my new disks. USB 3.0 would technically be faster, but I wanted to connect it with eSATA as this would make my PC consider them to be internal disks rather than external removable disks. This difference changes how a few the disks can be used in Windows.
A regular SATA connection only supports connecting to one disk at a time. For a single eSATA connection to hook up with a multi-disk enclosure, the SATA controller in the enclosure, as well as the SATA controller in your PC, must support SATA port-multiplying.
Using a port-multiplier, your PCâs SATA controller can instruct the enclosure to let it read and write to the correct disk in the enclosure.
I installed the new disks and connected the disk enclosure over eSATA. First I booted up in Linux because I wasnât sure if Linux even supported port multipliers. It worked flawlessly without any additional configuration or setup required.
I then booted into Windows, and noticed that all my new disks also showed up in the boot menu. It seemed like even the SATA driver in the BIOS worked with the port multiplier. However, in Windows 10 I could only see the top-most disk in the enclosure. The other disks didnât show up in either the Device Manager nor in Disk Management utility.
After doing some more research, I learned that Microsoftâs Standard SATA AHCI Controller driver supposedly supports modern and legacy port-multipliers (CBS and FIS/FBS), yet it doesnât seem to want to talk to my Asmedia ASM1061 controller. Based on a search for ASM1061 on Amazon, it looks like this is a common SATA controller thatâs found in a lot of products. Yet, Windows couldnât talk to it properly. I found a driver from Asmedia, but it performed no differently than the default driver.
I then installed a StarTech PEXESATA2 PCIe with a Sil3132 SATA controller instead. This controller is found in fewer products than the ASM1061, but it also looked like a popular controller.
I thought that may be this less popular controller would have poorer support in Linux. Unfortunately, the computer refused to boot if Iâd anything plugged into the eSATA port on this card. The boot process got stuck somewhere in the pre-flight check (prior to the âBIOS beep.â) Hot-plugging the eSATA connection after boot up worked just as great with this Silicon Image controller as did the Asmedia controller. Windows was again a different matter.
Windows Update fetched the Silicon Image Sil 3132 SoftRaid 5 Controller driver, but even so, the controller had the exact same problem as the built-in SATA controller: only the first disk showed up anywhere in Windows.
I then tried on a different PC with an entirely different mainboard and SATA controller, but the results where exactly the same.
There seems to be a problem with the Windows 10 kernel itself, but itâs hard to say for sure. When writing this article, I was able to consult the Linux Kernelâs source code to confirm how port-multipliers was supposed to work. The Windows kernel on the other hand, is a black box and no one truly knows what goes on inside.
I did find it quite surprising to see better hardware support from the Linux kernel than from Windows. Being a long-time user of Linux, this isnât how things have been in the past. This is the third time in just a couple of months where things I expect to work in Windows didnât but to my surprise, I found it worked perfectly in Linux with no additional troubleshooting or configuration.
My own personal experience of this issue just added this up as yet another strike against any cable connector that isnât part of the USB standard. We only need one connector. All hail USB!
For a bit of variation, I donât have a solution to offer for this problem. It seems to be a general problem with Windows 10âs handling of eSATA port-multipliers. For a bit of a laugh, I booted from a Windows 10 installation media and found that it supported listing and installing to any disk connected through the same eSATA port-multiplier. In summary, it seems to be non-functional so use another connector if you intend to use eSATA enclosure with Windows 10. USB 3.0 should yield higher performance and seems to be better supported.