Android手機上如何無痛替換SD卡,擴展存儲空間
做者:ygps2002
相關帖子:
1,[教程]G7刷機詳細教程:解鎖S-OFF,ROOT提取,CM-7.0.3ROM刷機
2,[教程]Android手機上如何無痛替換SD卡,擴展存儲空間      ---> 本帖
3,[教程]Android手機上如何實現data2ext
4,[文章]磁盤的邏輯構造(參見: wenku.baidu.com/view/3e0c18a4f524ccbff1218413.html)
5,[教程]活用Android手機上的GPS日誌+地圖語音導航
6,[體驗]當G7遇到小米
免責聲明:
1,示例中全部所用軟件均是免費軟件或是破解版。
2,本人基本不使用付費軟件,但支持付費使用,反對盜版軟件。
3,對於盜版軟件或是破解軟件,僅限於我的使用,不同意商業或是網絡傳播。
4,大量使用免費軟件或是破解版軟件,能夠節約大量銀子,節能環保!
關鍵詞:
SD卡
格式化
Recovery備份/恢復
數據清洗wipe
分區
data2ext
ext3分區
app2sd
內存/RAM
ROM
新舊SD卡換裝方法探討:
      許多用戶在Android手機買來使用一段時間後,每每發現不管是手機的外部存儲空間(SD卡上的FAT32分區)仍是手機的自身存儲(ROM)都很是有限,安裝不了幾個應用程序便會彈出系統提示「內部存儲空間不足」或是內存不足。
      這時天然會想到替換一個容量大的內存卡(miniSD卡等),例如原來使用的是2GB的miniSD卡(無ext分區),如今買來8GB的高速SDHC 卡,但願將原來使用的系統(舊SD卡)原樣複製到新SD卡上。網上有許多機油問能直接複製文件嗎?原來安裝過的軟件再也不次安裝行嗎?同一個問題,不一樣的方法,本人設想了三種方法,驗證過兩種供你們參考。全部操做請保證手機電量處於充足(70%以上)狀態。
     下面三種方法中第一種(A)失敗,第二種(B)未驗證留待機油們作出貢獻,第三種(C)驗證成功。
方法A:僅將舊卡上的數據拷貝到新卡上來 -> 此法不成功!!
A.1,在PC機上對買來的新卡(KINGMAX/SDHC/Class6/8GB)進行格式化,格式化時不能直接用Windows自帶的功能,使用Acronis能夠從卡上分出ext3分區(2GB)+FAT32分區(6GB);
A.2,經過USB將手機鏈接到PC上後將卡上的全部文件(含隱藏數據)拷貝到PC機上備份;
                若是舊SD卡上有ext分區且已經作過data2ext,那麼就在Linux機上進行ext分區拷貝(Windows上經過第3方軟件也能夠加載ext分區進行讀寫)。
               下圖爲Ubuntu系統中看到的手機舊SD卡信息,有分區,容量,目錄結構,數據大小等信息。
A.3,將PC機上保存的備份(上一步備份下來的全部)數據,原樣(目錄結構不變)拷貝到新卡上;
A.4,將新卡插到手機後加電開機;
A.5,啓動失敗!!(卡在啓動動畫)
         可能的緣由是在換卡以前沒有清洗數據所致,也有多是SD卡上的ext分區信息變化後系統沒法識別所致。具體的懶得分析了。直接利用第3種方法。
方法B: 將全部安裝在舊卡ext分區的應用或數據徹底恢復到手機自帶ROM去後(即刪除data2ext),僅對SD卡上的FAT32分區進行復制到新卡FAT32分區的操做。
B.1,將安裝在舊卡ext分區上的全部數據恢復回手機自帶的ROM中去;
B.2,經過USB將舊SD卡上的全部數據備份到PC機上;
B.3,關機後插入新卡,重啓手機進入Recovery模式;
B.4,利用Recovery對新SD卡進行分區(SWAP:0/ext3:2GB/FAT32:6GB);
B.5,利用讀卡器將PC機上備份的數據拷貝到新卡的FAT32分區(保持原來目錄結構);
B.6,插上新卡,打開手機進入Recovery模式,進行數據清洗(wipe cache);
B.7,應該能夠正常重啓手機,看到和舊卡同樣的系統(除了卡的空間變大);
B.8,此時能夠再次進行data2ext.
         方法B應該能夠成功!但去掉data2ext手機能正常運行的話,估計不必換SD卡了。
方法C: <-  驗證成功,詳細教程參見下文!!
《事先準備》
  手機端:html
手機已是S-OFF解鎖完畢,ROOT受權提取完畢;(詳細參見本人文章:)android
G7刷機詳細教程:解鎖S-OFF,ROOT提取,CM-7.0.3ROM刷機
手機上的Recovery分區刷了第3方(Clockmodwork)的鏡像程序;shell
其餘確認手機ROM,RAM,SD卡等信息的軟件(如MiniInfo,系統監控等任何APK應用都可)。安全
  PC端:網絡
無需特殊硬件,軟件,只要能識別移動硬盤便可(有***MiniSD卡的槽或是USB讀卡器);app
爲了詳細瞭解SD卡分區信息(特別是ext),能夠安裝Acronis磁盤管理工具。工具
  SD卡:
        舊SD卡(容量小/4GB),新SD卡(容量大/C6高速8GB)
