Побитовая копия SD-карты нужна перед прошивкой Raspberry Pi, переносом системы на другую карту или восстановлением данных с носителя, который начал «сыпаться» ошибками чтения. Образ фиксирует состояние карты целиком — разделы, загрузочные секторы и файлы — и позволяет вернуть всё в исходное состояние одной операцией записи.
В отличие от обычного копирования файлов через проводник, образ сохраняет скрытые разделы, таблицу разметки и загрузчик. Именно поэтому простое копирование содержимого карты с Raspberry Pi OS на другую карту не даст загрузочный носитель, а запись образа — даст. Ниже разберём, какими инструментами создать образ, как проверить его целостность и как записать обратно.
Что такое образ SD-карты и когда он нужен
Образ диска — это файл, содержащий посекторную копию носителя. У карты на 32 ГБ образ займет около 32 ГБ, даже если реально занято меньше, потому что копируется вся поверхность, включая пустые области. Форматы бывают разные: сырые .img и .dd, сжатые .img.gz, а также специализированные форматы отдельных программ.
Типичные сценарии, когда без образа не обойтись:
- 💾 Резервная копия настроенной системы на Raspberry Pi или одноплатнике перед экспериментами.
- 🔄 Перенос системы на карту большего объёма без переустановки.
- 🛠️ Восстановление данных: сначала снимается образ со сбойной карты, затем файлы извлекаются уже из образа, не нагружая умирающий носитель.
- 📦 Тиражирование одинаковых карт для нескольких устройств — например, для класса или парка терминалов.
Отдельный случай — карта с данными, которая перестала определяться или выдаёт ошибки. Здесь образ создают в первую очередь, до любых попыток «починить» файловую систему: каждая лишняя операция чтения с деградирующей флеш-памяти может быть последней.
Подготовка: что проверить перед созданием образа
До запуска программы стоит убедиться в нескольких вещах. Во-первых, на диске компьютера должно быть свободное место не меньше полного объёма карты — не занятого пространства, а именно номинала карты. Во-вторых, кардридер должен стабильно определять носитель: дешёвые адаптеры иногда обрывают чтение на длинных операциях.
Также желательно закрыть все программы, которые могут обращаться к карте: проводник, антивирусное сканирование по требованию, редакторы с открытыми файлами. Любая запись на карту во время снятия образа сделает копию несогласованной.
⚠️ Внимание: если карта содержит важные данные и подаёт признаки неисправности (медленное чтение, ошибки CRC, пропадание из системы), не форматируйте её и не запускайте проверку диска с исправлением. Сначала снимите образ — все дальнейшие действия выполняйте уже с копией.
☑️ Подготовка к созданию образа
Создание образа в Windows
Классический инструмент для Windows — Win32 Disk Imager. Программа бесплатна, не требует установки и умеет как записывать образы на карту, так и считывать их обратно. Вам нужно выбрать устройство (букву карты), указать путь и имя файла образа с расширением .img, затем нажать кнопку Read — именно она создаёт образ с носителя, а Write выполняет обратную операцию.
Альтернатива — Rufus: в свежих версиях при выборе загрузочного носителя доступна опция сохранения содержимого в файл образа. Есть и консольный путь через портированную утилиту dd для Windows, но для разовой задачи графический инструмент удобнее и безопаснее — меньше шанс ошибиться с выбором диска.
Для карт, где нужна только часть данных, существуют программы с функцией обрезки образа (например, PiShrink под Linux уменьшает образы Raspberry Pi до реально занятого объёма). Это полезно, когда карта на 64 ГБ, а данных на ней несколько гигабайт.
Создание образа в Linux и macOS
В Linux и macOS штатное средство — утилита dd. Сначала определите имя устройства карты командой lsblk (в Linux) или diskutil list (в macOS). Крайне важно не перепутать карту с системным диском: ориентируйтесь на размер устройства.
Типовая команда для создания образа выглядит так:
sudo dd if=/dev/sdX of=~/sdcard-backup.img bs=4M status=progress conv=fsync
Здесь if — источник (карта), of — файл образа, bs=4M — размер блока для ускорения, status=progress показывает ход операции, conv=fsync гарантирует сброс буферов на диск в конце. Подставьте своё имя устройства вместо /dev/sdX; в macOS имена выглядят как /dev/disk2 и подобные.
⚠️ Внимание: ошибка в параметрах
ifиofкомандыddприводит к безвозвратной перезаписи указанного диска. Перед нажатием Enter перепроверьте имя устройства по размеру — это занимает секунды, а последствия ошибки необратимы.
Как сжать образ сразу при создании
Поток можно пропустить через gzip: sudo dd if=/dev/sdX bs=4M status=progress | gzip > sdcard.img.gz. Это заметно уменьшит файл, если на карте много пустого места, но замедлит процесс. Для распаковки и записи используйте: gunzip -c sdcard.img.gz | sudo dd of=/dev/sdX bs=4M status=progress
Сравнение инструментов
Выбор программы зависит от системы и задачи. Ниже — ориентировочное сравнение популярных вариантов.
| Инструмент | Платформа | Интерфейс | Особенности |
|---|---|---|---|
| Win32 Disk Imager | Windows | Графический | Простое чтение/запись .img |
| Rufus | Windows | Графический | Сохранение носителя в образ |
| dd | Linux, macOS | Консоль | Гибкость, работа по конвейеру |
| balenaEtcher | Windows, Linux, macOS | Графический | В основном запись, проверка после записи |
| HDD Raw Copy Tool | Windows | Графический | Посекторное копирование между носителями |
Для разовой задачи под Windows проще всего Win32 Disk Imager, а в Linux штатной dd достаточно почти всегда. Графические кроссплатформенные утилиты удобны, если вы работаете на разных системах и хотите одинаковый интерфейс.
Проверка целостности образа
После создания образа полезно убедиться, что копия снялась без ошибок. Самый надёжный способ — сравнить контрольные суммы: посчитайте хеш образа и хеш самой карты. В Linux это делается так:
sha256sum ~/sdcard-backup.img
sudo head -c $(stat -c %s ~/sdcard-backup.img) /dev/sdX | sha256sum
Если значения совпали — образ идентичен карте побайтово. В Windows хеш файла можно получить в PowerShell командой Get-FileHash. Совпадение сумм — единственное надёжное подтверждение того, что резервная копия действительно рабочая; один только факт «программа завершилась без ошибок» такой гарантии не даёт.
Дополнительно проверьте, что файл образа монтируется или открывается: в Linux образ можно подключить через loop-устройство, в Windows — открыть в архиваторе или программах вроде 7-Zip (для образов с поддерживаемыми файловыми системами) и убедиться, что структура разделов читается.
Запись образа обратно на карту
Обратная операция симметрична. В Win32 Disk Imager выберите файл образа, устройство и нажмите Write. В Linux команда dd меняет местами источник и приёмник:
sudo dd if=~/sdcard-backup.img of=/dev/sdX bs=4M status=progress conv=fsync
Карта-приёмник должна быть не меньше исходной: образ с карты на 32 ГБ не запишется на карту 16 ГБ, даже если данных там меньше. После записи на карту большего объёма раздел останется прежнего размера — расширить его можно штатными средствами системы (например, raspi-config в Raspberry Pi OS делает это автоматически при первой загрузке, если функция включена).
После записи безопасно извлеките карту и проверьте загрузку устройства. Если система не стартует, перепроверьте, тот ли образ записан и не обрывалась ли запись — в этом случае повторите операцию.
Типичные ошибки и их решения
Самая частая проблема — обрыв чтения на середине процесса. Причины обычно в нестабильном кардридере, окисленных контактах карты или питании USB-порта. Попробуйте другой ридер, аккуратно очистите контакты карты ластиком, подключите ридер напрямую к порту компьютера без хаба.
Вторая ситуация — образ создался, но система с записанной копии не загружается. Возможные причины: запись оборвалась, образ снимался с карты, с которой в этот момент работала система (файловая система была в несогласованном состоянии), либо карта-приёмник неисправна. Проверка контрольных сумм после записи помогает локализовать проблему.
Третий типичный вопрос — почему образ занимает столько места. Ответ: снимается вся карта целиком, включая неразмеченные и пустые области. Если объём критичен, используйте сжатие через gzip или инструменты обрезки образов вроде PiShrink для систем Raspberry Pi.
Часто задаваемые вопросы
Можно ли создать образ карты, не вынимая её из устройства?
Надёжного способа нет: пока карта в устройстве и система с неё работает, данные меняются, и образ получится несогласованным. Карту следует извлечь, подключить к компьютеру через кардридер и снимать образ в «холодном» состоянии. Исключение — специализированные средства резервного копирования внутри самой системы, но они создают копию файлов, а не побитовый образ.
Чем образ отличается от обычного копирования файлов?
Копирование файлов переносит только видимое содержимое одного раздела. Образ сохраняет всё: таблицу разделов, загрузочные секторы, скрытые и служебные разделы, неразмеченное пространство. Для загрузочных карт (Raspberry Pi, прошивки устройств) работает только образ.
Карта на 32 ГБ, а занято 5 ГБ. Можно ли сделать образ меньше?
Да, двумя способами. Первый — сжатие на лету через gzip при создании образа в Linux. Второй — инструменты вроде PiShrink, которые обрезают образ до реально занятого объёма (применимо к образам с поддерживаемыми файловыми системами, прежде всего картам Raspberry Pi).
Карта не определяется компьютером. Получится ли снять образ?
Зависит от причины. Если карта видна в системе как устройство (в lsblk или «Управлении дисками»), даже без читаемых разделов, образ снять можно. Если карта не определяется вообще — попробуйте другой кардридер и другой компьютер. Полное отсутствие отклика обычно означает аппаратную неисправность контроллера карты, и тогда поможет только профессиональное восстановление данных.
Можно ли записать образ 32-гигабайтной карты на карту 64 ГБ?
Да, запись пройдёт без проблем, но разделы останутся исходного размера, а остальное место будет неразмеченным. Расширить раздел можно после записи: в Raspberry Pi OS это делает штатная утилита raspi-config, в других случаях — редакторы разделов вроде GParted.