[瀬戸のテーマ] Windows Mobile (PDA) 運作程序扼要 + 破解須知



◎Windows Mobile(PDA)的運作程序
為免難以明白,以下將會以電腦的運作程序來作相比。
PDA(主機) + WM(O/S)
WM 那個版本也沒關係
PC(主機) + Windows(O/S)
那個 Windows 版本也沒關係
MS/Mac/Linux 也可以
主要作用 簡單說明
IPL
(Initial Program Loader)
 
BIOS
(Basic Input/Output System)
 
開機自我測試
針對硬體裝置進行初始化動作
提供各元件的基本系統設定值
提供常駐程式庫
載入 Boot Loader/IPL
PC 上的 BIOS 是儲存於主機版上的 ROM,亦即唯讀記憶。內裡的各個設定值,就是原廠設定。自行更改後的設定值,會記錄於 CMOS 中。
所以 BIOS 亦是主機版的 Firmware。
在這以後的所有 O/S 或是 S/W 等,也需要 BIOS 所提供的各種設定值來運作。
WM 的 IPL 跟 PC 不同的,就是用戶不能自行更改各項設定值。
N/A CMOS
(ComplementaryMetal-Oxide-Semiconductor)
記錄 BIOS 的設定值
CMOS 是一種積體電路,內裡的記憶數據,必須靠外來電力去保存,PC 主機版上的電池就是為 CMOS 提供電力而出現的。
SPL
(Second Program Loader)
Boot Loader
(開機管理程式)
載入 O/S (Operation System 作業系統)
管理/限制 O/S 的載入
根據 Boot Loader 內的設定,可以提供複數的 O/S 選擇。
如只有單一 O/S 的話,會跳過選擇畫面,直接載入 O/S。
也可以藉由 Hot Key 來選擇如 Safe Mode 等各模式來載入 O/S。
Windows Mobile
(PDA 最常用 O/S)
O/S
(Operation System)
提供一個用戶介面 (User Interface),讓使用者能操作電腦中的各種指令。
用戶介面包括 Windows、Dos、Linux、Unix、Mac O/S、WM 等完成載入程序後的介面。
載入程序包括了 O/S 核心資訊、程式碼、用戶管理等程序。
PC 上的 O/S 儲存於 HDD。
PDA 上的 O/S 儲存於 ROM。
在運作上,可以理解成這樣。
破解須知
在這裡,請容許小弟客套一下:Hard-SPL 是一個破解的行為,破解後的機子,將失去保養。
閣下亦必須自行承受風險,因為這類破解程式並沒有甚麼 100% 安全保證。
敬請先詳閱說明及注意事項後,才開始破解,避免機子變磚頭。
在這裡,請容許小弟失禮一下:知識是非常重要,不要在機子變磚頭時才後悔,亦請不要把責任推到別人的身上。xda-developer 是一個巨大的 pda 知識寶庫,若自覺不足,請移玉步參文。
真的不能理解/語言障礙,但仍很想嘗試的話,請參拜經驗豐富的朋友。
在這裡,請容許小弟聲明一下:小弟不會幫忙熟人/工作以外的任何人。小弟不會為金錢而協力。所以,請不要留言說要小弟幫忙,也請不要留下電郵地址,免得閒人利用。

SPL
在 PDA 上,IPL/SPL 並沒有 PC 那樣方便地提供設定給用戶更改,只有一個俗稱三色畫面的紅綠藍白四色畫面,而且 IPL/SPL 比起 PC 上的 BIOS 有更強的管制能力。
在 PC 中,Boot Loader 是 O/S 的一部份(現在的 BIOS 也有提供,但沒有強制),但在 PDA 上,Boot Loader 就是 SPL 的工作,其中有一個管理 ROM 的機制,叫作 CID,防止用家 Flash ROM 內的資料。換言之,如用家想安裝原廠以外的 O/S,必須先要解除這個 CID 的管理機制。
在解除 CID 機制上,有以下這幾個方法:
  1. Soft-SPL/SSPL
    ‧在開機時,把 SSPL 跟 SPL 一起載入,來蹺過 CID 的管理

  2. superCID/Unlock CID
    ‧直接把這個 CID 的功能關掉
    ‧用家只可安裝同一個供應商的 ROM(任意升/降 ROM 版本)

  3. Hard-SPL/HSPL
    ‧直接把整個 SPL 換掉
    ‧沒有任何 ROM 版本的限制
