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

Linux

不管您是使用哪一種 Linux 發行版,備份與還原 MicroSD 卡的步驟都是一樣的。首先將 MicroSD 卡插進電腦中,使用 lsblk 檢查一下磁碟的狀況:

lsblk

輸出會類似這樣:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 465.8G  0 disk 
├─sda1   8:1    0   400M  0 part 
├─sda2   8:2    0   300M  0 part /boot/efi
├─sda3   8:3    0   128M  0 part 
├─sda4   8:4    0   200G  0 part 
├─sda5   8:5    0 141.6G  0 part 
├─sda6   8:6    0   1.9G  0 part [SWAP]
├─sda7   8:7    0  28.4G  0 part 
└─sda8   8:8    0  93.1G  0 part /
sdb      8:32   1  14.9G  0 disk 
├─sdb1   8:33   1    60M  0 part /media/gtwang/boot
└─sdb2   8:34   1  14.8G  0 part /media/gtwang/ad6203a1-ec50-4f44-a1c0-e6c3dd4c9

我們可以從磁碟的容量來辨識哪一個是 MicroSD 卡,以這裡的例子來說,我的 MicroSD 卡的容量大小是 16 GB,所以是 sdb

如果是直接使用電腦上的 MicroSD 卡插槽,有可能會有這樣的輸出:

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0 465.8G  0 disk 
├─sda1        8:1    0   400M  0 part 
├─sda2        8:2    0   300M  0 part /boot/efi
├─sda3        8:3    0   128M  0 part 
├─sda4        8:4    0   200G  0 part 
├─sda5        8:5    0 141.6G  0 part 
├─sda6        8:6    0   1.9G  0 part [SWAP]
├─sda7        8:7    0  28.4G  0 part 
└─sda8        8:8    0  93.1G  0 part /
mmcblk0     179:0    0  14.9G  0 disk 
├─mmcblk0p1 179:1    0    60M  0 part /media/gtwang/boot
└─mmcblk0p2 179:2    0  14.8G  0 part /media/gtwang/ad6203a1-ec50-4f44-a1c0-e6c3

這裡的 mmcblk0 就是 MicroSD 卡。

在 Linux 系統中可以使用 dd 指令來備份 MicroSD 卡:

sudo dd bs=1M if=/dev/sdb of=/home/gtwang/backup.img

if 參數所指定的 /dev/sdb 就是我們剛剛查到的 MicroSD 卡,而 of 參數所指定的 /home/gtwang/backup.img 則是要儲存備份影像檔的路徑與檔案名稱,請依照自己的狀況修改。

要從備份檔回復 MicroSD 卡的話,也是用 dd 指令:

sudo dd bs=1M if=/home/gtwang/backup.img of=/dev/sdb

ifof 對調就會變成回復的動作,當然這個動作就會把原本 MicroSD 卡中的所有資料覆蓋掉,執行前請確認 SD 卡中的資料不會再使用了。

另外我們也可以配合 gzip 將備份的影像檔壓縮,這樣可以節省備份硬碟的空間,再使用 date 自動產生日期放在檔名中,讓備份檔更好辨識:

sudo dd bs=1M if=/dev/sdb | gzip > /home/gtwang/image-`date +%d%m%y`.gz

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

sudo gzip -dc /home/gtwang/image.gz | dd bs=1M of=/dev/sdb

這樣使用壓縮的影像檔進行 MicroSD 卡的備份,整個流程也是兩行指令就可以完成,很方便。

樹莓派, 物聯網

1 留言

  1. wang

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

Leave a Reply