Гид по технологиям

Загрузка Raspberry Pi 3 с USB вместо microSD

5 min read Raspberry Pi Обновлено 19 Apr 2026
Загрузка Raspberry Pi 3 с USB — пошагово
Загрузка Raspberry Pi 3 с USB — пошагово

Raspberry Pi: плата и USB-загрузка

Raspberry Pi — универсальная платформа для медиаплееров, ретро-эмуляторов, проектных контроллеров и радиопередатчиков. Одно из её ограничений для моделей до Pi 3 — отсутствие штатной загрузки с USB‑устройств. Для Raspberry Pi 3 можно включить «USB boot» через одноразовую настройку в OTP (one-time programmable) памяти и затем перенести образ Raspbian на USB‑накопитель. Ниже — подробная инструкция и рекомендации.

Начало: установка Raspbian и обновление файлов загрузки

Рекомендуется начинать с чистой копии Raspbian (в примере использовалась Raspbian Jessie). Установите систему на microSD обычным способом. После первого запуска подключитесь по SSH или через консоль и выполните команды, которые заменят стандартные файлы загрузчика

start.elf

и

bootcode.bin

на актуальные версии:

sudo apt-get update  
  
sudo BRANCH=next rpi-update

Эти команды поместят обновлённые файлы в каталог

/boot

Далее включите режим USB‑загрузки командой, которая добавит параметр в конец файла config.txt:

echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt

После этого перезагрузите плату.

Проверьте, что новый флаг записался в одноразовую память (OTP):

vcgencmd otp_dump | grep 17:

Если вы увидите что‑то вроде

17:3020000a

— значит всё успешно. После этого параметр program_usb_boot_mode=1 можно удалить из /boot/config.txt, чтобы использовать microSD в другом устройстве без побочных эффектов.

sudo nano /boot/config.txt

Удалите или закомментируйте строку, добавив # в начале.

Raspberry Pi 3 B: плата крупным планом

Подготовка USB‑накопителя для загрузки

Подключите USB‑накопитель к свободному порту Raspberry Pi 3. Все данные на нём будут уничтожены — используйте накопитель, готовый к форматированию.

Определите имя диска в системе:

lsblk

В примере microSD — mmcblk0, USB — sda (раздел sda1). Если подключены другие USB‑устройства, имя может быть sdb, sdc и т.д.

Отмонтируйте диск и запустите parted для создания двух разделов: загрузочного (FAT32) 100 МБ и основного (ext4) — остальное пространство:

sudo umount /dev/sda  
  
sudo parted /dev/sda

В интерактивном режиме parted введите:

mktable msdos

Если будет предупреждение о занятом диске — выберите Ignore и подтвердите удаление данных. Затем создайте разделы:

mkpart primary fat32 0% 100M  
  
mkpart primary ext4 100M 100%  
  
print

Выйдите из parted (Ctrl+C или quit), затем создайте файловые системы:

sudo mkfs.vfat -n BOOT -F 32 /dev/sda1  
sudo mkfs.ext4 /dev/sda2

Смонтируйте целевые разделы и подготовьтесь к копированию системы:

sudo mkdir /mnt/target  
sudo mount /dev/sda2 /mnt/target/  
sudo mkdir /mnt/target/boot  
sudo mount /dev/sda1 /mnt/target/boot/  
sudo apt-get update; sudo apt-get install rsync  
sudo rsync -ax --progress / /boot /mnt/target

Команда rsync скопирует текущую установленную систему и займет некоторое время. Наберитесь терпения — можно сделать кофе.

Копирование системы на USB

Обновление ключей SSH и конфигурации chroot

Чтобы SSH‑ключи хоста обновились и соединение после перезагрузки оставалось корректным, выполните привязку виртуальных файловых систем и войдите в chroot:

cd /mnt/target  
sudo mount --bind /dev dev  
sudo mount --bind /sys sys  
sudo mount --bind /proc proc  
sudo chroot /mnt/target  
rm /etc/ssh/ssh_host*  
dpkg-reconfigure openssh-server  
exit  
sudo umount dev  
sudo umount sys  
sudo umount proc

Примечание: после sudo chroot приглашение сменится с pi@raspberrypi на root@raspberrypi.

SSH и chroot на Raspberry Pi

Подготовка к перезагрузке с USB

Перед выключением нужно изменить параметры загрузки, чтобы корневой раздел указывал на USB‑диск.

Отредактируйте cmdline.txt, заменив указание на mmcblk0p2 на sda2:

sudo sed -i "s,root=/dev/mmcblk0p2,root=/dev/sda2," /mnt/target/boot/cmdline.txt

Аналогично правка для fstab — замените префикс /dev/mmcblk0p на /dev/sda:

sudo sed -i "s,/dev/mmcblk0p,/dev/sda," /mnt/target/etc/fstab

Затем отмонтируйте все и выключите плату:

cd ~  
sudo umount /mnt/target/boot  
sudo umount /mnt/target  
sudo poweroff

Отсоедините питание, извлеките карту microSD и подключите питание снова — Raspberry Pi должен загрузиться с USB‑устройства.

Критерии приёмки

  • Pi включается и проходит POST без microSD.
  • Файловая система корня монтируется с /dev/sda2.
  • Службы, включая SSH, стартуют успешно и принимают соединения.
  • Файлы в /boot (config.txt, cmdline.txt) остались корректными и содержат нужную конфигурацию.

