Clone SD Card

Bash

Raspberry Pi 的操作系统写在 SD Card 中。如果想将这个当前的系统做克隆(用于备份或存储迁移),可以通过 dd 命令来进行。

  1. 将原始的 SD Card 以及新的 SD Card 插入电脑;
  2. 通过 diskutil 命令来查看当前两张 SD Card 在 dev 中分别的命名是怎样的:
diskutil list

运行后的结果大致如:

/dev/disk2
   #:                       TYPE NAME                    SIZE       IDENTIFIER
  ...

/dev/disk3
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   ...

其中 /dev/disk2/dev/disk3 就分别是插入的两个 SD Card(具体在不同的机器上可能有所不同,需要根据 diskutil 列出的数据进行区分)。

接下来,需要将 /dev/disk3(也就是新的 SD Card)进行 unmount 操作,因为 SD Card 最终要写成的格式并不是 MacOS “理解”的格式(这里只是进行了 unmount,文件系统已经不可访问了,但是物理的 SD Card 依然是系统可以访问的,因而可以被写成任意的格式):

diskutil unmountDisk /dev/disk2

最后,使用 dd 命令进行数据的克隆就可以了:

sudo dd if=/dev/disk2 of=/dev/disk3

当然,如果不需要克隆到新的 SD Card,只是做一个简单的备份,也可以将内容保存到本地的文件中:

sudo dd if=/dev/disk2 of=/path/to/file.dmg

还原备份只需要:

sudo dd if=/path/to/file.dmg of=/dev/disk3