備份與回復樹莓派 Raspberry Pi 的 MicroSD 記憶卡

Mac OS X

在 Mac OS X 中備份 MicroSD 卡的步驟跟在 Linux 中類似,也是使用 dd 指令,只不過操作步驟有一些小差異。

首先將 MicroSD 卡插進電腦中之後,使用 diskutil 查看硬碟狀況:

diskutil list

輸出為:

/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            999.3 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk1 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                                                   *13.1 MB    disk1
/dev/disk2 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *15.9 GB    disk2
   1:             Windows_FAT_16 RECOVERY                856.8 MB   disk2s1
   2:                      Linux                         33.6 MB    disk2s3
   3:             Windows_FAT_32 boot                    62.9 MB    disk2s5
   4:                      Linux                         15.0 GB    disk2s6

畫面會像這樣:

backup-raspberry-pi-sd-card-mac-os-x-1

使用 diskutil 查看硬碟狀況

我們可以從磁碟的大小與分割區的檔案系統來判斷 Raspberry Pi 的 MicroSD 卡是哪一張,以這個例子來說,/dev/disk2 就是一張有安裝 Raspberry Pi 系統的 16GB MicroSD 卡。

確定了 MicroSD 卡的編號之後,就可以使用 dd 來備份 MicroSD 卡的資料了:

sudo dd if=/dev/rdisk2 of=~/Desktop/backup.img bs=1m

ddif 參數是指定資料來源,也就是 MicroSD 卡,而 of 則是指定備份影像檔的儲存路徑與檔案名稱,請依照自己的狀況修改。

要從備份檔回覆 MicroSD 卡的話,就將 ifof 所指定的位置對調:

sudo dd if=~/Desktop/backup.img of=/dev/rdisk2 bs=1m
diskutil 所列出來的 MicroSD 卡是 /dev/disk2,而這裡 ddif 參數所使用的是 /dev/rdisk2,兩個都是同一張 MicroSD 卡,不過 /dev/rdisk2 是沒有經過緩衝區、直接進行存取的 raw device,所以讀取與寫入速度會比較快(請參考 hdiutil 的線上手冊)。如果使用 /dev/rdisk2 失敗的話,可以改用 /dev/disk2

使用 gzip 將備份的影像檔壓縮:

sudo dd if=/dev/rdisk2 bs=1m | gzip > ~/Desktop/backup.gz

經過壓縮的備份影像檔如果要回復的話,就先用 gzip 解壓縮,再給 dd 寫入 MicroSD 卡即可:

gzip -dc ~/Desktop/backup.gz | sudo dd of=/dev/rdisk2 bs=1m

參考資料:Raspberry Pi DocumentationRaspberry Pi ForumsStackExchangeTechTonicmakeuseofThe Pi HutHTPC GuidesMarker Pro

樹莓派, 物聯網

1 留言

  1. wang

    G. T. Wang 大大想請教下
    Read檔案時備份出來的與記憶卡大小一樣大,如何做壓縮成如再Raspberry pi 下載的iso檔案一樣變小呢?
    感謝

Leave a Reply