This Step-By-Step Guide From "Coreyfro" Gets Your Raspberry Pi 5 Running on >2TB NVMe Drives

If you're looking to boot a Raspberry Pi 5 from an NVMe SSD larger than 2TB, this guide walks you through the process.

Gareth Halfacree
5 months ago β€’ HW101

If you're looking to run your operating system from some high-capacity high-speed storage on your Raspberry Pi 5, you'll need more than just an M.2 NVMe HAT+ accessory: you'll need to know how to get the system to recognize drives larger than 2TB in size, for which pseudonymous tinkerer "coreyfro," hereafter simply "Corey," has written a step-by-step guide.

"If you image a disk which is larger than 2TB with the Raspberry Pi tools or [disk] images, your disk will be limited to 2TB because they use MBR (Master Boot Record) [format] instead of GPT (GUID Partition Table)," Corey explains. "I wrote these instructions to use GPT, instead. I am using a 4TB Team Group NVMe SSD with a Pineberry Pi Bottom Pi HAT."

The Raspberry Pi 5 launched late last year as the first mainstream model in the single-board computer range to offer a user-accessible PCI Express lane β€” ideal for high-speed solid-state storage. While Raspberry Pi has yet to launch its own M.2 HAT+ adapter, third-party designers have stepped in to fill the gap β€” including models from Pineberry Pi, Pimoroni, Waveshare, and most recently SupTronics.

Regardless of which model you choose, if you pair it with an NVMe drive above 2TB you're going to run into problems making use of your drive's full capacity. The solution β€” described by Corey as a work-in-progress guide which "worked for me" β€” is a step-by-step process which creates a partition layout on a microSD Card using the newer GPT format.

This partition layout is then populated with data from Raspberry Pi Imager, edited to point to the NVMe drive rather than the SD Card, and turned into a new image which can be written onto the target NVMe drive β€” and compressed for ease of storage, should you want to keep it safe for future OS installations. "[The] MBR2GPT command does NOT work," Corey writes of the reason for the somewhat roundabout process, "since it arbitrarily filters out devices which aren't enumerated with the 'sd{a-z}' label."

Corey's full guide is available on Reddit. "I offer the following with no warranty," the tinkerer writes. "There may be typos. Your discretion is advised."

Gareth Halfacree
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles