2015年4月11日土曜日

[司馬風]小米手機2 4g系統容量重新分割

小米2一直困擾著我的問題就是只裝了三到五套遊戲,系統就一直提示「系統容量已達95%,無法更新app」。使用google play更新也一直因為容量不足而時常失敗,然後就是無盡的清垃圾,更新...

就在一週前,突然需要更新手機系統版本,開始尋找升級新版的韌體的同時,也想順便解決容量不足的問題,所以順便找找有沒有解決方案。

找了很多資訊都提到小米2的系統資料區只有4g,其他的空間都留給使用者資料了。
其實android的app通常只能裝在系統區裡面,雖然號稱可以搬到sd卡上面,不過常常會有相容性的問題,一般不建議這樣做...
後來的司馬風似乎是沒有做這樣的分割,比較沒有容量的問題。但是會導致系統更新的安裝包的製作比較麻煩,不像小米號稱可以隨便刷(因為系統跟使用者資料分開不同的分割區存放)。個人是比較喜歡分割的做法,不過對於一般使用者來說,這個閒著沒事就塞滿的問題可能就是個大麻煩。

後來有找到可以修改分割表的方法。照著實做並做一些測試之後確認可行,
這一篇文就誕生了。
小米的資訊又多又亂,光是找到適合的訊息就是一個課題。事實上執行刷機的動作花了約8小時,光是找資料確認方法就花了4小時...
在這裡寫下執行重分割的整個流程裡面所遇到的狀況。


名詞定義:
卡刷:在手機正常運作的狀態下使用miui的「系統更新」。
或是在關機的狀態下,按住音量大的按鍵開機,進入recovery模式之後,
操作recovery模式的介面來刷入手機內建flash的根目錄裡面的update.zip的方式都叫做卡刷。

線刷:使用cpu的debug模式,以pc與手機的usb連線,使用miflash軟體執行刷機動作。
miflash會經由usb連線,放入操作手機的內部flash的軟體,然後對手機的內部flash執行byte-to-byte寫入。因此線刷會破壞原有的全部資料(含boot區以外的分割表)。
若是系統資料區的容量有依本文的流程調大,容量也會被回復為出廠設定的4GB。
總之分割調整失敗的話就是再次線刷,不用擔心手機亂玩到得送修。


事前準備:

  • 看完連結裡面的步進教學文章,確定會使用文中裡面提到的軟體。 http://bbs.xiaomi.cn/thread-10596792-1-1.html
  • 因為做系統重分割,會導致手機的資料全部消失不見。
    請使用miui備份你的所有軟體/簡訊/聯絡人/note。備份完之後的資料會放在/MIUI/backup/Allbackup裡面。把整個MIUI目錄跟著DCIM(照片目錄)一起備份到pc裡面。沒提到的app的資料就請自行備份了。/Music跟/Movie資料夾裡面有資料的話也別忘了。總之請確認所有的資料都有備份到。遊戲的引繼碼抄下來並確認有效期限。
  • 本流程會用到儲存碟的分割表操作軟體,擔心會手殘毀了自己硬碟的話,建議使用VM(虛擬機)操作此流程。
  • 下載線刷使用的軟體:Miflash並安裝 (本文所使用的軟體版本日期:2014/11/07)
    http://tw.miui.com/thread-13881-1-1.html
  • MiFlash內建的qualcomm usb cpu driver是給32bit windows用的。
    假如所使用的pc的os是64bit的windows的話,需要找到64bit版的 qhsusb drivers。 請用google尋找 「qhsusb drivers x64」,找個信賴的來源吧。
    使用vista以上的windows的話,因為該驅動程式未經微軟認證,請重新開機按F8,在windows的開機選單裡面選擇「停用數位簽章安裝驅動」。
  • 下載DiskGenius最新版。設定分割區使用。它可以正確辨認小米手機的分割區。
    試過其他的分割軟體,如Minitool partition manager,似乎無法正確辨識小米手機上面的所有分割區。(最後3個partition,分割25/cache/分割26的先後順序會錯誤。)
    另一套EASEUS,完全無法辨認小米的複雜分割區...
  • 下載線刷韌體包最新版。http://www.miui.com/shuaji-305.html,並把壓縮包解開。因為MiFlash只能接受壓縮包解開之後的所在目錄。


