Хотите загружать Raspberry Pi с USB-накопителя вместо ненадёжных SD-карт? Если вы пользуетесь Raspberry Pi достаточно долго, вы наверняка сталкивались с этой неприятной проблемой — поломкой SD-карты. Возможно, она повредилась сразу после отключения питания, а может быть, просто износилась от тысяч записей в журнал. Именно тогда я окончательно решил, что больше не буду использовать SD-карты. Они отлично подходят для начала работы с Raspberry Pi, но если вам нужна надёжность и скорость, лучше всего загружать Raspberry Pi с USB-накопителя.
А с новыми моделями Raspberry Pi загрузка Raspberry Pi с USB-накопителя не только возможна, но и удивительно проста, если вы знаете, с какой моделью Pi вы имеете дело. Я проделал этот процесс для нескольких моделей – Pi 3B, 3B+, 4B и даже для новой Pi 5. Так что, если вы задаетесь вопросом, может ли ваш Pi работать без microSD, используя только USB-накопитель, это руководство для вас.
Зачем загружать Raspberry Pi с USB, а не с SD-карты?
По умолчанию Raspberry Pi загружается с карты microSD. Она недорогая и работает отлично, пока не сломается. Помимо производительности, SD-карты со временем изнашиваются, особенно при интенсивном вводе-выводе. Если вы используете что-то, требующее большого количества операций чтения и записи, например, базы данных или частое ведение журналов, это может стать серьёзной проблемой.
Но есть ещё и фактор скорости. Я обнаружил, что SD-интерфейс Raspberry Pi 4 способен работать со скоростью около 50 МБ/с. Более старые модели, такие как 3B и 3B+, ещё медленнее, достигая скорости около 25 МБ/с. И в реальности даже лучшие SD-карты обеспечивают скорость записи всего около 38 МБ/с. Этого явно недостаточно для работы операционной системы или выполнения какой-либо интенсивной работы с диском.
А теперь сравните это с SSD-накопителем USB 3.0. В реальных тестах он достиг скорости чтения 208 МБ/с и записи 140 МБ/с. Это более чем в пять раз быстрее, чем у лучших SD-карт.
Разница заметна. Загрузка, установка пакетов, работа с файлами и даже просто просмотр рабочего стола ОС Raspberry Pi — всё это происходит значительно быстрее при загрузке с USB. Если вы выходите за рамки простых проектов, настройка загрузки Raspberry Pi с SSD может значительно повысить производительность.
Преимущества загрузки с USB
Реальные файловые операции демонстрируют значительное ускорение при загрузке Raspberry Pi с USB-накопителя. Скорость загрузки Raspberry Pi с USB-накопителя весьма существенна. Вот что я обнаружил в ходе реальных испытаний:
- Производительность в 5-10 раз выше, чем у SD-карт.
- Более надежная система хранения данных и меньше сбоев.
- Преимущества в производительности относительно времени загрузки приложений и общей скорости реагирования системы.
- Лучше подходит для развертывания на серверах и постоянного использования.
- Профессионально развернуто и готово к производству.
Как загрузить Raspberry Pi с USB?
Я быстро понял, что не все модели Raspberry Pi ведут себя одинаково, когда пытался разобраться, как загрузить Raspberry Pi с USB-накопителя без SD-карты. Я обнаружил, что способ загрузки Raspberry Pi с USB-накопителя без SD-карты значительно различается в зависимости от модели. Позвольте мне пошагово объяснить каждый метод.
| Модель Raspberry Pi | Поддержка загрузки с USB | Описание |
| Pi 3B | С одноразовой конфигурацией | Требуется установить флаг OTP через SD-карту |
| Pi 3B+ | Из коробки | Загрузка с USB включена по умолчанию |
| Pi 4 | Родной с EEPROM | Поддерживает загрузку через USB 3.0 |
| Pi 5 | Полная поддержка | Поддерживает загрузку USB, PCIe NVMe |
Теперь перейдем к более детальному описанию работы с каждой картой.
Raspberry Pi 3B: одноразовая разблокировка через USB
С этим пришлось немного повозиться. Raspberry Pi 3B не поддерживает загрузку с USB-накопителя из коробки; нужно переключить скрытый внутренний переключатель. Точнее, нужно установить флаг в памяти OTP (однократно программируемой) Raspberry Pi 3. Он постоянный, но после установки вы сможете загружаться с USB-накопителя Raspberry Pi 3 всегда, даже без карты microSD.
⇒ Шаг 1: Загрузка с SD-карты с ОС Raspberry Pi
Для начала я записал стандартную ОС Raspberry Pi на карту microSD и загрузил с неё Raspberry Pi 3B. Для этого можно использовать Raspberry Pi Imager. После запуска ОС откройте окно терминала — оно понадобится вам для дальнейших действий.
⇒ Шаг 2: Включите режим загрузки USB с помощью config.txt
Вот команда, которую я выполнил:
|
1 |
echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt |
Что это делает:
| echo program_usb_boot_mode=1 | записывает флаг конфигурации для включения загрузки с USB |
| The | (pipe) | отправляет эту строку в следующую команду |
| sudo tee -a /boot/config.txt | добавляет эту строку в файл /boot/config.txt, используя привилегии суперпользователя |
Добавление program_usb_boot_mode=1 в файл конфигурации позволяет Pi записать флаг в свою память одноразовых паролей при следующей перезагрузке. Это нужно сделать только один раз за время жизни Pi; это не повредит Pi и не помешает последующим загрузкам с SD-карты.
⇒ Шаг 3: Перезагрузите устройство, чтобы применить изменения.
После изменения config.txt я запустил:
|
1 |
sudo reboot |
Это перезагрузит Pi и запустит загрузчик для чтения нового параметра конфигурации. Если он обнаружит program_usb_boot_mode=1, он запишет флаг загрузки с USB в одноразовую память Pi.
⇒ Шаг 4: Убедитесь, что установлен флаг OTP
После перезагрузки Raspberry Pi я решил убедиться, что флаг загрузки с USB-накопителя был прописан правильно. Поэтому я выполнил:
|
1 |
vcgencmd otp_dump | grep 17: |
Вот что это делает:
| vcgencmd otp_dump | выводит содержимое памяти OTP (однократно программируемой) Pi |
| | grep 17: | фильтрует строку 17, которая содержит конкретный бит загрузки USB |
Если команда возвращает что-то вроде:
|
1 |
17:3020000a |
Вот и все, загрузка Raspberry Pi с USB теперь постоянно включена на вашем Pi 3 B.
⇒ Шаг 5: Загрузка с USB (без SD-карты!)
Я записал ОС Raspberry Pi на USB-накопитель (точно так же, как и на SD-карту), подключил его к USB-порту Pi 3B и извлек SD-карту. Когда я снова включил Pi, он загрузился прямо с USB-накопителя. SD-карты больше не нужны!
Raspberry Pi 3B+: встроенная поддержка загрузки с USB
Если вы используете Raspberry Pi 3B+, вам повезло. Загрузка с USB уже включена на заводе. Это значит, что вам не нужно настраивать какие-либо файлы конфигурации или выполнять команды в терминале. Вы просто прошиваете ОС на USB-накопитель и можете сразу же загрузить Raspberry Pi 3 с USB-накопителя. В Pi 3B+ поддержка загрузки с USB-накопителя уже включена на заводе, что позволяет Raspberry Pi 3 загружаться с USB-накопителя без SD-карты.
Вот что я сделал с помощью Raspberry Pi Imager:
⇒ Шаг 1: Откройте Raspberry Pi Imager: Я начал с открытия Raspberry Pi Imager на своём ПК. Это официальный инструмент для записи образов ОС на SD-карты или USB-накопители.
⇒ Шаг 2: Выберите модель Pi: Raspberry Pi Imager позволяет указать целевую плату. Я нажал кнопку «Choose Device» («Выбрать устройство») и выбрал Raspberry Pi 3B+. Это поможет инструменту оптимизировать ОС для вашей модели.
⇒ Шаг 3: Выберите ОС для Raspberry Pi: Я нажал «Choose OS» («Выбрать ОС») и выбрал Raspberry Pi OS (32-разрядную) из списка. Вы также можете использовать Raspberry Pi OS Lite, если настраиваете Raspberry Pi без монитора.
⇒ Шаг 4: Выберите USB-накопитель. Далее я нажал «Choose Storage» («Выбрать хранилище») и выбрал USB-накопитель из списка. Убедитесь, что вы выбираете правильный накопитель; во время прошивки данные с него будут стерты.
⇒ Шаг 5: Запись ОС: Я нажал «Записать», подтвердил предупреждение и записал ОС на USB-накопитель. Этот этап занял около 5–10 минут.
⇒ Шаг 6: Загрузка Pi 3B+ с USB: Когда USB-накопитель был готов, я отключил SD-карту от Pi (если она была), вставил USB-накопитель в один из USB-портов Pi и включил его.
Вот и всё. Pi 3B+ загрузился с USB без дополнительной настройки. Никаких конфигурационных файлов, никаких загрузчиков — просто подключи и работай.
Raspberry Pi 4: загрузчик с EEPROM
Raspberry Pi 4 — это большой шаг вперёд. Вместо жёстко прописанной логики загрузки он использует специальный чип EEPROM для хранения загрузчика, что обеспечивает гибкие настройки загрузки Raspberry Pi 4 с USB-накопителя без SD-карты. Это означает, что вы можете обновить его и изменить способ загрузки Pi. По умолчанию старые платы Pi 4 могут по-прежнему отдавать приоритет загрузке с microSD, но это можно изменить, чтобы разрешить загрузку Raspberry Pi 4 с USB-накопителя без SD-карты.
Вариант 1: метод CLI
⇒ Шаг 1: загрузка с SD-карты и открытие терминала
Как и прежде, я загрузился с SD-карты с установленной ОС Raspberry Pi и открыл Терминал
⇒ Шаг 2: Обновите все
Чтобы убедиться, что моя система и загрузчик полностью обновлены, я выполнил следующие действия:
|
1 |
sudo apt update |
sudo apt update: извлекает последнюю информацию о пакетах из репозиториев.
|
1 |
sudo apt full-upgrade -y |
sudo apt full-upgrade: Устанавливает обновления для всего, включая прошивку и ядро.
И тогда я выполнил:
|
1 |
sudo rpi-eeprom-update -a |
Эта команда проверяет наличие последнего обновления загрузчика и при необходимости устанавливает его. Флаг -a означает «применять все доступные обновления автоматически».
⇒ Шаг 3: Установите порядок загрузки на USB
Затем я открыл инструмент настройки Raspberry Pi:
|
1 |
sudo raspi-config |
Затем перейдите к: «Advanced Options → Boot Order → USB Boot» («Дополнительные параметры → Порядок загрузки → Загрузка с USB»).
Это заставит загрузчик EEPROM сначала искать USB-накопитель, а затем переключиться на microSD.
⇒ Шаг 4: Перезагрузите устройство и извлеките SD-карту.
После установки порядка загрузки я перезагрузил Raspberry Pi 4, выключил его, извлек SD-карту и подключил USB-накопитель SSD с установленной ОС Raspberry Pi. При следующем включении Raspberry Pi 4 теперь можно загрузить с USB-накопителя быстрее, чем когда-либо.
Вариант 2: обновление загрузчика Raspberry Pi Imager
Если вы хотите узнать, как загрузить Raspberry Pi с USB-накопителя без SD-карты и избежать использования терминала, Raspberry Pi Imager предлагает удобное решение. Вот как это сделать.
→ Откройте Raspberry Pi Imager на вашем ПК и выберите плату.
→ Нажмите «Choose OS» («Выбрать ОС») → прокрутите вниз до раздела Misc Utility Images → Bootloader → select USB Boot («Разные образы утилит» → «Загрузчик» → выберите «Загрузка с USB»).
→ Нажмите «Choose Storage» («Выбрать хранилище») и выберите SD-карту.
→ Нажмите Write и дождитесь завершения.
→ Вставьте SD-карту в ваш Pi и включите его.
Примерно через 10 секунд зелёный светодиод начнёт быстро мигать, или экран может стать зелёным; это означает, что обновление загрузчика прошло успешно. Выключите устройство, извлеките SD-карту, и теперь оно готово к загрузке с USB-накопителя.
Raspberry Pi 5 с собственной загрузкой USB и NVMe
Pi 5 — самый мощная на сегодняшний день плата Raspberry Pi, которая сразу из коробки поддерживает загрузку через USB 3.0 и PCIe. Никаких обновлений, никаких флагов или настроек EEPROM не требуется. Pi 5 обеспечивает самую полную поддержку загрузки, включая загрузку Raspberry Pi с SSD через несколько интерфейсов.
Вот все, что я сделал:
- Использовал Raspberry Pi Imager для прошивки ОС Raspberry Pi на USB SSD.
- Подключил SSD к одному из синих портов USB 3.0.
- Работает на Pi 5 (без SD-карты).
Чтобы добиться невероятной производительности на Raspberry Pi 5, используйте его порт PCIe с совместимым адаптером NVMe, чтобы ваш Raspberry Pi загружался с SSD, как мини-ПК.
Устранение неполадок при загрузке с USB-накопителя
| Проблема | Симптомы | Решение |
| Недостаточная мощность | Диск не обнаружен | Используйте USB-концентратор с питанием или высококачественный блок питания. |
| Загрузочный раздел поврежден | Циклы загрузки или сбои | Перепрошить диск с новым образом ОС |
| Несовместимый USB-накопитель | Не загружается несмотря на настройку | Тестирование с USB-накопителями разных марок |
| Устаревший загрузчик | USB не распознан | Обновите загрузчик EEPROM до последней версии |
| Неправильный USB-порт | Низкая производительность | Используйте порты USB 3.0 (синие) на Pi 4/5 |
Как видите, большинство проблем, которые могут возникнуть, достаточно просто решаемы.
Стоит ли загружать Raspberry Pi с USB?
Если вы устали от сбоев SD-карт, хотите повысить производительность или просто хотите, чтобы ваш Raspberry Pi работал как настоящий компьютер, то да, надежность, которую вы получите, узнав, как загрузить Raspberry Pi с USB-накопителя без SD-карты, на 100% того стоит.
Для любительских проектов SD-карты вполне достаточно, но для серьёзных задач, требующих надёжности и производительности, загрузка с USB-накопителя Raspberry Pi 3 и более новых моделей предлагает неоспоримые преимущества. Хороший USB-SSD оправдывает свою стоимость благодаря лучшему отклику системы, надёжности и ещё меньшему количеству проблем, связанных с выходом SD-карты из строя и задержками в обслуживании.
Часто задаваемые вопросы по загрузке Raspberry Pi с USB
⇥ Q1. Как узнать, поддерживает ли мой Raspberry Pi 4 загрузку с USB?
Все модели Raspberry Pi 4 поддерживают загрузку с USB, но устройствам, выпущенным до середины 2020 года, может потребоваться обновление загрузчика. Проверьте версию загрузчика с помощью команды vcgencmd bootloader_version — для стабильной поддержки загрузки с USB вам нужна версия 2020-04-16 или более поздняя.
⇥ Q2. Загрузка Raspberry Pi с USB-накопителя происходит быстрее, чем с SD-карты?
Да, но прирост скорости зависит от вашего хранилища и модели Pi. SSD с интерфейсом USB 3.0 могут передавать данные значительно быстрее, чем SD-карты. Однако USB-контроллер Raspberry Pi 4 использует ту же полосу пропускания, что и Ethernet, и фактическая производительность зависит от нагрузки.
⇥ Q3. Как устранить неполадки при загрузке с USB?
Проверяйте систематически: версию загрузчика (vcgencmd bootloader_version), убедитесь, что USB-накопитель имеет правильную структуру загрузочных разделов, протестируйте с заведомо исправным USB-устройством, попробуйте разные USB-порты, проверьте правильность питания (особенно для SSD) и проверьте порядок загрузки в raspi-config для Raspberry Pi 4.
⇥ Q4. Все ли модели Raspberry Pi поддерживают загрузку с USB?
Нет, загрузку с USB поддерживают только Raspberry Pi 3B (с конфигурацией), 3B+, 4 и 5. Для всех остальных плат требуется SD-карта для загрузки.
⇥ Q5. Какой USB-накопитель лучше всего подходит для загрузки Raspberry Pi?
SSD-накопители USB 3.0 — безусловно, лучший выбор, если вы цените продвинутые устройства. Другой вариант — USB-накопители (чем они качественнее, тем лучше), но лучше воздержаться от дешёвых флеш-накопителей, которые могут быстро разряжаться при постоянном использовании.
⇥ Q6. Если я включу загрузку с USB, смогу ли я использовать SD-карту?
Да, в большинстве случаев загрузка с USB также позволит использовать SD-карту. Если у вас есть оба устройства, Raspberry Pi будет загружаться с USB.
⇥ Q7. Может ли Raspberry Pi 5 получать питание от накопителей NVMe?
Да, Raspberry Pi 5 обеспечивает загрузку с NVMe, при условии использования адаптеров M.2 вы достигнете максимальной производительности хранилища.
⇥ Q8. Как отменить конфигурацию загрузки с USB?
Изменения одноразовых паролей (OTP) на Pi 3B сохраняются, но загрузка с SD-карты всё равно возможна. На Pi 4/5 порядок загрузки можно изменить с помощью raspi-config.
