Boot order problem

I have my Pi5 booting from an NVMe drive on a Pimoroni NVMe base and the boot order is set to boot fro NVMe first. I wanted to try out some new software and was going to use an fresh OS install on a micro SD card, to try it out before committing it to my main system. However if I change the boot order to B1. Boot from SD card if available, otherwise boot from NVMe . It will continue to boot from the NVMe.
Is there another way to change the boot order?
I can boot from the SD card if the NVMe is detached, however I don’t want to be constantly detaching and attaching the NVMe drive, to achieve the desired result.

Any advice would be gratefully received.

  • First, check your current boot order setting.
    • $ rpi-eeprom-config
  • If you see BOOT_ORDER=0xf146, the boot order has not been changed.
  • Change the boot order.
    • Let say you are booted to drive X (SD, NVMe, or USB)
    • $ sudo raspi-config
    • Select Advanced Options, then Boot Order, then B1.
    • This writes the change to a temporary file stored on drive X. But the change is not made to the eeprom until you reboot drive X.
    • You will be asked if you want to reboot. Select Yes.
  • Now that you have rebooted, try $ rpi-eeprom-config. You should see BOOT_ORDER=0xf461.
  • Shutdown.
  • Insert a SD card containing a RPi OS image.
  • Reboot

Thanks for the input.

After a bit more searching, I found the problem, when I cloned the SD card from the NVMe card I did not let it assign new UUID’s to the partitions.
So I recloned the NVMe drive to the SD card with new partition UUIDs, then booted into NVMe and changed the boot order back to B1. Boot from SD card if available, otherwise boot from NVMe and rebooted with the SD card in and all went as expected.