Карта microSD — самое слабое место «малинки». Она медленная, от постоянной записи изнашивается, а при внезапном отключении питания может «умереть» вместе с вашими данными. Если Raspberry Pi работает круглосуточно (сервер, умный дом, фильтр рекламы), рано или поздно карта подведёт.
Выход простой: перенести систему на твердотельный накопитель. Он быстрее, служит дольше и надёжнее. На Raspberry Pi 5 для этого есть шина PCIe, к которой подключают NVMe SSD. Raspberry Pi 4 умеет загружаться с SSD по USB 3.0. В статье разберём, как это сделать на разных моделях, как перенести уже настроенную систему с карты и что делать, если плата не хочет загружаться.
Для Raspberry Pi 5 в статье два варианта: NVMe SSD на плате M.2 HAT+ и обычный SSD по USB 3.0. Скриншоты и вывод команд сняты на Raspberry Pi 5 с SATA SSD, подключённым по USB: NVMe-накопителя под рукой не оказалось. Для NVMe шаги те же, отличаются подключение (шаг 2) и имя устройства: nvme0n1 вместо sda. Часть про NVMe основана на официальной документации Raspberry Pi.
- 1 Что на каких моделях работает
- 2 Что понадобится (Raspberry Pi 5 + NVMe)
- 3 Шаг 1. Обновляем систему и загрузчик
- 4 Шаг 2. Устанавливаем M.2 HAT+ и SSD
- 5 Шаг 3. Записываем систему на SSD
- 6 Шаг 4. Включаем загрузку с NVMe или USB SSD
- 7 Шаг 5. Проверяем
- 8 PCIe Gen 3: быстрее, но с риском
- 9 Raspberry Pi 4: загрузка с USB SSD
- 10 Если что-то не работает
- 11 Что дальше
- 12 Материалы
- 13 Читайте также
Что на каких моделях работает
| Модель | Как подключить накопитель | Особенности |
|---|---|---|
| Raspberry Pi 5 | NVMe SSD через M.2 HAT+ (разъём PCIe) или SSD по USB | Загрузка с NVMe поддерживается. Если в слоте есть карта, плата загружается с неё, пока вы не измените порядок загрузки. Нужен обновлённый загрузчик |
| Raspberry Pi 4, 400 | SSD или флешка по USB (лучше в синий порт USB 3.0) | Загрузка с USB включается порядком загрузки. На ранних платах Pi 4 может понадобиться обновить загрузчик |
| Raspberry Pi 3B+, Zero 2 W | Накопитель по USB | USB-загрузка работает «из коробки», но скорость ограничена USB 2.0 |
| Raspberry Pi 3B, 2B (версия 1.2), 3A+ | Накопитель по USB | Нужно один раз включить USB-загрузку в памяти платы (OTP). Это необратимо |
NVMe-накопитель на старые платы не подключить: у них нет шины PCIe. У первых Raspberry Pi и у Raspberry Pi 2 (кроме версии 1.2) загрузка с USB не поддерживается.
Что понадобится (Raspberry Pi 5 + NVMe)
- Raspberry Pi 5 и блок питания. Рекомендуется официальный 27 Вт (USB-C).
- Плата-переходник M.2 HAT+ (подойдёт любой NVMe-накопитель формата 2230 или 2242) или M.2 HAT+ Compact (только формат 2230). У них один канал PCIe 2.0 с пиковой скоростью около 500 МБ/с и питание до 3 А для накопителя.
- NVMe SSD с разъёмом M.2 типа M (SATA M.2 не подойдёт, нужен именно NVMe). Для платы Pi 5 разработчики выпускают собственные SSD формата 2230 на 256 ГБ, 512 ГБ и 1 ТБ.
- Карта microSD с рабочей системой (для настройки) или компьютер с адаптером для записи SSD.
Важно. Перед установкой платы-переходника всегда отключайте Raspberry Pi от питания. Подключать и отключать накопитель можно только при выключенной плате.
Вариант без NVMe: SSD по USB
Если NVMe-накопителя и M.2 HAT+ нет, система будет работать и с обычным SSD по USB. Понадобится:
- Raspberry Pi 5 и блок питания (рекомендуется официальный 27 Вт).
- SSD: 2,5″ SATA, внешний SSD или M.2 SSD в корпусе с USB. У нас SATA SSD KingDian S180 на 60 ГБ, подключённый через простой адаптер SATA → USB 3.0.
- Свободный синий порт USB 3.0 на плате (у Raspberry Pi 5 два порта USB 3.0, они синие).
- Карта microSD с рабочей системой (для настройки) или компьютер для записи SSD.
Накопитель получает питание от платы, поэтому блок питания важен: если он слабее 27 Вт, плата ограничивает ток портов USB, и SSD может не определиться или отключаться под нагрузкой. По скорости SATA SSD по USB 3.0 даёт сотни МБ/с: это намного быстрее карты microSD и сопоставимо с PCIe Gen 2 у M.2 HAT+.
Шаг 1. Обновляем систему и загрузчик
Включите Raspberry Pi 5 с обычной картой и выполните:
sudo apt update
sudo apt full-upgrade
sudo rpi-eeprom-update
Последняя команда показывает версию загрузчика. Для работы M.2 HAT+ нужна версия не раньше 6 декабря 2023 года. Если дата старше, выберите последнюю версию загрузчика: sudo raspi-config → 6 Advanced Options → A5 Bootloader Version → Latest. После этого выполните и перезагрузитесь:
sudo rpi-eeprom-update -a
sudo reboot
Так это выглядит на плате. Первая команда нашла обновление (CURRENT — 8 мая 2025, LATEST — 25 сентября 2026) и спросила «Install the update now? [y/N]». Мы ответили N и запустили sudo rpi-eeprom-update -a: она подготовила обновление (скопировала recovery.bin в /boot/firmware) и попросила перезагрузить плату. Само обновление применяется при перезагрузке, поэтому SSH-сессия оборвалась. Предупреждение про /dev/spidev10.0 нам не помешало. После нового входа sudo rpi-eeprom-update пишет BOOTLOADER: up to date: загрузчик свежий.
Шаг 2. Устанавливаем M.2 HAT+ и SSD
- Выключите плату и отключите питание.
- (По желанию) Если у вас есть активный кулер Raspberry Pi 5, установите его до платы-переходника.
- Прикрутите стойки из комплекта и вставьте контактную гребёнку (для M.2 HAT+) на GPIO-контакты.
- Подключите шлейф к разъёму PCIe на Raspberry Pi 5. Контакты шлейфа должны смотреть в сторону портов USB. Затем положите M.2 HAT+ на стойки и закрепите винтами.
- Подключите второй конец шлейфа к плате M.2 HAT+. Здесь контактами вверх. Прижимайте фиксаторы шлейфа аккуратно, с двух сторон.
- Вставьте SSD в разъём M.2 под небольшим углом, прижмите к плате и закрепите винтом из комплекта. Не затягивайте винт слишком сильно.
Raspberry Pi 5 с платой PCIe to M.2 HAT+, вид сверху. На снимке плата стороннего производителя с вентилятором: шлейф PCIe подключён, а SSD в разъём M.2 не установлен. Возле мест крепления винта подписаны размеры 2242 и 2230: винт ставят в то отверстие, которое соответствует длине вашего SSD (на снимке винт стоит на месте 2242).
[ИЗОБРАЖЕНИЕ: здесь можно вставить фотография подключения шлейфа PCIe к Raspberry Pi 5 (контакты к портам USB)]
Включите плату и проверьте, видит ли система накопитель:
ls -l /dev/nvme*
Если всё в порядке, вы увидите /dev/nvme0 и /dev/nvme0n1. Новый неразмеченный накопитель в проводнике не появится, а команда sudo blkid не покажет для него идентификатор раздела. Это нормально: SSD появится после записи системы.
Подключение SSD по USB
Если вместо NVMe у вас SSD с USB, M.2 HAT+ не нужен. Подключите накопитель к синему порту USB 3.0 и проверьте, видит ли его система:
lsblk
lsusb -t
В lsblk появится диск sda (или sdb, если уже есть другой USB-накопитель). В lsusb -t накопитель стоит в списке с драйвером uas (или usb-storage) и скоростью 5000M: это USB 3.0. Если скорость 480M, накопитель попал в порт USB 2.0 или кабель с адаптером не поддерживает USB 3.0. Если на SSD уже были разделы (например, от Windows), они тоже будут в списке: SD Card Copier и Imager удалят их при записи системы.
Шаг 3. Записываем систему на SSD
Есть несколько способов. Выберите удобный.
Способ А. Imager на самой плате (проще всего). Загрузитесь с карты, запустите Raspberry Pi Imager (в системе с рабочим столом он уже есть, а в Lite его можно установить: sudo apt install rpi-imager). Выберите свою плату, систему и в качестве накопителя ваш NVMe SSD (или SSD по USB). Imager сам разметит и отформатирует накопитель. Подробности работы с программой смотрите в статье про установку Raspberry Pi OS.
Способ Б. Через компьютер. Подключите SSD к компьютеру через переходник M.2 → USB (для NVMe) или адаптер SATA → USB (для SATA SSD) и запишите систему в Imager, как на обычную карту. Потом верните SSD на плату.
Способ В. Без карты. Если загрузчик обновлён, можно загрузить Imager прямо по сети (режим Network Install). Тогда карта памяти не нужна совсем. Подробности в статье про установку Raspberry Pi OS (раздел про Network Install).
Способ Г. Клонирование с карты. Если система на карте уже настроена и не хочется настраивать всё заново, скопируйте её на SSD программой SD Card Copier. Она есть в меню Accessories версии с рабочим столом. Программу можно запустить на плате с монитором или открыть рабочий стол платы в браузере через Raspberry Pi Connect, как на наших снимках (подробнее в статье про удалённый рабочий стол Raspberry Pi).
- Откройте SD Card Copier: Accessories → SD Card Copier.
- В поле Copy From Device выберите карту (
/dev/mmcblk0). - В поле Copy To Device выберите ваш SSD:
/dev/nvme0n1для NVMe или/dev/sdaдля SSD по USB. Будьте внимательны: всё содержимое SSD будет удалено. - Оставьте отмеченным пункт New Partition UUIDs, чтобы у копии были свои идентификаторы разделов и система не путала диски.
- Нажмите Start. Программа предупредит, что всё содержимое SSD будет стёрто, и назовёт накопитель. Убедитесь, что это нужный диск, и нажмите Yes.
- Дождитесь окончания. Программа показывает ход копирования по разделам («Copying partition 2 of 2…»), а в конце пишет «Copy complete»: нажмите OK.
На снимках карта копируется на SATA SSD по USB (/dev/sda). Система с рабочим столом на SSD объёмом 60 ГБ копировалась около трёх минут. Для NVMe всё то же самое, только в поле Copy To Device будет /dev/nvme0n1. Названия пунктов в разных версиях программы могут немного отличаться.
Шаг 4. Включаем загрузку с NVMe или USB SSD
Если в Raspberry Pi 5 нет карты microSD, плата загрузится с NVMe или с USB-накопителя сама. Если карта вставлена, плата пытается загрузиться с неё. Чтобы поменять порядок:
- Загрузитесь с карты.
- Выполните
sudo raspi-config. - Выберите 6 Advanced Options → A4 Boot Order.
- Выберите B2 NVMe/USB Boot. Тогда плата сначала пробует NVMe, потом USB, и только потом карту.
- Выйдите из утилиты (Finish) и перезагрузитесь командой
sudo reboot.
После выбора B2 утилита сообщает «NVMe/USB is default boot device»: порядок записан в загрузчик и начнёт работать после перезагрузки.
В меню есть три варианта:
| Вариант | Что делает |
|---|---|
| B1 SD Card Boot | Сначала карта. Если загрузочной карты нет, пробует NVMe, потом USB. Рекомендован по умолчанию |
| B2 NVMe/USB Boot | Сначала NVMe, потом USB, потом карта |
| B3 Network Boot | Сначала карта, затем загрузка по сети (PXE) |
Выбранный вариант raspi-config записывает в загрузчик как параметр BOOT_ORDER. На Raspberry Pi 5 это 0xf461 для B1 (карта, NVMe, USB), 0xf146 для B2 (NVMe, USB, карта) и 0xf21 для B3 (карта, сеть). Как читать такие значения, показано ниже. Текущее значение можно посмотреть командой rpi-eeprom-config | grep BOOT_ORDER: на нашей плате после выбора B2 там BOOT_ORDER=0xf146.
Порядок загрузки вручную (BOOT_ORDER)
Порядок хранится в загрузчике в параметре BOOT_ORDER. Изменить его можно и вручную:
sudo rpi-eeprom-config --edit
Откроется текстовый редактор. Замените строку BOOT_ORDER на такую:
BOOT_ORDER=0xf416
Сохраните файл и перезагрузитесь. Параметр читается справа налево: каждая цифра обозначает один способ загрузки. Сначала пробуется последняя цифра, и так до f, которая означает «начать заново».
| Цифра | Что это |
|---|---|
1 | Карта SD |
2 | Сеть |
4 | USB-накопитель |
6 | NVMe |
f | Перезапуск списка |
Значение 0xf416 означает «сначала NVMe, потом SD, потом USB». Вариант 0xf46 — «сначала NVMe, потом USB». Классический порядок «сначала карта, потом USB» записывается как 0xf41. Если вы подключаете к PCIe не HAT+ с автоопределением, а стороннее устройство, добавьте в конфигурацию ещё строку PCIE_PROBE=1.
Шаг 5. Проверяем
Выключите плату, извлеките карту (для чистоты эксперимента) и включите снова. Система должна загрузиться. Проверить, что она работает именно с SSD, можно так:
lsblk
findmnt /
В выводе корневой раздел / должен стоять на nvme0n1p2, а /boot/firmware на nvme0n1p1:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1 259:0 0 232.9G 0 disk
├─nvme0n1p1 259:1 0 512M 0 part /boot/firmware
└─nvme0n1p2 259:2 0 232.4G 0 part /
Если накопитель подключён по USB, имена другие: sda, sda1 и sda2. Вот вывод на нашей плате, где система загружена с SSD по USB:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 2G 0 loop
sda 8:0 0 55.9G 0 disk
├─sda1 8:1 0 512M 0 part /boot/firmware
└─sda2 8:2 0 55.4G 0 part /
mmcblk0 179:0 0 57.8G 0 disk
├─mmcblk0p1 179:1 0 512M 0 part /media/admin/bootfs
└─mmcblk0p2 179:2 0 57.3G 0 part
zram0 254:0 0 2G 0 disk [SWAP]
TARGET SOURCE FSTYPE OPTIONS
/ /dev/sda2 ext4 rw,noatime
Корневой раздел / стоит на /dev/sda2, а /boot/firmware на /dev/sda1: плата работает с SSD. На нашем снимке карта осталась в слоте (в lsblk она видна как mmcblk0, её раздел bootfs смонтирован в /media/admin/bootfs), но из-за порядка загрузки B2 плата выбрала SSD.
Размер раздела расширять вручную не нужно: Imager и Raspberry Pi OS делают это сами. Если вы всё же клонировали систему на накопитель большего размера и место не использовано, посмотрите статью про изменение размера корневого раздела.
PCIe Gen 3: быстрее, но с риском
По умолчанию Raspberry Pi 5 использует шину PCIe Gen 2 (скорость до 5 GT/s). Её можно переключить на Gen 3 (8 GT/s), и тогда скорость чтения у быстрых SSD заметно вырастает. Но разработчики прямо пишут, что Raspberry Pi 5 не сертифицирована для скоростей Gen 3, и соединение может быть нестабильным. Если решите попробовать, добавьте в /boot/firmware/config.txt строку:
dtparam=pciex1_gen=3
Перезагрузитесь. Если появились сбои или зависания, удалите строку и вернитесь к Gen 2. Сделать то же самое можно из raspi-config: Advanced Options → PCIe Speed.
Raspberry Pi 4: загрузка с USB SSD
У Raspberry Pi 4 нет разъёма PCIe, зато есть быстрые порты USB 3.0 (синие). Подойдёт SSD в корпусе-адаптере SATA/NVMe → USB. Те же шаги годятся и для SSD по USB на Raspberry Pi 5: так мы и сделали выше.
- Обновите систему и загрузчик, как в шаге 1 (
sudo apt full-upgrade,sudo rpi-eeprom-update -a). На самых ранних платах Pi 4 без обновления загрузчика загрузка с USB может не работать. - Запишите систему на SSD (Imager на компьютере или на плате либо SD Card Copier, как описано выше). SSD при этом подключён к порту USB.
- Если карта остаётся в слоте, измените порядок загрузки:
sudo raspi-config→ 6 Advanced Options → A4 Boot Order → B2 NVMe/USB Boot. Без карты плата загрузится с USB сама. - Выключите плату, подключите SSD к порту USB 3.0, включите.
Обращайте внимание на питание. SSD получает энергию от самой платы, а некоторые накопители и корпуса потребляют много. Если вы подключаете диск побольше (например, 2,5″ жёсткий диск) или больше одного накопителя, нужен внешний источник питания: диск с отдельным блоком или USB-хаб с питанием.
Raspberry Pi 3 и Zero 2 W
Raspberry Pi 3B+ и Zero 2 W загружаются с USB без дополнительных действий. У Raspberry Pi 3B, 2B (версия 1.2) и 3A+ режим USB-загрузки по умолчанию отключён. Чтобы включить его, добавьте в /boot/firmware/config.txt на карте с Raspberry Pi OS строку:
program_usb_boot_mode=1
Перезагрузитесь и проверьте, что бит записан:
vcgencmd otp_dump | grep 17:
Если в ответе 17:3020000a, всё получилось. После этого плата сможет загружаться с USB без карты.
Внимание. Изменение OTP-памяти необратимо. А на Raspberry Pi 3A+ установка этого бита навсегда отключает загрузку в режиме USB-устройства. На этих платах скорость всё равно ограничена USB 2.0: выигрыш в основном в надёжности, а не в скорости.
Если что-то не работает
| Проблема | Что проверить |
|---|---|
Нет /dev/nvme0 | Выключите плату и проверьте, что шлейф вставлен до упора и ровно, а SSD закреплён винтом. Накопитель должен быть NVMe, а не SATA. Обновите загрузчик |
| Накопитель виден, но не загружается | Проверьте порядок загрузки (B2 NVMe/USB Boot). Если в слоте карта с системой, плата загрузится с неё. Убедитесь, что на SSD записана система, а не только отформатирован раздел |
| Чёрный экран, мигает светодиод | Это код ошибки загрузчика. Подключите монитор: на новых платах загрузчик показывает экран диагностики. Расшифровка кодов есть в документации Raspberry Pi |
| USB SSD не загружается или отваливается | Некоторые адаптеры USB-SATA плохо работают с режимом UAS. Попробуйте другой адаптер или обновите загрузчик. Проверьте питание накопителя |
SSD по USB не виден в lsblk | Выполните lsusb -t: накопитель должен быть в списке. Скорость 5000M значит USB 3.0, а 480M значит, что накопитель попал в порт USB 2.0 или кабель с адаптером не поддерживает USB 3.0. Попробуйте синий порт, другой кабель и блок питания 27 Вт |
| Нестабильная работа на Gen 3 | Удалите dtparam=pciex1_gen=3 из config.txt |
| Не удаётся записать систему на SSD с компьютера | Адаптер M.2 → USB должен поддерживать NVMe (многие дешёвые поддерживают только SATA) |
| Система загрузилась с SD, а не с SSD | Измените порядок загрузки или извлеките карту |
Совет. Даже на SSD не забывайте про резервные копии. Если SSD для вас новое место хранения всего, имеет смысл хотя бы раз настроить регулярное копирование важных файлов на другой накопитель или NAS.
Что дальше
- Автозапуск программ на Raspberry Pi.
- Docker и Docker Compose на Raspberry Pi: контейнеры на SSD работают заметно быстрее, чем на карте.
- Pi-hole или AdGuard Home.
Материалы
- NVMe SSD boot — официальная инструкция по загрузке с NVMe.
- Raspberry Pi connector for PCIe — включение PCIe, загрузка и режим Gen 3.
- M.2 HAT+ — установка платы-переходника, характеристики, загрузка с NVMe.
- USB mass storage boot — загрузка с USB-накопителей, включая платы старше Raspberry Pi 4.
- Raspberry Pi bootloader configuration — параметры загрузчика, включая BOOT_ORDER.














