I have a new machine (AMD 3960X with a MSI motherboard). I have 4 separate drives with different OS's (Ubuntu 20.04, Windows 10 and 2 versions of Ubuntu 16.04). I keep then completely independent on separate physical drives. I use Ubuntu 20.04 as my primary boot device (the one that Grub runs from). When I boot, I have no keyboard access, so it boots to the most recent usd OS. The workaround to change OS's is the when I am in the Grub boot menu (i.e. for 10 seconds), if I plug a USB pen drive into a USB port, the keyboard starts working. Unplugging and re-plugging in either the mouse or keyboard doesn't work. There is something about plugging in a USB drive that causes the USB ports to be reset, or something similar.
I have seen this problem in the past, and the fix has always been bios settings to enable legacy devices and disable hand-off. This doesn't work. There are no USB2.0 ports on the motherboard, only USB3.x. I have also tried preloading various modules in grub (usb, usb_keyboard, usbms, usbtest). None of them make any difference.
I don't think it has anything to do with Ubuntu versions (16.04 does the same). I think it is a problem that grub has with recent hardware. Has anyone else seen this problem and have a fix?