↩️ На главную

Загрузка Raspberry Pi с USB NVMe

24.01.2026 | Статья из категории: IOT умный дом

Загрузка Raspberry Pi с USB

MicroSD-карты — удобны, но ненадёжны в долгосрочной перспективе, да и скорость не та. После нескольких месяцев использвания СД карты, я наконец решил перейти на USB-NVMe — быстрее, стабильнее и служит дольше. А еще я использую распбери как домашний компьютер, ютуб, фильмы, музыка и управляю IOT, мощности хватает на все. Купил на алиекспресс переходник ЮСБ-nvme, железный с термопрокладками (JEYI M.2 NVMe USB-A USB 3.2), и склонировал с помощью DD сдшку на nvme. Ниже — подробный гайд, как сделать это безопасно, даже если у вас «живая» система с базами данных, MQTT, Home Assistant и кастомными сервисами.

1. Подготовка: остановите всё, что пишет на диск

Чтобы избежать повреждения данных при клонировании, важно минимизировать активность файловой системы. Я остановил все свои сервисы:

sudo systemctl stop cron
sudo systemctl stop nginx
sudo systemctl stop mariadb
sudo systemctl stop mosquitto
sudo systemctl stop home-assistant
sudo systemctl stop my-custom-iot-service
# + любые другие сервисы, которые могут писать в БД или логи

Также выполнил синхронизацию всех отложенных операций записи:

sudo sync

2. Клонирование SD-карты на NVMe

Подключил NVMe через USB-адаптер. Убедился, что он определяется как /dev/sda, а SD-карта — как /dev/mmcblk0.

Выполнил побайтовое копирование всей карты:

sudo dd if=/dev/mmcblk0 of=/dev/sda bs=4M status=progress conv=fsync

⚠️ Это сотрёт всё содержимое NVMe. Убедитесь, что данные на нём не нужны!

3. Расширение раздела под весь объём NVMe

После клонирования система занимала только ~30 ГБ, хотя NVMe — 120 ГБ. Расширил корневой раздел:

sudo parted /dev/sda resizepart 2 100%
sudo e2fsck -f -y /dev/sda2
sudo resize2fs /dev/sda2

Проверил, что размер ФС совпадает с размером раздела:

sudo tune2fs -l /dev/sda2 | grep "Block count"
sudo blockdev --getsz /dev/sda2

4. Тест загрузки с USB

Выключил Pi, вынул microSD и включил питание. На Raspberry Pi 4/5 с актуальным EEPROM загрузка с USB-NVMe происходит автоматически.

Если не загружается — временно вставьте microSD, зайдите в систему и настройте порядок загрузки:

sudo raspi-config → Advanced Options → Boot Order → USB Boot

5. Результат

✅ Система загружается напрямую с USB-NVMe.
✅ Используется весь объём диска (~118 ГБ).
✅ Нет зависимости от хрупкой microSD.
✅ Производительность выше, особенно при работе с базами и логами.

Теперь можно смело использовать NVMe в корпусе как основной носитель. А старую microSD — положить в сейф как резервную копию.

💡 NVME USB оказалось не так уж и надежно. Надежней чем SD карта и быстрее, но мой переходник USBnvme большой оказался )) USB-nvme не влазит в отдельный ЮСБ порт если в другой порт что то вставлено, пришлось в ЮСБ хаб. Обнаружил таймауты при опросе зигби модуля по ЮСБ, точнее какие то ошибки в логах. т.е. ЮСБ лучше не перегружать, особенно жрущими nvme дисками. Пришло время для распаковки нового корпуса для распбери пи с nvme.




Категории:

Категории

Комментарии

Пока нет комментариев. Будьте первым!

Оставить комментарий

← Назад к списку статей

Посетителей сегодня: 0
о блоге | карта блога

© Digital Specialist | Не являемся сотрудниками Google, Яндекса и NASA