Как сделать образ sd карты raspberry pi

Добавил пользователь Дмитрий К.
Обновлено: 04.10.2024


Настоятельно рекомендуется регулярно создавать резервные копии всех важных файлов. Резервные копии не должны быть ограничены в пользовательскими файлами, они могут включать в себя конфигурационные файлы, базы данных, установленное программное обеспечение, настройки и даже целый снимок системы.

Здесь мы расскажем вам о некоторых методах резервного копирования, установленной операционной системы на Raspberry Pi.

Содержание

Домашняя папка [1]

Разумный способ сохранения резервной копии домашней папки, использовать команду tar для создания архива снимков папки, и сохранения на домашнем компьютере или в облачной системе хранения. Для этого введите следующие команды:

Это создает архив tar с названием pi_home.tar.gz в /home/. Вы должны скопировать этот файл на любой носитель или перенести его на другую машину по сети.

MySQL [2]

Если у вас есть базы данных MySQL, работающих на вашем Raspberry Pi, было бы целесообразно сохранить всё это тоже. Чтобы создать резервную копию одной базы данных, используйте команду mysqldump:

Эта команда создаст резервную копию базы данных recipes в файл recipes.sql. Обратите внимание, что в данном случае в команде mysqldump не были поставлены имя пользователя и пароль. Если у вас нет учетных данных MySQL в конфигурационном файле .my.cnf в вашем домашнем каталоге, то поставьте имя пользователя и пароль с флагами:

Для восстановления базы данных MySQL из файла дампа, передайте файл дампа в командный тузд; предоставить учетные данные, если это необходимо, и имя базы данных. Обратите внимание, что база должна существовать, поэтому сначала создайте её:

Кроме того, вы можете использовать команду pv (не устанавливается по умолчанию, поэтому установите её с помощью команды

), чтобы видеть индикатор прогресса обработки файла дампа MySQL. Это полезно для больших файлов:

Ещё один из вариантов заливки дампа в базу данных

Образ SD-карты [3]

Целесообразно сделать образ всей SD-карты, чтобы была возможность быстро и легко восстановить все содержимое SD-карты, при потере или порче файловой системы SD-карты. Это можно сделать,используя тот же метод, который используется для записи образа на новую карту, но в обратном порядке.

В Linux или Mac, например:

Это создаст образ SD-карты на вашем компьютере, который можно использовать для записи на другую SD-карту, с точно таким же содержимым и настройками. Для восстановления или клонирования на SD-карту, используем обратный порядок:

Автоматизация [4]

Для автоматизации вышеперечисленных команд, можно написать Bash скрипт. А для периодического запуска использовать Cron.

Запись образа SD карты в системе Windows

После записи образа, в операционной системе Windows SD карта будет отображаться с объемом всего 75 Мб. Это связано с тем, что раздел карты, содержащий Rasbian не отображается в Windows.

На некоторых компьютерах программа Win32DiskImager не запускается или работает неправильно. В этом случае, есть другой способ:

Документация на русском языке по работе с утилитой flashnul находится здесь.

Запись образа SD карты в командной строке Linux

Обратите внимание, что использование команды dd может повредить информацию на жестком диске вашего компьютера! Если вы укажете неверное устройство в командах, приведенных ниже, это уничтожит ваш раздел с системой Linux! Будьте предельно осторожны!

Запись образа SD карты в графической оболочке Linux

Если вы используете Ubuntu и не хотите вводить команды в окне терминала, то можно воспользоваться утилитой ImageWrite для записи файла образа SD карты на карту памяти.

Если вы относитесь к той категории пользователей, которая любит устраивать эксперименты своему оборудованию, то знаете, как важно обеспечить при этом сохранность всех пользовательских данных и настроек. Ведь эксперименты не всегда кончаются хорошо и лучше заранее защитить свои ценную информацию от возможных проблем. Сегодня разбираемся, как создать образ SD-карты, используемой, например, в Raspberry Pi.
Обратите внимание, независимо от того, какой объем памяти занят на флешке, величина клона будет соответствовать величине вашего накопителя. Сжать образ можно только на компьютерах под управлением Linux и мы расскажем как это сделать. Если есть реальная необходимость провести эту же операцию на других операционках, есть смысл запустить Linux на виртуальной машине.


На Windows

raspberry_pi_windows.jpg

На Linux

На данной операционке мы будем использовать команды в терминале, но для начала флешка опять же должна быть подключена к ПК. Открываем Терминал и вводим команду

она позволит вам просмотреть все файловые системы. Ваш накопитель будет обозначен как /dev/sdb, а рядом будет обозначена его емкость. Название вашего накопителя нужно запомнить или записать, оно понадобится для следующего этапа.
Для записи образа используем команду dd, результат будет выглядеть следующим образом:

