在 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
畫面會像這樣:
我們可以從磁碟的大小與分割區的檔案系統來判斷 Raspberry Pi 的 MicroSD 卡是哪一張,以這個例子來說,/dev/disk2
就是一張有安裝 Raspberry Pi 系統的 16GB MicroSD 卡。
確定了 MicroSD 卡的編號之後,就可以使用 dd
來備份 MicroSD 卡的資料了:
sudo dd if=/dev/rdisk2 of=~/Desktop/backup.img bs=1m
dd
的 if
參數是指定資料來源,也就是 MicroSD 卡,而 of
則是指定備份影像檔的儲存路徑與檔案名稱,請依照自己的狀況修改。
要從備份檔回覆 MicroSD 卡的話,就將 if
與 of
所指定的位置對調:
sudo dd if=~/Desktop/backup.img of=/dev/rdisk2 bs=1m
diskutil
所列出來的 MicroSD 卡是 /dev/disk2
,而這裡 dd
的 if
參數所使用的是 /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 Documentation、Raspberry Pi Forums、StackExchange、TechTonic、makeuseof、The Pi Hut、HTPC Guides、Marker Pro