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