Booting from USB to SATA OS drive

I bought a mini PC as a backup to my primary workstation if/when the workstation is out of service for whatever reason.

If it matters the mini PC is a Beelink SER5. Not bad specs for such a small computer.

I make clones of my operating system disk drive (a SATA SSD). My user files (most of them) are on a separate user drive (also SATA SSD). When I connect these drives by USB to my laptop (also openSUSE 15.4) I can read everything except some of the funkier boot stuff. So mounting the OS drive as such does not seem to be a problem.

I want to boot the mini PC from an SSD clone of my openSUSE 15.4 OS drive.

I use USB to SATA adapters to connect the OS drive to the mini PC.

My goal is to boot the mini PC from the SATA OS clone via USB connection.

I booted the mini PC, hit delete, and in BIOS made USB boot the first priority ahead of internal nvme drive. Saved the result which seems consistently saved.

Bad news is the mini PC seems unable to boot from the USB-connected SATA OS drive. After failing to boot from the USB it eventually boots to Windows from the internal nvme drive.

Any suggestions?

Thank you!

Thanks, further details on request.

I suspect you probably need to boot off a liveusb of some sort, and install grub on the minipc. Treat it like you were doing a grub repair, for a broken update.

@Marvo22 likely the USB to SATA adaptor driver is not visible as a boot device…

I would guess if you create a rescue USB device (a USB drive) it will boot… I have a Beelink MiniS Pro, tried with both SSD and NVME USB devices to see if it would boot and it wouldn’t…

Several years ago, I had a computer that failed. But the disk was good. So I took out the disk and installed in a USB connected drive enclosure.

I tried booting from that USB drive. It didn’t boot.

I booted some other way (either live media or the internal hard drive on another computer - I’ve forgotten which), and then went to rescue chroot mode. Then I rebuild the “initrd” on that USB drive. After that, it would boot fine. It just needed the USB drivers to be in the “initrd” to handle the early stages of booting.

2 Likes

I haven’t tried to boot a Linux on USB installation in years, but to build on nrickert’s anecdote, I think you can put a .conf file in /etc/dracut.conf.d/ that includes

	hostonly="no"

to cause larger initrds to be built containing most drivers likely needed to enable booting from other environments than that on which the initrd was built. If you know exactly which additional driver(s) is/are needed for your specific USB SSD adapter, it/they alone can be specifically added in same manner, to limit the amount of initrd bloat.

If your backup PC had an eSATA port, it could be simpler. I had an eSATA disk that I kept up to date specifically for rescue booting, before there was USB3. I quit when Leap was introduced because I only had it loaded with 32bit OSes, it was only 80G, and by then I also had USB3 PCs that removed a lot of the pain of booting USB2.

You can do this. To my experience IOPS of USB interfaces are poor. Thus I would never try it. Running Leap or Tumbleweed from an internal SSD is always the better experience.

You may consider mirroring the workstation Leap to the internal SSD of the Beelink SER5: Upgrading the Hardware - #7 by karlmistelberger

This is a nice string of thoughtful comments. Thank you all.

An external eSATA port would be nice, but nope. USB only. Apparently USB enclosures are not more successful than USB to SATA adapters.

I have had good success booting from live USB drives (usually with my intel laptop, also Leap 15.4). Probably not matching SSD performance but goal is for interim temporary capability.

The advice to mess with initrd etc is well taken however I want an updatable USB drive with the contents of an updated openSUSE OS with all my favorite updated configurations in place. I would completely replace the contents every month or so.

Maybe a simpler solution would be to create an ISO file of either the running OS drive or a cloned OS drive.

A 256 GB USB flash drive presumably would hold the contents of a 256 GB OS SSD drive? (There is a lot of unused space on the OS SSD.)

I tried googling but it is not clear how for openSUSE to clone my specific personal OS drive to an ISO file on a USB flash drive.

Another comment, goal is to bypass the nvme drive completely. I don’t want to deal with it. It can just sit there unused. I just want to use the CPU etc. with a recent updated copy of my OS, made safely and independently.

@Marvo22 Just use two USB devices, run the installer and select the second USB device for the install via expert partitioner… Or consider MicroOS and lay down the image onto the device and combine with combustion… The MicroOS install will work with the USB to SATA setup.

Leaving a valuable resource unused is a pretty bad idea, in my opinion of course.

You may consider System Backup with btrfs send / receive

I reiterate: Systems on an USB drive are PITA. I tried this several times, but abandoned the idea due to poor performance and low reliability compared to a NVME drive sitting on the main board, such as the Samsung SSD 970 EVO Plus 2TB.