Rraspberry Pi 备份SD卡

mac

首先將 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

畫面會像這樣如下:

確定了 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

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 卡的備份,整個流程也是兩行指令就可以完成,很方便。

Windows

在 Windows 中若要備份或回復 MicroSD 卡的資料,可以使用 Win32 Disk Imager 這個開放原始碼的免費工具。

名稱:Win32 Disk Imager 下載網址:sourceforge

Win32 Disk Imager 是專門用來備份 USB 隨身碟、SD 卡或 CF 卡的小工具,安裝好之後,先將 MicroSD 卡插進電腦,並執行 Win32 Disk Imager,就會看到這樣的操作畫面。

首先選擇備份影像檔的儲存路徑與檔案名稱(Image File),應且選擇要備份的設備(Device),接著按下「Read」按鈕即可將 MicroSD 卡的資料全部備份至檔案中。

如果要從備份影像檔中將資料回復至 MicroSD 卡,則按下「Write」按鈕即可。

「Read」與「Write」剛好是兩個相反方向的資料複製動作,在使用時請小心選擇,如果按錯了的話,可能會造成全部的資料完全損毀!

⚠️ 转载请注明原博客地址【https://yanhuiblog.tk】Andy所作,谢谢合作!

打赏一个呗

取消

感谢您的支持,我会继续努力的!🤝

让我们一起加油,一起奋斗!💪

扫码支持
扫码支持
扫码打赏,您说多少就多少,请确认账号信息哦!

支付宝🆔:yanhui5858vip

微信🆔:SINAVIO¹⁸⁶₀₀₂₆⁰³⁵⁹

打开相对的扫一扫,即可进行扫码打赏哦,请确认账号信息哦!