где sdb — имя вашего накопителя. Если вывод пустой — все в порядке, если нет — используем команду sudo umount где нужно вписать все высветившиеся разделы. Например

А теперь, собственно восстановление. Для этого используем ту же команду dd, но теперь вводим данные в другом порядке:

где if — название клона, сохраненного на вашем ПК, а of — название накопителя.
Прогресса записи нет, так что ждем подтверждения завершения процесса, после чего извлекаем карту памяти.
Пользователям Linux также доступен еще один процесс — уменьшение клонированного образа. Как мы уже отмечали выше, размер клона будет равен по объему размеру вашей SD-карты, так что если у вас вместительный накопитель, уменьшить его копию будет не лишним. Для уменьшения будем использовать скрипт PiShrink. Чтобы загрузить его последнюю версию, используем команду

После этого сделать исполняемым при помощи команды

Теперь переходим к собственно сжатию, для этого запускаем скрипт и указываем имя образа, который нужно сжать в следующем формате

где “raspbian_backup.img” — имя образа.

После этого можно записать образ описанным выше способом.

На MacOS

После подключения карты памяти, открываем терминал и вводим команду

Находим нашу флешку среди подключенного оборудования и размонтируем ее. Для этого используем команду

где “disk2” — имя вашего накопителя.

Далее используем команду

Где disk2 — имя накопителя, а raspbian_backup.img — название будущего образа. Не отключайте свое устройство и не извлекайте карту, пока не увидите подтверждения окончания записи. Сам процесс займет какое-то время, запаситесь терпением.
Восстановление образа происходит похожим образом: сначала подключаем накопитель и размонтируем его, при помощи команды в Терминале:

где “disk2” — имя нашего накопителя.

Теперь используем команду

где параметр if — имя вашего образа, а of — название накопителя.

Как видим, на Mac и на Linux процесс записи и восстановления образа практически идентичен и там нужно понимать базовые команды для Терминала, а вот на Windows можно воспользоваться специальным софтом, который облегчит процесс. Надеемся, эта инструкция была полезной для наших читателей, а чтобы не пропускать другие секреты и советы из мира технологий, подписывайтесь на наш канал в Telegram.

Алеся Шарапова

Автор Алеся Шарапова

Часто так случается, что при копировании образа одной SD карты на другую, появляется ошибка о нехватке места. Вроде бы образ снят с карты размером 8Гб, и копируем на карту точно такого же размера, а места всё равно не хватает. В чем дело?

Причина такой неприятности кроется в том, что размер, указанный на любом электронном носителе, является лишь ориентировочным. Практически всегда носители разных производителей и даже разных моделей одной марки имеют отличающийся размер. Эти отличия могут не превышать нескольких мегабайт, или даже сотен килобайт, но для копирования образа это становится критичным.

Чтобы решить проблему нам нужно как-то укоротить исходный образ. Как правило, карта редко бывает забита под завязку, так что откусить лишние гигабайты образа будет вполне безобидным шагом. Этим мы и займемся.

1) Первое, что нам потребуется сделать — это создать свежий образ SD-карты. Размер образа будет идентичен размеру карты, с которой он снят. Чтобы этот образ куда-то сохранить, нам потребуется носитель большего размера. Например, если образ будет иметь размер 8Гб, для создания можно использовать обычную USB флешку на 16Гб или 32Гб.

2) Втыкаем флешку в USB порт и выясняем имя, выданное ей операционной системой. Делаем это с помощью утилиты fdisk:

rpi_find_dev

Судя по увиденному, флешка получила имя /dev/sda1 и на ней файловая система NTFS. Также мы видим, что основная SD карта разбита на два раздела: mmcblk0p1 и mmcblk0p2. Сделаем вывод, что сама карта называется /dev/mmcblk0, это нам пригодится.

3) Теперь монтируем флешку с помощью команды mount, предварительно создав для неё папку:

После выполнения этой команды в папке /mnt/usbf появится содержимое нашей флешки.

4) Создаем образ SD карты на флешке:

В этой команде bs — размер блока. Чем он меньше, тем дольше будет длиться процесс создания. Обычно ставят 4M, а если что-то пойдет не так — можно попробовать bs=1M. Для образа размером 16Гб время процедуры может составить около часа.

5) После того, как образ будет создан, приступим к удалению из него пустого пространства. Для этой операции используем bash-скрипт от sirlagz, немного модифицированный для урезания из образа только 90% пустого пространства.

Создаем в домашней папке пустой файл и делаем его исполянемым:

Затем открываем в любом редакторе, и копируем в него содержимое скрипта. Например в редакторе nano:

6) Чтобы скрипт заработал, нам понадобится доустановить пакет bc:

Говорим yes на все вопросы, которые задаст установщик.

7) Ну всё, теперь мы готовы к процедуре. Запускаем скрипт, указав в качестве параметра ранее созданный образ:

Читайте также: