備份sd卡上的作業系統

2021-06-09 20:00:47 字數 1375 閱讀 3230

我們的嵌入式開發板上的ubuntu作業系統存在於一張sdcard上。怎麼備份這個系統到另外一張sdcard上呢?簡單地拷貝似乎行不通,無法啟動。我使用linux dd命令圓滿完成備份任務,經過驗證,系統能夠啟動,執行正常。

步驟如下:

準備兩張sd卡,源卡和目標卡。目標卡的容量必須大於等於源卡。dd命令使用比較容易,將兩張sd卡插入讀卡器,用dmesg | tail 命令檢視兩個sd卡的名稱,我看到的是sdb,sdc等。以sdb是源卡,sdb卡是目標卡為例,將sdb中的系統備份到sdc中,命令是dd  if=/dev/sdb of=/dev/sdc。千萬不要將if和of弄反。

為了以防萬一,我沒有進行兩張sd卡之間的直接拷貝,而是將源卡備份到檔案中,再從檔案備份到目標卡。這樣的好處有兩點:1.不用擔心弄反了源卡和目標卡,而誤將源卡覆蓋;2.將源卡的內容備份到系統上,以後再備份的時候,不用再讀源卡,直接從該檔案備份即可。缺點也有乙個,我的sd卡是4g的,這麼多資料放在電腦上,還是挺佔空間的。

我使用的命令:

1.將源卡中的系統備份到檔案

sudo dd if=/dev/sdb of=~/sdcar1

我拷貝了4g的資料,耗時10分鐘左右。

2.將檔案中的資料備份到目標卡

sudo dd if=~/sdcard of=/dev/sdc

這個比較耗時,用了近1個小時。不知道是不是因為我是在虛擬機器裡面操作的緣故。據說,dd命令拷貝4g這麼大的資料容易失敗,但是我試過多次,就有1次失敗了,其他幾次都是成功的。還比較幸運。

以下是我三次執行dd命令的記錄,沒有出錯。注意到第2次拷貝檔案大小與第1次和第3次稍有差異,估計雖然都是4g的sdcard,由於廠商不同,容量上面稍有差異。不過經過驗證系統能夠正常啟動。

1. sudo dd if=/dev/sdc of=/mnt/hgfs/d/sdcard1

7744512+0 records in

7744512+0 records out

3965190144 bytes (4.0 gb) copied, 788.622 s, 5.0 mb/s

3965190144

2. sudo dd if=/mnt/hgfs/d/sdcard1 of=/dev/sdb

7741441+0 records in

7741440+0 records out

3963617280 bytes (4.0 gb) copied, 3799.31 s, 1.0 mb/s

3. sudo dd if=/mnt/hgfs/d/sdcard1 of=/dev/sdb

7744512+0 records in

7744512+0 records out

3965190144 bytes (4.0 gb) copied, 4830.33 s, 821 kb/s

備份sd卡上的作業系統

我們的嵌入式開發板上的ubuntu作業系統存在於一張sdcard上。怎麼備份這個系統到另外一張sdcard上呢?簡單地拷貝似乎行不通,無法啟動。我使用linux dd命令圓滿完成備份任務,經過驗證,系統能夠啟動,執行正常。步驟如下 準備兩張sd卡,源卡和目標卡。目標卡的容量必須大於等於源卡。dd命令...

ARM 上直接操作SD卡,無檔案系統地。。。

mmc sd init mmc sd reset sd卡復位 i mmc sd readsingleblock 0,sd buf 以上 放 大迴圈中 sd卡初始化 void mmc sd init void sd卡復位 uint8 mmc sd reset void do while r1 0x01...

SQL Server 備份 出現作業系統錯誤

原文 備份 對於 伺服器 win xx 失敗。microsoft.sqlserver.smoextended 其他資訊 system.data.sqlclient.sqlerror 無法開啟備份裝置 d data.bak 出現作業系統錯誤 5 拒絕訪問。microsoft.sqlserver.smo...