Booting OS disk from USB3 works sometimes, other times it's Kernel Panic

Hey guys and girls.

Preface:
I have a server running Ubuntu Server 18.04. It is an Asrock J3455-ITX board, and has 4 SATA ports. I want to be able to have 4 storage disks, so I’m moving the OS SSD to a USB3 interface.

I got an internal USB3 to 2xUSB3 like this one. and a USB3 to SATA adaptor, like this one.

Issue: When simply moving the OS SSD to the internal USB3 interface, it is stuck at: Kernel Panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

BUT, only sometimes… when trying to boot into an erlier kernel, it works, so I tried sudo update-initramfs -u -k *version-of-new-kernel* and then update grub. But to no avail. It simply wont boot properly, or boot fine once, and then after reboot be stuck again.

I tried inserting another SSD, installing from scratch, this time in the internal USB header from install to boot, and from a new image, Ubuntu Server 20.04. Still the exact same thing happens.

Here’s the kicker: When moving the USB3 to SATA to one of the USB3 ports on the back I/O plate, it works fine, every time.
I also tried unplugging the china bought internal USB3 header, and inserting the one for the front panel I/O, and it still does not work.

Is this simply a bad port on the motherboard, the internal USB header is bust? Think that would be weird, because of the failure, it doesn’t seem to have anything to do with anything exterior to the disk? I’d expect it to either work or not work 100% of the time.

I could just leave it as is, but I’m not that fond of having the OS disk dangling off the back of the case.

Any ideas or insights would be very much welcome!

  • Zumps

I too have seen that not all USB ports appear to be created equal. I dont think its necessarily that the header is bad, but that the cables may be not up to par for the speeds you are trying to get.

If you adapted it to USB2 perhaps it will work as intended.

Thank you for the reply. I am not trying to get any specific speeds, just booting. Of course it would be nice if it isn’t too slow though, heheh. I could try connecting it to one of the USB2 headers instead? It’s just weird that it works on the back I/O. Though as I just found out, not with a 20cm extension lead.

The speeds probably wont matter much beyond reboots. Once everything is loaded into RAM, it should be quick. I assume you arent rebooting very often typically.

The back IO is right on the board, close to the controller. Modern USB is fairly prone to issues with noise. Plugging a header in to the board for front IO introduces opportunity for error. The name of the game being reduction in points of failure.

You’d be surprised what kind of hacks windows implements to get around crappy USB controllers and devices. I’ve seen it periodically reset drivers as a method of dealing with bad hardware.

Haha, yeah I can imagine.
You’re probably right, I don’t reboot much at all, it’s just on 24/7. I’ll try to dig around for an internal USB2 adaptor, and see if that’ll make it possible to keep the OS disk internal.