I have a Raspberry Pi 3 model B with no microSD card (the OTP bit is set). It can boot from an SSD connected via a USB2 SATA adapter. However, when a 3½-inch USB3 HDD is connected, the Pi doesn't boot. The HDD has it's own power supply. I also tried plugging both the SSD and HDD into a powered USB2 hub (this one). In all cases, if the HDD is disconnected, the Pi boots fine and I can connect the HDD later and access files. However, if the HDD is connected at boot time, it fails to boot. There is no HDMI output either way--only ssh (not sure why, but I plan to use it headless anyhow). The SSD is Ubuntu 20.04.2 (link).
Here are the disk details. The boot SSD is
/dev/sda and the HDD is
$ sudo sfdisk -l /dev/sd? Disk /dev/sda: 119.25 GiB, 128035676160 bytes, 250069680 sectors Disk model: Name Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x4ec8ea53 Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 526335 524288 256M c W95 FAT32 (LBA) /dev/sda2 526336 250069646 249543311 119G 83 Linux Disk /dev/sdb: 10.94 TiB, 12000105070592 bytes, 23437705216 sectors Disk model: Elements 25A3 Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: gpt Disk identifier: 81FED0C1-66DF-A446-9696-6F8AF95E27DF Device Start End Sectors Size Type /dev/sdb1 2048 4095 2048 1M Linux filesystem /dev/sdb2 4096 1054719 1050624 513M Linux filesystem /dev/sdb3 1054720 84940799 83886080 40G Linux filesystem /dev/sdb4 84940800 23437705182 23352764383 10.9T Linux filesystem
The last HDD partition is LUKS-encrypted (begins
4c 55 4b 53 ba be 00 02 00 00 00 00 00 00 40 00) and the other 3 all begin with 8MB of zeros.
In summary, I don't think USB power is an issue because the HDD and the USB hub are both powered, and none of the HDD partitions should appear bootable.
User RabidTunes describes a very similar problem (Raspberry pi with HDD and SSD not booting on reboot) but the solution proposed there involves additional hardware, which I would like to avoid.
How can have both drives connected at boot/reboot?