Posted under » Raspberry Pi on 29 May 2025
I broke my NVME because I bought a Pi5 without a casing. The NVME was exposed to the elements and to make a long story short, it broke and I can't revive it. The timing was bad because I did not do the usual backup which I normally did because it was a busy period.
So I bought an Argon V3 case which I highly recommend. I bought v2 for my Pi4 before so I know it is a good solid product. There is an optional NVME slot at the bottom.
I booted from an 128gb micro SD card using Raspberry Pi Imager as usual. I used it for a few days and make some updates and installed my usual stuff. After a while I think an NVME SSD will make things faster and so it is time to migrate the data.
The way the Pi boot is different from Windows or Ubuntu PCs. The key to note is the partition and that do not use GRUB but use MBR. If you have the same partition and contents, then boot is possible. The weird thing is that Pi uses a win boot partition and an ext4 partition for data. You have to follow the exact partition the Raspberry Pi Imager does.
To do that we use the DD command. First make an .img from the SD card and then restore it to the NVME. Target NVME size does not matter as long as it it bigger or same than source. You can resize the partition later with resize2fs.
After losing data, I learnt the hard way a backup strategy is important. My advice is that 1TB is too big for Pi, because it is hard to make a backup later. 128gb img creation takes minutes or hours to complete but it could save you days of suffering in the long run. 128gb is still big, but it is hard to find a smaller NVME these days.
If you use Argon case then it is all well and good but if you choose to use a USB-C external SSD, then you need to make sure it doesn't sleep. To keep it awake, you can use cron like so
*/5 * * * * touch /home/ubuntu/.stayawake
Another thing to be aware of when using external SSD using USB, you cannot plug in or plug out another USB device because it will kill the power of the SSD.