開始進行操作:
以下步驟參照此教學進行。
https://flzen.wordpress.com/2014/04/26/set-miui-storage-4gb-size/

另一個版本的教學文:http://www.miui.com/thread-1211984-1-5.html

  1. 關機。
  2. 按住「降音量」鍵之後再按住開機鍵,螢幕上出現小米的logo之後放開。之後會進入fastboot模式(螢幕上面會寫fastboot)。然後手機跟pc使用usb線連接。
  3. 注意:執行此步驟之後就無法回頭了。執行前請確認完成所有必要的資料備份。
    在windows使用命令提示字元(在開始功能表的執行欄裡面輸入「cmd」),進入MiFlash的安裝目錄(通常在c://Program Files (x86)/Xiaomi/MiPhone/Google/Android/),
  4. 輸入「fastboot erase aboot」,大約一兩秒就會執行完畢。
  5. 拔掉usb線,之後再拔掉手機電池,再裝回電池,再插上usb線,放著。此時請勿按開機鍵。
  6. 這時會在windows發現正在自動安裝qualcomm的usb驅動程式。
    x64版的windows的話會發現安裝失敗。
    請拿出之前下載的x64版更新驅動(vista以上的windows可能會需要重開機才能裝x64版qualcomm驅動),然後重複步驟5,等待驅動安裝完成。
  7. 啟動MiFlash,點選「刷新」,就會看到手機被辨認成功(MiFlash會出現裝置)。然後點選MiFlash視窗的上方的橫條,選擇線刷韌體包解開的目錄,點選「刷機」。刷機流程約會進行600秒左右。
  8. MiFlash顯示「操作成功完成」之後代表刷機完成。這時還是不要動手機跟線。
  9. 啟動DiskGenius, 除了pc硬碟的分割區之外,還可以看到手機的磁碟分割區。
    手機的分割區會有26個。(因為分割數跟pc的儲存碟差很多,應該不會操作錯誤。)
    「分割25」代表的是系統資料區的容量,這時候看到的應該會是約4GB。
    「分割26」代表的是使用者資料區(所謂的/sdcard/sdcard0等等稱呼)的容量,這時候看到的大小依手機本身flash總容量而變。
  10. 刪除「分割25」跟「分割26」。(假如先刪除「分割25」的話,在刪除「分割25」之後,會發現「分割26」變成「分割25」。這是因為「分割xx」是代表該分割區沒有被命名,不需在意。)
  11. 在DiskGenius上面的磁碟分割區的顯示條的灰色的部分點擊滑鼠右鍵,選擇「新增分割區」。此時所設定的容量將會是系統資料區的容量。請依需要增加。建議調整為8GB, app裝比較多的話就加到12G...
    點選完成之後,出現提示框「」
  12. 文件系統類型選擇「Linux data Partition」,點選「詳細參數」,把「分區名字」裡面的文字清空(如參考文所寫的填入userdata也可以,基本上無影響),把「隱藏」跟「無盤符」打勾。因為沒打勾的話,儲存分割表的設定之後,DiskGenius會很聰明地幫你掛載成Windows的磁碟,
    被windows操作過的話可能會產生不好的影響。
  13. 重複步驟11/12,剩下的容量全給。
  14. 這時看到分割表裡面,分割26的資料格式可能會不是ext2或是3,而是MS partition,勿驚慌。我覺得是DiskGenius的Bug... 
  15. 點選DiskGenius視窗左上方的「儲存更改」按鈕。出現要求格式化的話,點選「不要」,出現「是否刪除引導記錄」的話,點選「刪除」。
  16. 手機拔線,拔電池,按住音量+鍵開機,進入小米的恢復模式,執行「清除所有資料」。此步驟會幫你執行剛剛沒有在DiskGenius裡面做的格式化的動作,比讓DiskGenius幫你格式化要安全。
  17. 重開機,離開恢復模式。開機鈕開機。所有步驟到此完成。開機後確認儲存容量的狀況吧。



0 件のコメント:

コメントを投稿