由於 Soft-SPL 並沒有把 SPL 作改動,亦會令系統出現不穩定的情況發生,所以是最不理想的方法,但破解 IPL 跟 SPL 往往花費很多時間,所以 SSPL 通常是最早出現,但亦是最小人用的方法,小弟亦不建議使用。
而 superCID 算是一個最好的方法,要關閉 CID 功能,就需要 SPL 的全勸管理能力,亦是最難達成的條件。一但達成,就差不多等於變成不死身了,可是在破解中途出現問題,機子可能會變成磚頭。
Hard-SPL 把整個 SPL 換掉是現時最常見的做法,而且速度快,發生問題的機率相對降低不小,但一個 O/S 的載入程序非常重要,如果載入的 SPL 並不完美,最重要的 IPL 會有被破壞的可能。
以上三種方法,需要為不同型號的機子重新譯出專用程式(不同 SPL 版本也有可能),所以不要嘗試用其他手機型號的專用 Hard-SPL,否則 99.99% 會變磚頭。
在更新 SPL 前,請先看看手上機子的 SPL 版本。進入 SPL 畫面方法:
  1. 按著下音量鍵不放
  2. 啟動機子/按一下 Reset 孔
  3. 直到三色畫面出現,文字也完全出現後,就可以放開下音量鍵
不過,對一般用家而言,一般使用 Hard-SPL 就可以。最重要的是,不要貪快。Hard-SPL/superCID 譯出後不要立即使用,待兩三天,看看有經驗人仕試驗後的評論才行動也不遲。

ROM
可以理解成 PC 上的 HDD。
在 PC 上,雖然一個 HDD 只有一個英文代號,但每個 HDD 內也被系統分成很多部份來使用,在不同的 O/S 上,也會有一個磁碟重組工具,那裡可以最清楚地看到各區的分配。
當中最重要的是系統區域,包含了 O/S 本身的所有檔案、安裝的程式、所有用戶的資料等,其次就是不可移動區域,句含了一些運作中的暫存檔、系統的長註檔等資料。
在 WM 中,ROM 除了以上的分類外,還有一個,就是系統原廠還原用的資料,可以理解成原廠 PC 的 Recovery Disc,用來還原成出廠時的模樣。
這部份 ROM,當中包含了 SPL、WM 整個安裝程式、廠方附送的程式、以及一些廠方自訂的修改/調整設定。
這部份無法在 WM 系統中看到,因為這部份的權限歸於 IPL/SPL。亦因為這個機制,廠方提供的 ROM 容量比手上機子的實際 ROM 容量多。
所謂 Flash ROM,就是重灌這個部份,須進入 SPL 的工程模式,相當於進入 BIOS 設定畫面。
下載回來的 ROM,名字都是怪怪的,因為全是縮寫的關係。
說明如下:
  • 以這個為例 - RUU_BlackStone_HKCSL_CHT_1.19.832.0_Radio_52.49a.25.26_1.09.25.14_Ship
  • RUU - ROM Update Utility
    。這是最簡單的 Update 程式,跟官方提供的程式是一樣的

  • BlackStone - 機子的代號
    。BlackStone 是 Touch HD 的代號

  • HKCSL - 地區及代理
    。不同地區及不同代理的 ROM,語言、附送的軟體以及設定會有分別

  • WWE/CHT/.....
    。語言版本,WM 並非支援多語言的 O/S,所以有分別的
    。WWE = World Wide English、CHT = Chinese Traditional、......

  • 1.19.832.0 - ROM 版本
    。可以在『開始→設定→系統頁面→裝置資訊』中查閱
    。1.19 是主版及次版號
    。832 是區域跟語系
     

  • Radio_52.49a.25.26_1.09.25.14 - 通訊協定及通訊模組的版本
    。可以在『開始→設定→系統頁面→裝置資訊』中查閱

  • Ship - Shipped ROM
    。就是官方提供的 ROM

  • Cook - Cooked ROM
    。亦會有 Custom ROM 出現
    。高手們自製的 ROM,會以減低 ROM 使用量,或更新 Drives 為主要用途
強烈建議新手們下載 RUU 版本使用,因為沒有複雜程序,也比較安全。
跟 Hard-SPL 一樣,不要貪快。在新 ROM 譯出後不要立即使用,待兩三天,看看有經驗人仕試驗後的評論才行動也不遲。

