Android 台灣中文網

標題: MI2S 的雙系統說明 [打印本頁]

作者: Mike116    時間: 2014-3-17 16:19
標題: MI2S 的雙系統說明

MI2S 有提供特定模式的雙系統
兩份 /system 交替使用:這裡用 system1(系統1)system2(系統2) 示意
一份 /data 共用

所以 一般的穩定版本使用一段時間要刷最新的開發版本
或 開發版本想刷回穩定版本使用時
都會建議雙清,避免系統版本差異過大產生系統設定檔格式不相容造成的錯誤(FC ?)
同清除數據說明,清除用戶數據一併清除系統設定時,可以保留已經安裝的 app 省去重新安裝的步驟

新手機出廠時,原廠預先做了等同線刷的動作,也就是 system1 和 system2 內容完全相同
而 recovery 中的卡刷 是固定刷入 system1
只有在系統升級中利用 選擇安裝包 進行刷機或更新時 才會雙系統的效果


雙系統刷機法
system1 開機後 進行 系統升級->選擇更新包 -> 開始更新後
手機的第一個動作是:
1. 將 system1 完全複製到 system2
2. 將更新包的內容刷入 system2 內,動作是強制覆蓋
3. 更改系統更底層的啟動判斷,變更開機時預設啟動系統為 system2

註:在 system2 中操作則是相反的對 system1 動作

以上是一種交叉式的刷機模式,官方透過這樣的方式來拿到一種 刷不死 的環境
情境模擬:
在 system1 中刷了第三方的包,重新啟動進入 system2 發現有嚴重bug,或是根本無法進入系統
這時候可以進入 recovery 模式中,選擇 重新啟動 進入 system1 繼續使用
一天後 bug 修正後再次刷機,這時候 又是從 system1 刷入 system2
重新啟動後 進入 system2 正常使用
待下次刷機,則是反過來對 system1 刷機,即使失敗了還是可以回到本次成功的 system2


Recovery 中指定開機的系統:
進入 recovery 模式後,選擇 重啟手機,會出現 system1(系統1) 以及 system2(系統2) 以供選擇
其中一個系統 會 額外註明 (最近),最近開機或重新開機時 預設進入的系統


透過系統更新 + Recovery 切換,我個人是這樣利用
JBL15穩定版本 中 刷 root 包,重開機後進入已經 root 的 JBL15系統
之後進行 OTA升級因驗證錯誤無法升級時
透過 recovery 回到之前的尚未 root 的 JBL15系統,進行 OTA升級
這時候 已經 root 的 JBL15 已經被刷成 JBL16
進入系統後 再刷 root包,則會把 尚未 root 的 JBL15 刷成 JBL16+root

註:標示 (*) 代表 MI2S 進入的系統,也就是[選擇更新包]時所在系統

情境時間軸     |system1       |system2
==============|==============|====================
新機開箱    
  |JBL15(*)      |JBL15
        
  |           |
刷root包    
  |JBL15(*)      |JBL15+root
        
  |           |
重新開機後    
 |JBL15        |JBL15+root(*)
         
 |           |
OTA升級JBL16失敗  |JBL15        |JBL15+root(*)
         
 |           |
進Recovery回system1 |JBL15(*)       |JBL15+root
         
 |           |
OTA升級JBL16    |JBL15(*)      |JBL16
         
 |           |
重新開機後    
 |JBL15        |JBL16(*)
          
|           |
刷root包
      |JBL16+root     |JBL16(*)
     
     |           |
重新開機後 
    |JBL16+root(*)    |JBL16
       
   |           |
刷JBL17含root卡刷包 |JBL16+root(*)    |JBL17+root
      
    |           |
重新開機後  
   |JBL16+root      |JBL17+root(*)
        
  |           |
刷開發版 3.6.21   |開發版3.6.21    |JBL17+root(*)
         
 |           |
重新開機後 
    |開發版3.6.21(*)   |JBL17+root
       
   |           |
OTA升級開發版3.6.28 |開發版3.6.21(*)   |開發版3.6.28
        
  |           |
重新開機後    
 |開發版3.6.21     |開發版3.6.28(*)
         
 |           |
刷JBL17含root卡刷包 |JBL17+root      |開發版3.6.28(*)
        
  |           |
重新開機後    
 |JBL17+root(*)    |開發版3.6.28



評分碎鑽幫助系統支出的所以並不會扣到自己的喔^^
呵~不然最下面有個送花也行^^

↓↓↓-請支持
-我發帖的動力評分只要1秒鍾喔^^


作者: light78com    時間: 2014-3-22 12:19
講得很詳細!
作者: 專屬司機    時間: 2014-5-29 16:43
可以弄成系統1是ROOT的
系統2是無ROOT的版本?

然後用系統2的進入防ROOT的日版龍族嗎?
還是會因為系統1存在的關系導致系統2的也不能開龍族?
作者: Mike116    時間: 2014-5-30 23:45
專屬司機 發表於 2014-5-29 16:43
可以弄成系統1是ROOT的
系統2是無ROOT的版本?

照常理來說是可行的
但資料就不知道會不會出錯了
作者: 鬼.鬼    時間: 2014-6-16 09:13
專屬司機 發表於 2014-5-29 16:43
可以弄成系統1是ROOT的
系統2是無ROOT的版本?

其實可以防root偵測

用wsm框架或xposed框架
作者: 專屬司機    時間: 2014-6-16 18:19
我目前的是 MIUI4.5.23 開發版

如果要玩日版龍族
他是防ROOT的
有解嗎?
作者: rock74710    時間: 2014-6-27 15:13
感謝告知這個有用的資訊
作者: 王小浪    時間: 2015-2-15 01:43
請問一下、每次刷機一定交叉覆蓋嗎?可以兩個系統刷不一樣的嗎?這樣需要注意什麼細節呢?感謝
指導
作者: ta497636    時間: 2015-3-8 05:57
我在MIUI台灣官網論壇讀過 鸚鵡大的發文論述
作者: vicwin168    時間: 2015-4-1 08:16
專屬司機 發表於 2014-6-16 18:19
我目前的是 MIUI4.5.23 開發版

如果要玩日版龍族

我在MIUI台灣官網論壇讀過 鸚鵡大的發文論述






歡迎光臨 Android 台灣中文網 (https://apk.tw/) Powered by Discuz! X3.1