Чек‑лист перед началом (администратор)

  • Сделать резервную копию microSD.
  • Иметь под рукой USB‑накопитель с достаточным объёмом для образа.
  • Доступ по SSH или консоли к Raspberry Pi.
  • [ ] Обновить систему (sudo apt-get update && sudo apt-get upgrade).
  • Иметь доступ к интерфейсу пользователя для проверки ошибок.

Чек‑лист для хобби‑пользователя

  • Подготовить запасной microSD на случай отката.
  • Использовать USB‑накопитель, на котором не жалко потерять данные.
  • Следовать инструкциям последовательно, не пропуская шаги.

Короткая методика (мини‑план)

  1. Установить Raspbian и обновления.
  2. Выполнить rpi-update и добавить program_usb_boot_mode=1 в /boot/config.txt.
  3. Перезагрузить и проверить OTP через vcgencmd otp_dump.
  4. Подготовить USB: parted → два раздела (100 МБ FAT32 + ext4).
  5. Скопировать систему через rsync на /dev/sda2 и /dev/sda1 (BOOT).
  6. Обновить SSH‑ключи через chroot.
  7. Правка cmdline.txt и /etc/fstab, выключение и извлечение microSD.
  8. Запустить Pi от USB и проверить логи.

Советы по устранению неполадок

  • Pi отказывается загружаться с USB:

    • Убедитесь, что в OTP действительно записан флаг (vcgencmd otp_dump | grep 17:17:3020000a).
    • Проверьте, что разделы на USB размечены и отформатированы правильно (sda1 — FAT32, sda2 — ext4).
    • Попробуйте другой USB‑порт (иногда питание/контроллер влияет).
    • Для некоторых внешних накопителей может потребоваться отдельный источник питания.
  • После загрузки проблемы с сетью или SSH:

    • Обновите/пересоздайте SSH‑ключи в chroot, как описано выше.
    • Проверьте /etc/fstab и cmdline.txt на опечатки.
  • При ошибках rsync или прав доступа:

    • Запустите rsync от root и используйте флаги -ax для сохранения прав и ссылок.
    • Убедитесь, что /mnt/target/boot смонтирован и доступен.
  • Если устройство медленно загружается с USB:

    • Некоторые флеш‑накопители имеют медленную скорость I/O; используйте SSD или качественный USB‑накопитель.
    • Проверьте скорость командой sudo hdparm -t /dev/sda (если доступно).

Альтернативные подходы и когда они подходят

  • Сетевая загрузка (PXE): подходит для большого парка устройств и для централизованного управления. Требует настройки DHCP/TFTP/BOOTP.
  • Использовать Raspberry Pi 4: у Pi 4 USB‑загрузка поддерживается нативно в новых прошивках, без необходимости правки OTP (проверьте версию прошивки).
  • Оставить microSD как загрузчик, а основную систему хранить на USB: полезно, если вы хотите быстрый и гарантированный bootloader, оставив корень на внешнем диске.

Факт‑бокс: ключевые значения

  • Размер загрузочного раздела: 100 МБ (FAT32).
  • Формат корневого: ext4.
  • Команды проверки OTP: vcgencmd otp_dump | grep 17:.
  • Копирование системы: sudo rsync -ax --progress / /boot /mnt/target.

Модель принятия решения

Если ваш проект требует высокой надёжности и скорости диска (медиа, БД, ретро‑эмуляторы) — USB‑SSD предпочтителен. Для простых проектов microSD остаётся актуальным и удобным. Если у вас много устройств — рассмотрите сетевую загрузку.

Советы по безопасности и конфиденциальности

  • После клонирования системы обновите пароли и SSH‑ключи, чтобы избежать риска использования старых ключей на новом устройстве.
  • Убедитесь, что сервисы, доступные извне, защищены (firewall, fail2ban, актуальные пакеты).

Резюме

Перевод Raspberry Pi 3 на загрузку с USB даёт преимущество использования быстрых накопителей и снижает износ microSD. Процесс занимает время, но технически прост: обновить загрузчик, записать флаг в OTP, подготовить USB‑разделы, скопировать систему и отредактировать конфигурации. Если возникнут проблемы — используйте чек‑листы и раздел «Устранение неполадок».

Готовы попробовать Raspberry Pi 4? У этой модели USB‑загрузка реализована более гибко, ознакомьтесь с её возможностями и спецификациями.

Важно: перед началом всегда делайте резервные копии и проверяйте команды — ошибка в разделе/форматировании может привести к потере данных.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Автоматическая отправка счетов из Google Sheets
Автоматизация

Автоматическая отправка счетов из Google Sheets

Приложение камеры на Python с OpenCV и tkinter
Python

Приложение камеры на Python с OpenCV и tkinter

Как удалить файл и папку в Linux — команды и советы
Linux

Как удалить файл и папку в Linux — команды и советы

Как распознать вредоносный EXE‑файл
Кибербезопасность

Как распознать вредоносный EXE‑файл

Автоответ в Gmail перед отпуском — настройка и шаблоны
Почта

Автоответ в Gmail перед отпуском — настройка и шаблоны

Восстановление файлов: Windows File Recovery
Восстановление данных

Восстановление файлов: Windows File Recovery