Flash Hard-SPL 及 ROM
小弟並沒有使用 SuperCID,所以直接說 Hard-SPL。
先到 xda-developer 找所屬的專用 Hard-SPL 程式。
可下載的大概有三種:
  1. USPL(Unlocked SPL)
    ‧這個可以說是舊方法吧,速度慢,不過通常是 SuperCID 的方法,HSPL 還沒用過。
    ‧比較安全,即使中途出現錯誤,Soft-Reset 還原的機率也相當高。

  2. RUU(ROM Update Utility) - 建議使用
    ‧這個方法,跟官網下載的 RUU 一樣,不過並不是 Update 整個 ROM,只是 Update SPL 而已。
    ‧一般來說,10 秒左右便完事,錯誤的機會率非常低,主因是由官方 RUU 修改而成的關係。

  3. 使用 ROM Kitchen
    ‧只建議有經驗人仕使用
    ‧請參考 Restore SPL
安裝程序如下:
  1. 把下載回來的壓縮檔解壓到 PC 上的任何位置
  2. 確定機子有 50% 以上電量,最好是 75%/100% 
  3. 把機子內的記憶卡以及 SIM 卡拔除
  4. USB 連接電腦,並且確定 Active Sync 連接成功
  5. 仔細看清楚發佈者的說明,以及注意事項等等
  6. 把電腦中執行的程式全部關閉
  7. 把螢幕保護裝置/休眠關閉 
  8. 執行發佈者說明中的程式檔
  9. 依照程式中的說明,一步一步的進行
  10. 在安裝開始時,機子會重啟,並進入 SPL 工程模式(三色畫面)
  11. 在安裝途中,機子畫面會全白,只有上方出現安裝百份比,跟電腦中的百份比是同步進行的
  12. 安裝完成,機子會重啟,並進入 WM
  13. 重啟並進入 SPL 畫面,確認一次 SPL 版本
若中途出現錯誤,請冷靜,不用驚慌,依以下程序進行:
  1. 甚麼也不要動,包括電腦跟機子(若果是電腦方面 RUU 錯誤關閉,請跳到4)
  2. 先等多一會兒,看看是不是系統繁忙的關係,令安裝暫時停止
  3. 真的是停了的話,關閉 PC 的 RUU 程式
  4. 把機子 Soft-reset
  5. 這時應該會進入 SPL 的畫面(若成功進入 WM 的話,SPL 應該還沒有更新,可以重啟到 SPL 畫面確認)
  6. 確保 USB 的連線狀態,確定已連接上電腦
  7. 重新執行 RUU
  8. 這樣應該會成功 Update 的
  9. 若再失敗,不要再試,先確保機子能正常啟動到 WM 畫面
    重啟到 SPL 畫面確認現時的 SPL 版本
    再到 xda-developer 看看有沒有相關回覆/其他 Hard-SPL

  10. 若最後仍然失敗,不能重啟 WM,只能到 SPL 畫面的話
    就直接在這裡連接電腦,執行原本的 Shipped ROM
    仍不能的話,可以嘗試 Hard-Reset
    仍不能的話,請還原 SPL,拿到代理處維修

  11. 若失敗後,WM 及 SPL 也不能進入的話
    只可以說恭喜了,你中頭獎了,這個機率真的很低
Flash ROM 在基本上,跟 Hard-SPL 的程序是一樣的,不過時間會花上 10 分鐘左右。
所以不說了。

Restore SPL
還原 SPL,這個動作是為了取回保養,或是在賣掉機子時用的。
要還原 SPL,雖要兩個工具:
  1. ROM Kitchen - 找回自己手機的專用 ROM Kitchen
  2. RUU_signed.nbh - Signed SPL
    ‧可以下載
    ‧可在官方 RUU 中抽出來
關於還原程序,小弟只用 HTC 的,其他 Kitchen 是否一樣就不得而知,所以請自行看說明行事。
不過,大約是這樣:
  1. 先執行原廠的 RUU,把機子的 ROM 變回原廠一樣
  2. 執行 Kitchen 內發佈者指定的工具
  3. 選好手機、型號等資料
  4. 指定要安裝的 SPL(只需要指定 SPL)
  5. 最後按一下 Build ROM(HTC 的是 Build ROM)
還有一些使用 Kitchen 的更好方案,如自製 RUU_signed.nbh 等,可以參考這編
機子不一樣也不要緊,只要找回自己機子的專用 Kitchen 就可以。

大概就是這些
祝 武運亨通

留言

此網誌的熱門文章

[教學]一起來開發遊戲吧 - Unity C# 基礎

QUMARION

[教學]一起來開發遊戲吧(二) - Character Controller, Pool System