Boot Home Assistant off Pi 5 NVMe disk instead of the SD Card

I have managed to attach an NVMe drive to my Pi 5. The Pi 5 boot drive for HA OS is the original SD card.

The HA data drive has been copied from the SD card to the NVMe drive, using Settings, System, Storage, Disk Metrics, Move Data Disk.

hassos-boot is linked to the SD Card partition1 (mmcblk0p1)
hassos-data is linked to the NVMe partition 1 (nvme0n1p1)

The SD card has 8 partitions. The NVMe drive has 1 partition, only.

How can I now move the boot partition over to the NVMe drive and get HA OS to boot off the NVMe drive, instead of the SD card ?

1 Like

You could just build a new haos booting on the new SSD then restore to it?

Bonus… Tests your backup /restore process because it’s the exact same process.

Backup current install
Down current install
install new haos to hardware from image
restore backup

2 Likes

Booting off the NVMe directly causes more issues than worth the trouble in many cases. Sometimes firmware updates break booting because timing or other variables change slightly.

With the data disk feature only the OS remains on the SD card, which is essentially just the container runtime and a couple of system services. These are mostly running from RAM/cache. Almost all of Home Assistant (e.g. Home Assistant Core itself, add-ons and it’s data etc). Is running directly off the NVMe and benefits from the speed. There is one more advantage of the data disk: It will soon be possible to move to a new installation without restoring from backup (adopt a data disk). You can simply install HAOS on a new hardware, attach the disk, and continue run your Home Assistant installation.

5 Likes

I agree with that. Continue to boot from SD card. It is the recommended way of doing it.

1 Like

As Nathan indicates, take a full backup, download it to other storage (e.g. your laptop), then overwrite the NVME with a fresh HAOS image, start the Pi and restore the backup.

I know several other methods, but because SBC OSses are famous for extending the last partition, most are complicated and/or involve large block-device copy of empty storage.

And as hinted, Pis are famous for issues with storage controllers. Especially the USB3 variants, they are not RPT’s responsibility, so if you bought one with a chipset from the pool that has known issues, better make sure you have a bootable SD-card.

2 Likes

As a noob to HA with my uptime measured in days, I can’t comment other than to say I’m using this case Argon NEO 5 M.2 NVME PCIE Case for Raspberry Pi 5 – Argon 40 Technologies Web Store and this M.2 SSD. Crucial P3 Plus 3D NAND NVMe PCIe M.2 SSD. After booting from the SD and configuring the eeprom. i was able to install a fresh HAOS on the NVMe drive via the Raspyberry Pi utility, boot into HA, update my config.txt and… well, I guess we will wait and see. Now to discover some devices!

1 Like

Thanks all for your comments and advice.

On reflection, I’ll stay with the set up as it is - HAOS on SD Card and HADATA on NVMe drive.

It appears that it’ll be safer to keep the HAOS on the SD card. Also, it’s the recommended method, I’m told.

Much appreciate the excellent comments - all of them

Dear All,

This is my first post on this forum, so please excuse me as a noob.

I am trying to load HAOS on a Raspberry Pi 5 SD and have the data moved to a Nvme drive. Like Notforrent I have the Argon 5 box, which I really like although rather tricky to install.

I have HAOS up and running but no sign of my nvme drive. Notforrent did you enable the PCIe port using Raspbian first before loading HAOS. I have read loads of documentation but not found a clear answer.

Any help gratefully received.

Best regards Colin

Hi agners,

Booting off the NVMe directly causes more issues than worth the trouble in many cases. Sometimes firmware updates break booting because timing or other variables change slightly.

Can you elaborate on what would cause issues a bit more? I’m having a lot of stability issues whilst running from only a SD card. I have been reading into the NVMe solution a lot and just today finally installed one. As we speak I’m restoring my backup onto the SD card (on a fresh HAOS installation) after which I will move the datadisk to the NVMe.

But I also see a lot of people moving the entire installation to the NVMe. I understand that the SD/NVMe combination is the prefered way, but I’m trying to understand why that is (and I guess a lot of other people too).

So if you can, would you be able to elaborate a bit more on the known issues or maybe provide the sources that you’ve used? Because at this moment I’m unable to explain to myself why it would cause problems. Especially because you said “in many cases”.

Thanks in advance.

I had migrated from RPi4 to RPi5 with NVMe as the only disk without issues and all works fine.
I did the follow steps;

  1. I used RPi imager tool and install a microSD with the RaspiOS to update the eeprom of RPi5 and set the boot order to use first the NVMe.
  2. I used RPi imager tool also to install the image of HA in the NVMe disk, after I installed the NVMe disk by a USB adapter.
  3. I installed NVMe disk on RPi5 (without SD) and waited the time to complete the first inizialitation of HA on the NVMe (about 25mins).
  4. When the setup reqeust to create a new enviroment I did a restore from a full backup saved in a usb-key.
    All was very simple and works all fine, just some couple of integration to reinstall and after another reboot all worked fine.
    After this migration I also the HAOS updates without problems.
    I hope its useful my experience to help to migrate in the right way from SD to NVMe.
1 Like