[HowTo] Boots Raspberry Pi from USB HDD/SSD
By default, Raspberry Pi boots up and stores all of its programs on a microSD memory card. If you want to switch over to a USB SSD to get a better performance, please follow the instructions below
Prerequisites:
- A good quality power supply and USB-C power cable that are equivalent to the OEM power supply.
- Latest Raspberry Pi OS and Bootloader (Pi-4B).
- A USB 3.0 SSD with a compatible USB-to-SATA bridge controller (e.g. ASMedia ASM1153E controller found to work well with Raspberry Pi 4B, avoid the one that uses the JMicron controller). To check what controller you have, connect your USB SSD, open a Terminal window and run the command lsusb.
- An example output of my USB 3.0 SSD is shown below
$ lsusb ... Bus 002 Device 002: ID 174c:55aa ASMedia Technology Inc. Name: ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge, ASM1153E SATA 6Gb/s bridge ...
Updating and upgrading the Raspberry Pi OS:
- Open a Terminal window.
- Run the command sudo apt update && sudo apt full-upgrade to upgrade to the latest version.
- Reboot the system.
Checking the Bootloader version within the Raspberry Pi OS (Pi-4B):
- Open a Terminal window.
- Run the command rpi-eeprom-update to display the Bootloader version status.
- If it shows
$ rpi-eeprom-update BOOTLOADER: up to date ...
then there is no need to continue with the procedures to update the Bootloader in next section.
Updating the Bootloader within the Raspberry Pi OS (Pi-4B):
- Open a Terminal window.
- Launch the raspi-config tool by typing sudo raspi-config and press Enter.
- Select 6 Advanced Options and press Enter.
- Select A7 Bootloader Version and press Enter.
- Select E2 Default (or E1 Latest, if desired) and press Enter.
- A dialog: Reset boot ROM to defaults? appears, select <Yes> and press Enter.
- A confirmation message: Boot ROM reset to defaults appears, press Enter.
- Press Tab twice to select <Finish> and press Enter.
- A dialog: Would you like to reboot now? appears, select <Yes> and press Enter to reboot the system.
Procedures to copy the running microSD card to SSD:
- Connect a USB SSD to an available USB 3.0 port (Blue) on your Pi-4B.
- Launch the SD Card Copier, from the Accessories section of the Start menu.
- The SD Card Copier window appears.
- Select the Copy From Device (your microSD Card: /dev/mmcblk0)
- Select the Copy To Device (your SSD: /dev/sdX) (Note: The contents will get overwritten!)
- Tick the New Partition UUIDs checkbox. (This prevent conflicts if both the microSD card and SSD are connected)
- Click the Start button when you’re ready to copy the files across.
Procedures to change the boot order (Pi-4B):
- Open a Terminal window.
- Launch the raspi-config tool by typing sudo raspi-config and press Enter.
- Select 6 Advanced Options and press Enter.
- Select A6 Boot Order and press Enter.
- Select B2 USB Boot and press Enter.
- A confirmation message: USB is default boot device appears, press Enter to dismiss it.
- Press Tab twice to select <Finish> and press Enter.
- A dialog Would you like to reboot now? appears, select <No> and press Enter to exit.
- Shutdown the Raspberry Pi and disconnect the power.
- Remove the microSD Card.
- Power up the Raspberry Pi and it will boot from the USB SSD.
References:
- Raspberry Pi official documentations