址有A、B和C三個,上述三個地址的恢復優(yōu)先級為B、A和C,則此時,移動可以選擇第二存儲地址B。
[0128]可選地,終端還可以為各個第二存儲地址所對應的存儲區(qū)域中存儲的固件設(shè)置校驗碼,終端可以通過該校驗碼來判斷該第二存儲地址所對應的存儲區(qū)域中存儲的固件是否受損,并選擇其中固件未受損的第二存儲地址??蛇x地,若終端選擇的固件未受損的第二存儲地址仍然有兩個或者兩個以上,則此時,終端可以隨機選擇一個第二存儲地址,或者結(jié)合另外兩種條件進行選擇,本實施例對此并不做限定。
[0129]可選地,終端還可以解析各個第二存儲地址所對應的存儲區(qū)域中存儲的固件的版本號,選擇其中版本較高的存儲區(qū)域所對應的第二存儲地址。
[0130]上述只是以預設(shè)條件只包括一個為例,可選地,預設(shè)條件還可以同時包括上述三者中的兩者或者三者,本實施例對此并不做限定??蛇x地,上述實施例也只是以預設(shè)條件為上述三者為例,可選地,預設(shè)條件還可以包括其他條件,本實施例對此也不做限定。
[0131]在步驟404b中,激活選擇得到的第二存儲地址所對應的第二存儲區(qū)域。
[0132]終端從兩個或者兩個以上的第二存儲地址中選擇得到一個第二存儲地址之后,終端可以激活選擇得到的第二存儲地址所對應的第二存儲區(qū)域。
[0133]可選地,終端可以采用類似于上述描述的激活方法來激活選擇得到的第二存儲地址所對應的第二存儲區(qū)域,本實施例對此并不做限定。
[0134]在步驟405中,加載處于激活狀態(tài)的第二存儲區(qū)域中存儲的固件。
[0135]終端可以加載處于激活狀態(tài)的第二存儲區(qū)域中存儲的固件。
[0136]可選地,終端可以在重啟過程中加載處于激活狀態(tài)的第二存儲區(qū)域中存儲的固件。
[0137]可選地,終端去激活第一存儲區(qū)域,并激活第二存儲區(qū)域之后,終端可以自動重啟,并在重啟過程中加載處于激活狀態(tài)的第二存儲區(qū)域中存儲的固件。
[0138]可選地,終端去激活第一存儲區(qū)域,并激活第二存儲區(qū)域之后,終端可以展示用于提示用戶進行重啟的提示信息,在用戶的觸發(fā)下進行重啟,并在重啟過程中加載處于激活狀態(tài)的第二存儲區(qū)域中存儲的固件。
[0139]綜上所述,本公開實施例中提供的固件恢復方法,通過在終端中設(shè)置激活的第一存儲區(qū)域以及未激活的第二存儲區(qū)域,第一存儲區(qū)域中存儲的固件為終端最近運行的固件,第二存儲區(qū)域中存儲備用,使得在需要對終端進行固件恢復時,可以直接將第一存儲區(qū)域去激活,并將第二存儲區(qū)域激活,進而通過加載激活的第二存儲區(qū)域中存儲的備用固件的方式來實現(xiàn)固件的恢復;解決了相關(guān)技術(shù)中需要借助刷新工具才能實現(xiàn)固件恢復的問題;達到了可以一鍵實現(xiàn)固件恢復,方便用戶使用的效果。
[0140]本實施例中用戶可以一鍵恢復終端中的固件,節(jié)省了用戶恢復固件時所需的時間。
[0141]需要補充說明的一點是,用戶還可以觸發(fā)對終端中存儲的固件進行更新,請參考圖4D,終端更新固件的方法可以包括:
[0142]在步驟406中,發(fā)送用于請求獲取終端的更新固件的獲取請求至服務(wù)器。
[0143]可選地,用戶可以在網(wǎng)站中找到自己需要的固件版本,并操作終端下載該更新固件,終端可以發(fā)送請求獲取更新固件的獲取請求至服務(wù)器。
[0144]在步驟407中,接收服務(wù)器返回的更新固件。
[0145]在步驟408中,確定第一存儲區(qū)域和第二存儲區(qū)域的狀態(tài)。
[0146]可選地,終端可以讀取第一存儲區(qū)域和第二存儲區(qū)域的狀態(tài)標識,根據(jù)狀態(tài)標識確定第一存儲區(qū)域和第二存儲區(qū)域的狀態(tài)。
[0147]在步驟409中,如果第一存儲區(qū)域處于激活狀態(tài),第二存儲區(qū)域處于未激活狀態(tài),則根據(jù)更新固件更新未激活的第二存儲區(qū)域中存儲的固件;去激活第一存儲區(qū)域,并激活第二存儲區(qū)域。
[0148]如果終端確定得到第一存儲區(qū)域處于激活狀態(tài),而第二存儲區(qū)域處于未激活狀態(tài),則終端可以根據(jù)更新固件更新第二存儲區(qū)域中存儲的固件??蛇x地,終端可以刪除第二存儲區(qū)域中存儲的固件,并將接收到的更新固件寫入至第二存儲區(qū)域。
[0149]為了使得終端能夠運行更新后的固件,終端可以去激活第一存儲區(qū)域,并激活第二存儲區(qū)域。終端的去激活及激活方法請參考步驟402至步驟404,本實施例在此不再贅述。
[0150]可選地,終端激活第二存儲區(qū)域之后,終端可以加載處于激活狀態(tài)的第二存儲區(qū)域中存儲的固件。
[0151]在步驟410中,如果第二存儲區(qū)域處于激活狀態(tài),第一存儲區(qū)域處于未激活狀態(tài),則根據(jù)更新固件更新未激活的第一存儲區(qū)域中存儲的固件;去激活第二存儲區(qū)域,并激活第一存儲區(qū)域。
[0152]如果終端確定得到第二存儲區(qū)域處于激活狀態(tài),而第一存儲區(qū)域處于未激活狀態(tài),則此時終端可以根據(jù)更新固件更新未激活的第一存儲區(qū)域中存儲的固件。去激活第二存儲區(qū)域并激活第一存儲區(qū)域。這與步驟409類似,在此不再贅述。
[0153]需要說明的是,本實施例只是以終端只更新未激活的存儲區(qū)域中存儲的固件為例,可選地,終端也可以同時更新兩個存儲區(qū)域中存儲的固件,本實施例對此并不做限定。本實施例只更新未激活的存儲區(qū)域中存儲的固件是出于保證在固件更新過程中終端能夠繼續(xù)正常運行的考慮,對其實際實現(xiàn)并不做限定。
[0154]需要補充說明的另一點是,請參考圖4E,該固件恢復方法還包括:
[0155]在步驟411中,刪除去激活后的第一存儲區(qū)域中存儲的固件;
[0156]終端進行固件恢復時,通常會是因為最近運行的固件出現(xiàn)異常,也即第一存儲區(qū)域中存儲的固件受損,所以在終端將第一存儲區(qū)域去激活之后,終端可以刪除去激活后的第一存儲區(qū)域中存儲的固件,也即刪除受損的固件。
[0157]在步驟412中,將激活后的第二存儲區(qū)域中存儲的固件寫入去激活后的第一存儲區(qū)域中。
[0158]為了對去激活后的第一存儲區(qū)域中存儲的受損的固件進行恢復,終端可以將激活后的第二存儲區(qū)域中存儲的固件寫入去激活后的第一存儲區(qū)域中。
[0159]可選地,終端可以展示用于提示用戶將第二存儲區(qū)域中存儲的固件備份至第一存儲區(qū)域中的提示信息,用戶查看到該提示信息之后,用戶觸發(fā)備份。
[0160]可選地,終端將第一存儲區(qū)域去激活,并將第二存儲區(qū)域激活之后,終端可以自動將激活的第二存儲區(qū)域中存儲的固件寫入去激活后的第一存儲區(qū)域中。這樣,即使激活后的第二存儲區(qū)域中的固件緊接著出現(xiàn)故障,用戶仍然可以通過去激活后的第一存儲區(qū)域中備份的固件進行固件恢復,本實施例對此并不做限定。
[0161]需要補充說明的是,本實施例只是以通過將激活的第二存儲區(qū)域中存儲的固件寫入去激活后的第一存儲區(qū)域中來舉例說明,可選地,用戶還可以將終端連接刷新工具、或者連接U盤,進而通過刷新工具或者U盤來對去激活后的第一存儲區(qū)域中存儲的受損的固件進行修復,本實施例對此并不做限定??蛇x地,終端還可以連接服務(wù)器,進而通過從服務(wù)器中下載固件的方式來對去激活后的第一存儲區(qū)域中存儲的固件進行修復,本實施例對此也不做限定。
[0162]需要補充說明的再一點是,請參考圖4F,在步驟405之后,終端還可以執(zhí)行如下步驟:
[0163]在步驟413中,加載預先保存在終端中的用戶設(shè)置和配置數(shù)據(jù)中的一種或者兩種。
[0164]在用戶使用終端的過程中,終端可以保存用戶設(shè)置、用戶為終端配置的配置數(shù)據(jù)或者同時保存上述兩者??蛇x地,終端可以每隔預定時間間隔保存一次,也可以在接收到用戶的觸發(fā)信號時保存一次,本實施例對此并不做限定。
[0165]在終端加載激活的第二存儲區(qū)域中存儲的固件之后,終端可以繼續(xù)加載保存的用戶設(shè)置、配置數(shù)據(jù)或者同時加載上述兩者。這樣,即使終端進行了固件恢復,用戶也仍然可以繼續(xù)使用固件恢復之前的用戶設(shè)置,而無需再次執(zhí)行復雜的設(shè)置操作,降低了用戶的操作復雜度,同時這樣保證了固件恢復時終端中的配置數(shù)據(jù)的數(shù)據(jù)安全。
[0166]下述為本公開裝置實施例,可以用于執(zhí)行本公開方法實施例。對于本公開裝置實施例中未披露的細節(jié),請參照本公開方法實施例。
[0167]圖5是根據(jù)一示例性實施例示出的一種固件恢復裝置的框圖,如圖5所示,該固件恢復裝置應用于圖1所示實施環(huán)境中的終端110中,該固件恢復裝置可以包括但不限于:信號接收模塊501、第一處理模塊502和固件加載模塊503。
[0168]信號接收模塊501,被配置為接收用于恢復終端中的固件的恢復信號;
[0169]第一處理模塊502,被配置為將第一存儲區(qū)域去激活,并激活第二存儲區(qū)域;
[0170]固件加載模塊503,被配置為加載處于激活狀態(tài)的第二存儲區(qū)域中存儲的固件。
[0171]綜上所述,本公開實施例中提供的固件恢復裝置,通過在終端中設(shè)置激活的第一存儲區(qū)域以及未激活的第二存儲區(qū)域,第一存儲區(qū)域中存儲的固件為終端最近運行的固件,第二存儲區(qū)域中存儲備用,使得在需要對終端進行固件恢復時,可以直接將第一存儲