《內存卡換裝詳細步驟》
C.1,重啓手機(舊卡),進入Recovery(本人用ClockworkMod Recovery 5.0.1.0)模式;
        同時按住[ 音量- ]+[ 電源 ]兩個鈕來開機,啓動後進入3色屏,選菜單項 [ RECOVERY ] ->會自動重啓進入ClockworkMod Recovery工做模式 -> 選主菜單中的[ backup and restore ] -> [ Backup ]。
        按下Backup後,程序會自動備份當繫系統的全部數據及結構。
C.2,利用Recovery的backup功能備份當前的系統;
        備份後SD卡的FAT32分區中會多一個目錄。以下圖:SD卡\clockworkmod\backup\2011-09-28.02.39.12,此目錄下的全部文件就是當前系統的徹底備份。
       補充說明一下,各個文件的內容。
       (1)system.yaffs2.img 是系統ROM分區/system目錄下全部文件數據的備份;
       (2)data.yaffs2.img是系統ROM分區/data目錄,及保存在SD卡FAT32分區中的隱藏目錄/.android_secure下全部文件數據的備份;
       (3)cache.yaffs2.img是系統ROM分區/cache目錄下全部文件數據的備份;
       (4)sd-ext.ext3.tar是SD卡上ext分區下的數據壓縮備份。 若是SD卡上沒有此分區便不會產生次文件。另外若是SD卡上雖有ext分區但本身沒有進行過data2ext設置,那麼此分區的備份數據size應該約爲 0。上圖中的爲102559KB是因爲本人手機進行了data2ext(3個目錄:/data/app/;/data/app-private; /data/dalvik-cache)。
       除了上述4個之外還有boot.img和recovery.img,分別是BOOT分區(HBOOT程序)和RECOVERY分區(就是這個 ClockworkMod Recovery程序)的備份。不過通常狀況下不必刷這兩個分區,雖然備份了但後面恢復時用不到。Nandroid.md5爲checksum校驗碼,恢復時驗證用獲得。
      經過此備份大概能夠看到本人手機CM7系統ROM的大小約爲:260MB。要比G7官方的小許多。
C.3,重啓手機(舊卡正常運行)後,用USB鏈接到PC,將手機SD卡上的備份目錄原樣拷貝到PC中(例如:d:\clockworkmod下)保存;
         目錄結構最好也維持原來的樣子,如:\clockworkmod\backup\2011-09-28.02.39.12\*.*。
C.4,關閉(power off)手機, 取出舊卡,插上新卡,按住[ 音量- ]+[ 電源 ]兩個鈕來開機進入[ RECOVERY ]工做模式(同第一步);
C.5,Recovery主菜單 [ advanced ] -> [ Partition SD Card ],格式化完後保持Recovery模式;
       Ext 分區Size 選擇 [ 1024M ]或者大於此值,swap 選擇0(沒有swap會延長SD卡的使用壽命),剩餘的便全都是FAT32分區。本人的8GB高速SD卡經手機Recovery程序分區後以下圖。容量減少的主要緣由是SD卡等閃存所標示的GB,MB,KB採用的是1000進制,而計算機操做系統(Windows,Linux等)歷來都是1024進制。因此SD卡上的1GB到實際計算機/手機中只有950MB左右。另外手機中格式化出來的文件系統會有一部分容量(例如:FAT32中的11MB左右,ext3分區中的154.98MB???)已經被預先吃掉了?緣由待查?
C.6,手機繼續保持Recovery工做模式,經過菜單選項對手機ROM進行清洗,步驟以下:
           (1)wipe cache partition;
           (2)wipe data/factory reset;
           (3)Advanced --> Wipe Dalvik Cache;
C.7,手機斷電(power off)後,拔出新SD卡;經過讀卡器將新卡做爲移動磁盤鏈接到PC上;
           將第3步中保存在PC機上的數據拷貝到SD卡上,必定要保持目錄結構不變。  
           例如:計算機中D:\clockworkmod\backup\2011-09-28.02.39.12\下的全部文件拷貝到SD卡上後應該是://SD卡/clockworkmod/backup/2011-09-28.02.39.12/*.*。
           拷貝完成後,將SD卡安全從PC機上卸載。
C.8,在手機關機狀態下,將新卡裝到手機上,開機進入到Recovery模式(開機方法同第一步);
          主菜單[ backup and restore ] -> [ Advanced Restore ] -> [ 2011-09-28.02.39.12/ ];而後如下面的次序執行restore操做: Restore system -> Restore data -> Restore cache -> Restore sd-ext。這個次序就是在第2步中說明過的那5個文件。不必Restore boot 和 Restore recovery。  
          恢復過程當中必定要確認每一步成功(會顯示completed!)。
C.9,第8步恢復完成後就能夠順利啓動手機,看到和原來舊卡同樣的系統!軟件,數據同樣沒少,但內存,SD存儲餘量應該變大到你想要的了!能夠經過ADB shell或是第3方工具確認一下。
動畫
(完)
2011.09.29spa