Снять образ с SD-карты чаще всего нужно, когда карта содержит систему Raspberry Pi OS, прошивку регистратора или загрузочный раздел — и её нельзя скопировать обычным перетаскиванием файлов, потому что теряются скрытые разделы и загрузочный сектор. Посекторное копирование решает эту задачу: создаётся файл-образ, который можно записать на другую карту и получить точную рабочую копию.
В статье разберём несколько способов создания образа: через графические утилиты Windows, командную строку Linux и встроенные средства macOS. Также объясним, как проверить целостность результата и что делать, если карта читается с ошибками.
Что такое образ SD-карты и когда он нужен
Образ диска — это файл, содержащий побайтовую копию всего носителя: таблицу разделов, загрузочные записи, файловые системы и сами данные. В отличие от обычного копирования папок, образ сохраняет структуру карты полностью, включая скрытые и неразмеченные области.
- 💾 Резервная копия системы Raspberry Pi перед экспериментами с настройками
- 📋 Клонирование карты на другой носитель без переустановки системы
- 🛡️ Сохранение данных с карты, которая начала сбоить, перед попытками восстановления
- 🔁 Перенос прошивки устройства (регистратора, навигатора, 3D-принтера) на карту большего объёма
Подготовка: что проверить перед началом
Перед созданием образа убедитесь, что карта стабильно определяется системой. Если компьютер периодически теряет карту или картридер выдаёт ошибки чтения, сначала смените картридер или порт USB — нестабильное чтение приведёт к повреждённому образу.
Также проверьте свободное место на диске, куда будет сохраняться файл. Размер образа равен полному объёму карты, а не занятому пространству: с карты на 64 ГБ получится файл около 64 ГБ, даже если реально использовано всего 4 ГБ.
⚠️ Внимание: не извлекайте карту и не закрывайте программу во время чтения. Прерывание процесса делает образ непригодным для записи — придётся начинать заново.
Снятие образа в Windows через Win32 Disk Imager
Самый распространённый инструмент для Windows — бесплатная утилита Win32 Disk Imager. Она умеет не только записывать образы на карты, но и выполнять обратную операцию — чтение (Read).
Порядок действий: вставьте карту в картридер, запустите программу от имени администратора, в поле Device выберите букву карты, в поле Image File укажите путь и имя будущего файла с расширением .img, затем нажмите кнопку Read. Программа покажет прогресс и сообщит об успешном завершении.
☑️ Снятие образа через Win32 Disk Imager
Если кнопка Read неактивна, чаще всего причина в том, что не выбрана буква устройства или программа запущена без прав администратора. Закройте утилиту и запустите её повторно через контекстное меню.
Альтернативные программы для Windows
Если Win32 Disk Imager не справляется — например, карта читается с ошибками — попробуйте HDD Raw Copy Tool. Эта утилита выполняет низкоуровневое посекторное копирование и умеет продолжать работу при сбойных секторах, пропуская их. В окне программы выбирается источник (карта), затем назначение — файл образа.
Ещё один вариант — balenaEtcher. Она ориентирована в первую очередь на запись, но в некоторых версиях есть функция клонирования диска на диск: можно скопировать карту напрямую на другую без промежуточного файла. Доступность конкретной функции зависит от версии программы, поэтому сверяйтесь с её интерфейсом.
| Программа | Чтение образа | Работа со сбойными секторами | Интерфейс |
|---|---|---|---|
| Win32 Disk Imager | Да, кнопка Read | Прерывается при ошибке | Простой |
| HDD Raw Copy Tool | Да, посекторно | Пропускает сбойные блоки | Простой |
| balenaEtcher | Клонирование диска | Ограниченно | Современный |
| USB Image Tool | Да, режим Backup | Базовая | Средний |
Снятие образа в Linux и macOS командой dd
В 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.
⚠️ Внимание: ошибка в параметреofприведёт к затиранию указанного диска. Перед запуском перепроверьте имя устройства дважды — например, сравнив объём в выводеlsblkс объёмом карты.
Как уменьшить размер образа
Образ с карты 64 ГБ займёт 64 ГБ, даже если данных мало. Сократить размер можно, сжав файл через gzip: dd if=/dev/sdX | gzip > backup.img.gz. Либо перед снятием образа уменьшите раздел на самой карте (например, через GParted) и очистите свободное место нулями — тогда сжатие будет эффективнее. Существуют и специальные утилиты вроде PiShrink для образов Raspberry Pi, которые автоматически ужимают раздел.
Проверка целостности и запись образа обратно
После создания образа полезно убедиться, что файл читается и его размер соответствует объёму карты. В Linux целостность проверяется сравнением контрольных сумм исходника и файла через md5sum или sha256sum. В Windows аналогичную проверку выполняют утилиты подсчёта хешей.
Запись образа на новую карту выполняется теми же инструментами в обратном направлении: в Win32 Disk Imager — кнопкой Write, в dd — сменой источника и назначения местами. Целевая карта должна быть не меньше исходной: образ с карты 32 ГБ не запишется на карту 16 ГБ, даже если данные занимают меньше.
- ✅ Сверьте размер файла образа с объёмом исходной карты
- ✅ Сравните контрольные суммы, если создавали их при копировании
- ✅ Запишите образ на тестовую карту и проверьте загрузку устройства
- ✅ Храните образ на надёжном диске, а не на той же SD-карте
Типичные ошибки и их решение
Ошибка чтения в середине процесса обычно указывает на физический износ карты или плохой контакт картридера. Попробуйте другой картридер, очистите контакты карты и повторите попытку. Если ошибка повторяется на том же месте — вероятны сбойные сектора, используйте инструмент с пропуском ошибок.
Ситуация, когда Windows предлагает отформатировать карту при подключении, означает, что на ней разделы в файловых системах, которые Windows не понимает (например, ext4 с Raspberry Pi). Форматировать не нужно — просто игнорируйте предложение и запускайте снятие образа: посекторное копирование работает независимо от файловой системы.
⚠️ Внимание: никогда не соглашайтесь на форматирование карты, если планируете снять с неё образ. После форматирования структура разделов будет уничтожена, и восстановить исходное состояние станет значительно сложнее.
Часто задаваемые вопросы
Можно ли скопировать SD-карту просто перетащив файлы?
Нет, если на карте загрузочная система или несколько разделов. Обычное копирование не переносит загрузочный сектор, таблицу разделов и скрытые области — копия не будет работать. Для таких карт нужен посекторный образ.
Почему образ занимает столько же места, сколько вся карта?
Потому что образ копирует карту побайтово, включая пустые области. Уменьшить размер можно сжатием через gzip или предварительным уменьшением раздела на карте.
Можно ли записать образ на карту меньшего объёма?
Нет, целевая карта должна быть не меньше исходной. Образ записывается посекторно с самого начала, и недостающее пространство приведёт к обрезанию данных и нерабочей копии.
Карта читается с ошибками — образ ещё можно снять?
Часто да. Используйте инструмент, умеющий пропускать сбойные сектора, например HDD Raw Copy Tool или ddrescue в Linux. Часть данных из повреждённых блоков будет потеряна, но остальное содержимое сохранится.
Чем открыть файл .img, чтобы извлечь отдельные файлы?
В Linux образ монтируется через loop-устройство. В Windows разделы внутри образа можно открыть специализированными утилитами для работы с образами дисков, но проще записать образ на карту и работать с ней напрямую.