對于所有曾經使用過Raspberry Pi的人來說,你可能已經體驗過SD卡損壞的感覺,特別是當你的文件存儲在其中。在Linux中使用幾個非常簡單的命令,您將可以輕松備份Raspberry Pi SD卡。并且,在需要時,將Raspberry Pi備份恢復到新的SD卡。
這個過程非常簡單明了。將Raspberry Pi備份映像恢復到新SD卡后,您就可以將其插入并像舊系統一樣使用它。另外本文介紹了如何備份具有多個分區的Raspberry Pi SD卡以及dd命令錯誤的解決方案:“dd:寫入`/dev/sdc‘:輸入/輸出錯誤”。它還解決了將圖像文件恢復到其上后無法使用Raspberry Pi SD卡的全部內存容量的問題。使用這個DIY Hacking教程來保護你在Raspberry Pi上的所有寶貴工作。
如何備份Raspberry Pi項目文件?
在這里,我們使用簡單的dd命令來創建我們要備份的SD卡的映像(.img)。然后可以將此圖像壓縮并存儲在您的PC中以備將來使用。在恢復Raspberry Pi備份時,您再次以相反的順序使用dd命令并準備新的SD卡。但請注意,您只能將.img文件還原到具有與原始備份SD卡相同或更大內存容量的內存卡上。執行dd命令時請采取額外的預防措施,因為如果在其中輸入不正確的目標或源地址,可能會導致您損壞硬盤。
步驟1:備份SD卡
首先,將Raspberry Pi SD卡插入到您的存儲卡讀卡器/插槽中PC。接下來,使用dd命令創建SD卡的映像文件。要正確識別您的卡,請在插入SD卡之前和之后執行“ df -h ”并觀察新路徑。這些新路徑代表您的SD卡。您可能會注意到存儲卡有多個分區。例如,當您執行“ df -h ”時,它可能會將您的SD卡列為/dev/sdc1和/dev/sdc2。在這種情況下,在執行dd命令時只使用“/dev/sdc”,包括兩個分區,如下所示:
sudo dd if =/dev/sdc of =/home/ars/backup。 img
存儲卡應在“if”下指定,備份目的地在“of”下指定。您也可以使用“bs = 1M”或“bs = 4M”來指定寫入速度。
但是,執行上述命令后,有些人可能會遇到像dd這樣的錯誤:寫入`/dev/sdc’:輸入/輸出錯誤。對于那些沒有收到此錯誤的人,請繼續執行第二步。此錯誤通常是由于讀取SD卡時遇到的一些錯誤引起的。在啟動Pi時看到警告的人通常會遇到這種情況,并說他們應該手動執行fsck操作。這是由于SD卡卸載不當造成的。要克服此錯誤,您必須在SD卡上執行fsck操作。在執行此操作之前,請按以下步驟卸載SD卡:
umount/dev/sdc1
umount/dev/sdc2
接下來,執行“fsck”操作以糾正存儲卡中的錯誤:
sudo fsck -C/dev/sdc1
sudo fsck -C/dev/sdc2
現在,取出讀卡器或SD卡,然后重新插入。再次,執行如下的dd命令;它應該沒有任何錯誤。如果它再次顯示dd錯誤,請重復上述步驟。
sudo dd if =/dev/sdc =/home/ars/backup.img
步驟2:將Raspberry Pi備份恢復到新SD卡
現在,我們將從第一步恢復Raspberry Pi備份。如果您使用的SD卡中包含一些數據,那么您必須先將其格式化。如果您有一張全新的卡片,可能沒有必要進行格式化,即使它不會受到影響。將新卡插入讀卡器。使用“ df -h ”命令識別新的存儲卡。如果卡上有多個分區,如/dev/sdc1和/dev/sdc2,請使用/dev/sdc格式化卡以包含兩個分區。格式化卡之前,請卸載SD卡。因此,對于沒有分區的SD卡:
umount/dev/sdc
對于使用了多個分區的SD卡:
umount/dev/sdc1
umount/dev/sdc2
接下來,使用此命令格式化卡片:
sudo mkdosfs -I - F32/dev/sdc
此后,您將擁有一張完全空白且格式化的SD卡。現在,取下讀卡器或SD卡,然后將其重新插入PC。接下來,執行dd命令以在此新卡上恢復Raspberry Pi備份。使用“if”部分下的第一步創建的圖像文件的位置和“of”部分下的新SD卡位置,如下所示:
sudo dd if =/home/ars/backup.img =/dev/sdc
現在您已經創建了原始Raspberry Pi SD卡的文件。將它插入你的Raspberry Pi,就像以前一樣。
如果您使用的內存容量大于原始卡的新SD卡,當您執行“df -h”命令時,您會注意到新卡的大小與原始的SD卡,即使它實際上是一個更大的SD卡。為了充分利用新SD卡的整個空間,只需將卡插入Raspberry Pi即可啟動。輸入命令“sudo raspi-config”并選擇“Expand root partition”選項。選擇“完成”后,它會要求您在退出時重新啟動。重新啟動后,執行“df -h”命令,您將注意到SD卡達到其最大容量。
在任何情況下,如果遇到dd錯誤dd:寫入`/dev/sdc‘:輸入/輸出錯誤,在第二步中,請像第一步一樣執行fsck操作,并且將Raspberry Pi SD卡或存儲卡讀卡器卸下并重新插入PC后,再次執行dd命令。
-
Linux
+關注
關注
87文章
11229瀏覽量
208931 -
SD卡
+關注
關注
2文章
560瀏覽量
63807 -
樹莓派
+關注
關注
116文章
1699瀏覽量
105526
發布評論請先 登錄
相關推薦
評論