Резервная копия карты памяти Raspberry Pi

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

Так как этот одноплатный компьютер не имеет своего ПЗУ (постоянного запоминающего устройства), то операционная система устанавливается на карту памяти MircoSD. MicroSD карты частенько выходят из строя, особенно при жесткой эксплуатации, а именно в таком режиме она находится, когда она играет роль основного раздела для операционной системы. Делать резервные копии уже отлаженной и настроенной системы – признак хорошего тона.

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

  1. Сохраняем все запущенные программы в Raspberry Pi
  2. Выключаем ее
  3. Извлекаем карту памяти из Raspberry Pi
  4. Вставляем карту памяти в картридер
  5. Подключаем картридер к компьютеру с установленным Linux (или LiveCD)
  6. Прежде всего проверяем разделы дисков, нам нужно установить имя раздела карты памяти. Делаем это с помощью следующей команды в терминале:
    lexone@DebianWorkStation:~$ sudo fdisk -l
    Disk /dev/sda: 465,8 GiB, 500107862016 bytes, 976773168 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    Disklabel type: dos
    Disk identifier: 0x226026a6
    
    Device     Boot     Start       End   Sectors   Size Id Type
    /dev/sda1  *         2048    206847    204800   100M  7 HPFS/NTFS/exFAT
    /dev/sda2          206848 710529023 710322176 338,7G  7 HPFS/NTFS/exFAT
    /dev/sda3       710529024 833409023 122880000  58,6G  7 HPFS/NTFS/exFAT
    /dev/sda4       833409024 976773119 143364096  68,4G 83 Linux
    
    
    Disk /dev/sdb: 55,9 GiB, 60022480896 bytes, 117231408 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0x01c41b1d
    
    Device     Boot    Start       End   Sectors  Size Id Type
    /dev/sdb1           2048  16779263  16777216    8G 82 Linux swap / Solaris
    /dev/sdb2       16779264 117229567 100450304 47,9G 83 Linux
    
    
    Disk /dev/sdc: 14,9 GiB, 15931539456 bytes, 31116288 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0x6e6213ff
    
    Device     Boot Start      End  Sectors  Size Id Type
    /dev/sdc1        8192    93236    85045 41,5M  c W95 FAT32 (LBA)
    /dev/sdc2       94208 31116287 31022080 14,8G 83 Linux
    

    В моем случае это /dev/sdc – карта памяти на 16Gb, с двумя разделами, sdc1 – загрузочный раздел (boot) и sdc2 – система целиком.

  7. На всякий случай размонтируем эти разделы
    $ sudo umount /dev/sdc1
    $ sudo umount /dev/sdc2
  8. С помощью команды dd побайтово копируем содержимое карты памяти в файл RasPi_backup.iso
    $ sudo dd if=/dev/sdc of=rasPi.iso bs=1M
    

    ВНИМАНИЕ! Здесь очень важно не перепутать букву карты памяти. После параметра of= нужно указать путь, куда будет скопирован файл резервной копии. Например в домашнюю папку пользователя: of=/home/lexone/rasPi_backup.iso

  9. Для того, чтобы записать созданный нами образ на другую карту памяти, далее пригодится следующая команда (не забудьте предварительно отмонтировать раздел карты) :
    $ sudo dd if=/путь_к_файлу/rasPi_backup.iso of=/dev/sdc bs=1M
    

Подробнее ознакомиться с командой dd можно в этой записи.