2007年6月30日

MCE O/S 優化攻略

打從去年 10 月 Windows XP Media Center Edition 2005(以下簡稱 MCE)中文版在台上市,掀起電腦一機多功,顛覆傳統電腦無法放在客廳的作法,讓電腦走進客廳,締造數位家庭的新風潮之後,到現在轉眼間已經過了半年多。雖然電子節目表(Electronic Program Guide,EPG)無法在第一時間隨著 MCE 中文版一起提供服務,在眾人殷殷期盼之下,這項 MCE 最大賣點的功能終於在今年三月廿四日上線,讓許多人終於不需要自己手動透過其他工具程式就可以自動取得電子節目表。

近日全球超過十億人口透過電視轉播觀看在德國十二個城市舉行的第十八屆世界盃足球賽決賽,共有來自世界各地的 32 個隊球參與盛會,進行 64 場比賽,由於時差與場地的關係,可能在同一時段有兩個頻道轉播不同球隊的比賽,如果您有超過兩張以上的類比電視卡,就可以手動修改 MCE 僅能同時使用兩張類比電視卡的緊箍咒,只要硬碟空間夠大、電腦擴充槽夠多,讓您一次錄 N 台。除了兩張類比電視卡的限制之外,相信有為數不少的玩家對於 MCE 其他功能上的限制,很早就想將之破解,一改為快的衝動。相信閱讀本文之後,您也可以完成這些簡單駭客任務,使得您的 MCE 與眾不同,並同時解除 MCE 某些功能上的限制。

向 MCE 討更多空間

不論是收聽廣播、觀看電視,MCE 都會自動保留最近 30 分鐘的節目內容,感覺 30 分鐘不是挺長的時間,但是當您開始錄製一系列的世界盃足球賽節目之後,就會發現,硬碟真的是太小了,致使無法暢快地錄製與觀看所有的世界盃足球賽節目。沒關係!只要依照下面的操作,就可以向 MCE 要一些空間回來。

說穿了,其實 MCE 也不過是 Windows XP Professional 版本再加上整合播放多媒體以及照片、錄製與播放電視、收聽廣播等功能的一個 Windows 作業系統,只是這個作業系統被微軟硬生生地把加入網域的功能給關掉了,只要您繼續看下去,自然會在本文中得知該如何破解這項限制。由此可知,除了 Windows XP Professional 版本既有可以刪除的檔案之外,還有 MCE 特有的、無關僅要的檔案也可以刪除,一般而言,經過這樣刪除動作之後,至少大約可以節省 150MB 以上的硬碟空間。

到底哪些是可以被刪除的檔案呢?當然要不要刪除這些檔案的決定權在您手中,您可以自行取捨,然後依照表列的目錄或檔案進行刪除,即可取回那些平白被 MCE 耗用的硬碟空間。提醒您,記得先到檔案總管中,依序點選【工具】、【資料夾選項】,按一下【檢視】索引標籤,清除【隱藏已知檔案類型的附檔名】與【隱藏保護的作業系統檔案(建議使用)】選項前面的核取方塊,將【隱藏檔案和資料夾】裡的選項設定成【顯示所有檔案和資料夾】,然後再勾選【顯示系統資料夾的內容】,接著按下【確定】按鈕來讓檔案總管可以正確地顯示附檔名與系統檔案和資料夾。

資料夾選項設定
圖 1 資料夾選項設定

如果 MCE 提示您說有檔案被取代,要您插入 Windows XP Professional CD-ROM 的話,就請您依照指示放入光碟,並按下【重試】按鈕。
可刪除的檔案或目錄列表
目錄 說明 備註
C:\WINDOWS\*.log 應用程式記錄檔 於刪除時,有些檔案可能會被鎖住,無法刪除,可以不予理會。要刪除 WindowsUpdate.log 檔案之前,請先停止【Automatic Updates】這項服務。
C:\WINDOWS\$hf_mig$ 儲存最新版的更新檔案 當安裝更新程式,如果 Windows 發現此更新程式裡面的某個檔案比位於 C:\WINDOWS\$hf_mig$ 裡的更新檔更舊,就會自動將 C:\WINDOWS\$hf_mig$ 裡最新版的更新檔案覆蓋過去。
C:\WINDOWS\$NTUninstallKBxxxxxx$ 讓您可以從【控制台】裡的【新增或移除程式】將更新檔移除 將 $NTUninstallKBxxxxxx$ 目錄刪除之後,就無法藉由【新增或移除程式】將更新檔移除。
C:\WINDOWS\ehome *.wmv 顯示器組態設定視訊檔案 當您不需要再次設定顯示器類型來讓 MCE 以最佳化方式顯示,就可以考慮刪除這些檔案。
C:\WINDOWS\Help\Tours 該目錄中有 Windows XP 以及 Media Player 的教學課程 所有的教學內容皆是英文解說,因此可以將整個全部 Tours 資料夾都刪除。
C:\WINDOWS\inf *.PNF 預先編譯過的安裝資訊檔案 只要存在相對應的 .INF 檔案,Windows 還是可以運作的很好。在刪除時,可有會有檔案被鎖住,不用理會這個警告訊息。
C:\WINDOWS\repair 存放備份 Registry 的目錄 如果您有執行【備份或還原精靈】(也就是 NTBackup.exe)的話,目錄裡面的檔案就會自動被更新。可以將整個資料夾裡的檔案全部刪除。
C:\WINDOWS\Resources\Theme 布景主題 只需保留您要的布景主題即可。在刪除時,可有會有檔案被鎖住,不用理會這個警告訊息。
C:\WINDOWS\system32 *.scr螢幕保護程式 如果不再需要使用保護程式的話,當然可以將所有的 .scr檔案刪除,不過建議您還是保留mypixdx.scr與ssmypics.scr這兩個讓【我的圖片】中的照片分別可以變成【我的精選圖片】以及【我的圖片幻燈片】的螢幕保護程式,這可是MCE獨有的哦!
C:\WINDOWS\system32\dllcache 儲存被Windows檔案系統保護機制所備份的作業系統檔案 只要刪除dllcache裡面的檔案,請不要連同dllcache這個目錄都刪除了。
C:\Program Files\Windows Plus\Audio Convert 將音訊轉換成其他格式或是變更位元取樣頻率 如果您不需要使用到這項功能,那麼就請刪除整個目錄。
C:\Program Files\Windows Plus\CDLM 製作光碟標籤、光碟盒封面 如果您不需要使用到這項功能,那麼就請刪除整個目錄。
C:\Program Files\Windows Plus\Dancer 在Windows桌面上,顯示伴隨播放中的音樂翩翩起舞之立體舞者。 如果您不需要使用到這項功能,那麼就請刪除整個目錄。
C:\Program Files\Windows Plus\Party Mode 讓您將MCE電腦變成人人可操作的點唱機,避免這些人可以存取您電腦中的程式、資料夾或檔案。 如果您不需要使用到這項功能,那麼就請刪除整個目錄。
表 1 可刪除的檔案或目錄

除了刪除上面所述的檔案空間之外,大家不要忘了 Windows XP 的一項特異功能:系統還原,它可以將作業系統和設定回復到我們所指定的日期。系統還原係透過在還原時間點儲存當時對系統檔案所做的改變,來達到回復到某一時間點的功能。這些還原點當然會佔用了硬碟空間,如果不調整還原點的話,不管您的硬碟有多大,系統還原都可能會佔用高達 12% 的硬碟空間。因此要節省系統還原所佔用的硬碟空間,請需要依照下列步驟進行設定,以減少執行系統還原時,所會建立的還原點個數:
  1. 按一下【開始】功能表,將滑鼠移到【我的電腦】選項,然後在【我的電腦】上,按一下滑鼠右鍵。
  2. 選擇【內容】選單,接著按一下【系統還原】索引標籤。
  3. 在【可用磁碟】選項中,選取磁碟機 C:,然後按一下右側的【設定值】按鈕。
  4. 用滑鼠壓住【磁碟空間使用】的推桿不放,往左邊調低設定到您希望的大小。這樣可以減少系統還原的磁碟空間使用量,但是這也將減少未來系統還原時,可供選擇的還原點個數。比方說,在 100GB 的硬碟空間中,只要往左邊調低 1%,就可以節省 1GB 左右的磁碟空間,而且仍然可以提供足夠的空間來保留好多個系統還原點。不要小看這區區 1GB 的硬碟空間,這足夠讓您使用【普通】模式來錄電視,雖然錄製的效果是不太理想,但聊勝於無啊!
  5. 按一下【確定】按鈕將剛剛的設定加以儲存起來。
  6. 反覆步驟 3~5 的操作,直到您已經完成所有磁碟機的設定。

設定還原點大小
圖 2 設定還原點大小

在刪除不需要的檔案並減少還原點個數之後,為了增進 MCE 的效能,請記得要讓 MCE 執行磁碟重組作業。執行時,建議關閉所有執行中的程式,當然也包括掃毒程式等背景程式,若擔心中毒或被駭的危險,可以將實體的網路線直接拔除,這麼一來任誰有通天本領也是「害」不到您啊。

除了刪除實體檔案來減少硬碟佔用的空間之外,我們還可以讓 MCE 佔用更少的記憶體空間。首要之務就是開啟控制台裡的【系統管理工具】與【服務】來開啟【Services】的 MMC(Microsoft Management Console)管理工具,接著依照表列將 MCE 預設會啟動,但實際上可以不需要被啟動的服務關閉,以增加 MCE 可用的記憶體空間。要注意的是,該表僅是建議可以關閉的預設 Windows 服務,如果關閉某項服務之後,造成問題時,請將該服務開啟。

停用不需要的服務
圖 3 停用不需要的服務

建議可以關閉的預設Windows服務
服務名稱 說明
Alerter 一般個人用的電腦可以不需要傳送或接收來自電腦系統管理者的警示,除非您的電腦有需要接收區域網路上其他 Windows Server 所發出的警示,才需要開啟該服務。
Application Layer Gateway Service 如果不需要提供網際網路連線共用(ICS)讓多台電腦存取網際網路與 Windows 防火牆的話,就可以停用這個服務。
Background Intelligent Transfer Service 該服務的功能是當有閒置的網路頻寬時,於背景傳送檔案。
COM+ Event System 有些程序會用到 COM+ 元件,才需要開啟這項服務。例如,用來加速 Windows 開機速度的 BootVis,就需要開啟這項服務。
COM+ System Application 管理 COM+ 元件的設定及追蹤。
Computer Browser 如果您希望在網路上的芳鄰中看到其它的電腦,就需要開啟這項服務。
DCOM Server Process Launcher 為 DCOM 服務提供啟動功能。
DHCP Client 透過登錄及更新IP位址和DNS名稱來管理網路設定。如果不需要使用DHCP的話,就可以關閉這項服務。比如說您是Seednet ADSL用戶,要使用DHCP取得IP位址,就不能夠關閉這項服務。
Distributed Link Tracking Client 維護電腦中或網路網域不同電腦中NTFS檔案間的連結。
Error Reporting Service 允許對執行於非標準環境中的服務和應用程式的錯誤報告。
Fast User Switching Compatibility 在多使用者環境下,提供應用程式管理這些使用者快速切換的設定。
Help and Support 讓說明及支援中心能夠在這台電腦上執行。如果不需要使用說明與支援中心,就可以將這個服務停止。
Media Center Extender Service 如果不使用媒體中心擴充器(Media Center Extender)設備,例如:XBOX 360,就可以把此服務關閉。
Media Center接收器服務 讓MCE可以收看電視與收聽FM廣播,因此如果您的MCE沒有安裝經過微軟認證過的電視卡或FM廣播卡時,就可以關閉此項服務。
Media Center排程器服務 用於收看電視以及執行MCE的一些預定工作排程,如果用不到預約錄製電視節目,可以關閉該項服務。
Network Location Awareness (NLA) 收集與存放網路設定和位置資訊,並且在這個資訊有變更時,通知相關的應用程式。一般來說,如果不使用ICF和ICS可以關閉這個服務。
Print Spooler 將檔案載入記憶體中,以待稍後列印工作的進行,如果沒有任何印表機,當然可以關此服務。
Remote Registry MCE預設會允許遠端使用者修改這台MCE電腦上的登錄設定。基於安全性的理由,一般的使用者根本不需要開啟這項功能,建議關閉它,除非您需要使用遠端協助來修改MCE的登錄設定。
Server 除非MCE要透過網路提供檔案、列印、以及具名管道的分享共用,不然就關閉這項服務。
System Restore Service 若不需要執行系統還原功能來將電腦回復至指定的特定日期的狀態,可以關閉此項服務。
Task Scheduler 如果沒有設定自動排定執行工作,像是定時磁碟掃瞄、病毒掃瞄、Windows更新等等,就可以關閉該服務。
TCP/IP NetBIOS Helper 現在應該很少人還在使用NetBios或是WINS,所以直接關掉吧!
Telephony 控制電話語音裝置和IP為主語音連線的程式,以支援電話語音API。
Terminal Services 如果不需要使用遠端桌面或是遠端協助的功能,就關閉這服務。
WebClient 基於安全性的理由,不應該使用WebDAV將檔案或資料夾上載到所有的Web服務,所以要關閉此項服務。
Windows Firewall/Internet Connection Sharing (ICS) 當您有使用IP分享器,就可以不需要啟用這項服務來進行網路位址的轉譯與定址。
Windows Image Acquisition (WIA) 沒有使用掃瞄器以及數位相機,請關閉此服務。
Wireless Zero Configuration 除非有使用無線網路介面卡,要不請大膽地關閉這項服務。
表 2 建議可以關閉的預設Windows服務

小檔案
媒體中心擴充器(Media Center Extender)是用來將MCE電腦連接到家用電視或是LCD螢幕的一種裝置,只要具備相對應的媒體中心擴充器就可以將MCE的使用範圍擴展到家中任何角落。比如說,您可以把內建Media Center Extender技術的Xbox 360藉由有線、或是無線網路(建議要少要使用802.11g以上的傳輸速率)連線到執行MCE的電腦,如此以來您就可以透過Xbox 360來存取並享用所有的電視、音樂、相片、電影或是線上精選的內容,甚至還可以在Xbox 360上瀏覽網頁,一切的操作就如同您在MCE裡使用一樣,沒有什麼不同的地方。

誰說 MCE 無法加入網域

MCE 外表是多媒體撥方中心,骨子裡卻是 Windows XP Professional 版,所以說 MCE 擁有 XP Professional 版本所有的功能一點也不為過,只有一個不同的地方,那就是 MCE「預設」是不能加入網域的。這是因為微軟將 MCE 定位成家庭娛樂的產品所致,也就是說和 XP Home 版本一樣,MCE 的訴求使用者是定位於家庭用戶而不是企業用戶。既然 XP Home 版本不提供加入網域的功能,因此 MCE 也有者這項限制,不過只要透過修改註冊機碼,就可以去除這項「預設」的限制。

我們先作個實驗,在 MCE 電腦的【開始】功能表按一下滑鼠左鍵,選取【執行】選項,然後在【執行】對話視窗中的【開啟】欄位輸入 regedit,接著按下【確定】按鈕來開啟「登錄編輯程式」。依序展開 HKEY_LOCAL_MACHINE→System→WPA→MedCtrUpg,接著在右邊窗格名稱為【IsLegacyMCE】的機碼上,按兩次滑鼠左鍵,接著將【編輯DWORD值】對話視窗中【數值資料】欄位上的數值變更成 1,並按下【確定】按鈕,此時出現一個【編輯值錯誤】的提示視窗,告訴您說:無法編輯 IsLegacyMCE: 寫入值的新內容時發生錯誤。這是因為 MCE 會把這個機碼鎖住,不讓我們利用正常的手法來修改機碼,沒關係!山不轉,路轉,我們用駭客手段,來避開這個機碼鎖定限制。

無法使用一般方式修改機碼
圖 4 無法使用一般方式修改機碼

為了方便修改機碼,我們要安裝所謂的「修復主控台」(Recovery Console),安裝的方法很簡單,只要放入 Windows XP Media Center 2005 原始安裝光碟,在【開始】功能表,選取【執行】選項,接著在【執行】對話視窗中的【開啟】欄位輸入 F:\i386\winnt32.exe /cmdcons(其中的 F: 為光碟機磁碟代碼,請依照您實際的環境加以變更),然後按下【Yes】按鈕並依照畫面指示操作,最後按下【OK】按鈕即可將 Recovery Console 安裝起來。這個安裝程序會佔用系統磁碟分割大約 7MB 的硬碟空間,以儲存 Cmdcons 資料夾與相關檔案。爾後當MCE電腦重新開機時,開機選單中就有有兩個選項,一個是原本的 Windows XP Media Center Edition,另外一個則是 Microsoft Windows Recovery Console,MCE 預設會自動啟動 Windows XP Media Center Edition 這個選項。

安裝「修復主控台」後的開機選單
圖 5 安裝「修復主控台」後的開機選單

如果不想佔用 7MB 硬碟空間或是沒有事前安裝好 Recovery Console,也可以使用 Windows XP Media Center 2005 安裝程式磁片或是安裝光碟來啟動電腦。當畫面呈現欄底白字,且畫面左上方出現 Windows Setup 時,請按一下鍵盤上的 F10,或按 R 以啟動「Windows修復主控台」。針對您想要修復的 Windows 安裝選取適當的號碼並按下 Enter 鍵,然後輸入系統管理員密碼。 有鑑於愈來愈多的電腦都是使用 Serial ATA 的硬碟,我們會建議您使用第一種方式直接將 Recovery Console 安裝在硬碟中,如此一來當使用 Windows XP Media Center 2005 安裝程式磁片或是安裝光碟時,可能還要您提供主機板的 SATA 晶片組驅動程式,而發生找不到 Serial ATA 硬碟的問題與額外的動作即可避免。接著請依照下列步驟來修改登錄機碼:
  1. 啟動 MCE,並在啟動選單中,選取 Microsoft Windows Recovery Console。如果您是使用安裝程式磁片或是安裝光碟啟動的話,就請按下鍵盤上的 F10,或按 R。
  2. 當出現 Microsoft Windows XP (TM) Recovery Console. 時,畫面會顯示目前有哪些可用的 Windows 已經安裝在硬碟中,請輸入適當的 Windows 安裝號碼之後,接著請輸入系統管理員帳戶密碼。如果當初於安裝MCE時,沒有設定系統管理員密碼,只要按下Enter 鍵即可。請特別注意,如果輸入密碼錯誤三次的話,Windows 修復主控台就會結束作業。另外,如果 SAM(Security Account Manager)資料庫遺失或毀損,會無法使用 Windows 修復主控台,因為此時 Windows 對您輸入的帳號與密碼沒有 SAM 資料庫可以比對並進行驗證。
  3. 經過驗證無誤之後,就會自動進入原本安裝 MCE 的系統目錄裡,請記下這個目錄所在位置。接著輸入 cd system32\config,並按下 Enter 鍵,以便切換到存放機碼檔案的目錄裡。
  4. 把檔名為 system 的機碼檔複製成 system.ms,所以請輸入 copy system system.ms,並按下 Enter 鍵。
  5. 請輸入 exit 並按下 Enter 鍵,以重新啟動電腦。
  6. 在啟動選單中,選取 Windows XP Media Center Edition 來進入正常模式的 MCE。
  7. 進入 MCE 之後,請在【開始】功能表,選取【執行】選項,接著在【執行】對話視窗中的【開啟】欄位輸入 regedit,然後按下【確定】按鈕以開啟「登錄編輯程式」。
  8. 在「登錄編輯程式」左側窗格中,用滑鼠按一下【HKEY_LOCAL_MACHINE】這個目錄,使其反白呈現被選取的狀態。
  9. 按一下【檔案】功能表,選取【載入 Hive 控制檔】選項。在【載入 Hive 控制檔】對話視窗中,將目錄指到 C:\Windows(如果您的 MCE 不是安裝在這個目錄的話,請指到步驟 3 所記下的目錄),並載入原先複製的 system.ms 檔案。
  10. 當出現要您輸入機碼名稱時,請輸入BillG,並按下【確定】按鈕。
  11. 按一下【HKEY_LOCAL_MACHINE】這個目錄旁邊的加號(+)以展開該目錄,此時,您可以發現到上個步驟所輸入的 BillG 出現在第一個子目錄上。
  12. 依序展開 BillG→WPA→MedCtrUpg,然後在右邊窗格中名稱為【IsLegacyMCE】的機碼上,按兩次滑鼠左鍵,接著將【編輯 DWORD 值】對話視窗中【數值資料】欄位上的數值變更成1,並按下【確定】按鈕。
  13. 重新啟動 MCE,並在啟動選單中,選取 Microsoft Windows Recovery Console。如果您是使用安裝程式磁片或是安裝光碟啟動的話,就請按下鍵盤上的 F10,或按 R。 
  14. 在 Microsoft Windows XP (TM) Recovery Console. 畫面中,請輸入適當的 Windows安裝號碼之後,接著請輸入系統管理員帳戶密碼。
  15. 輸入 cd system32\config,並按下 Enter 鍵,以便切換到存放機碼檔案的目錄裡。
  16. 將檔名為 system 的機碼檔更名為 system.org,所以請輸入 ren system system.org,並按下 Enter 鍵。
  17. 將檔名為 system.ms 的機碼檔更名為 system,所以請輸入 ren system.ms system,並按下 Enter 鍵。
  18. 請輸入 exit 並按下 Enter 鍵,以重新啟動電腦。
  19. 在啟動選單中,請選取 Windows XP Media Center Edition 以進入正常模式的 MCE。 
  20. 當進入 MCE 之後,請在【開始】功能表,將滑鼠移到【我的電腦】選項,接著按一下滑鼠右鍵選擇【內容】選項以開啟【系統內容】對話視窗。
  21. 按一下【電腦名稱】索引標籤,此時您可以看到【網路識別】按鈕是可以被使用的。然後按下【變更】按鈕,【網域】的文字欄位也是可以輸入的,驗證了我們已經成功地將MCE加入網域了。

在「修復主控台」中複製 system 機碼檔
圖 6 在「修復主控台」中複製 system 機碼檔
修改【IsLegacyMCE】機碼值
圖 7 修改【IsLegacyMCE】機碼值
修改前,無法加入網域
圖 8 修改前,無法加入網域
修改後,可以加入網域
圖 9 修改後,可以加入網域

小檔案
MCE 未包含 Windows XP Professional 的「加入網域」功能,同時也造成「快取認證」功能失效。所謂的「快取認證」就是當您要使用其他網路上資源,於第一次連線到該資源時,所出現的對話視窗。如果是使用 Windows XP Professional,可以在此視窗中輸入登入者的帳號與密碼,並要求「認證管理員」記憶密碼。爾後,當您重新開機或是重新登入這台電腦並連線到該資源時,「認證管理員」會自動將相關的資訊送給該資源所在的電腦加以驗證,如果驗證成功,就可以使用該資源。而不用再提示您必須要輸入使用者名稱和密碼,才能存取網路資源。

無法使用「快取認證」
圖 10 無法使用「快取認證」
已被破解的「快取認證」功能
圖 11 已被破解的「快取認證」功能

小檔案
「Windows修復主控台」的設計目的在於,當 Windows 電腦無法正常地啟動或根本完全無法啟動時,可以在沒有啟動 Windows 圖形介面的情況下,針對 NTFS、FAT 或是 FAT32 磁碟檔案系統進行存取,以協助您進行修復。要注意的是,只有系統管理員可以使用Windows 修復主控台,亦即未經授權的使用者將無法存取任何的 NTFS 磁碟區。 在Windows 修復主控台中可以執行的作業,大致有下列幾種:
  1. 存取、複製、重新命名或者是取代作業系統檔案以及資料夾。
  2. 啟用或停用服務甚至是硬體裝置,以便在下一次啟動電腦時讓這些設定生效。
  3. 修復檔案系統開機磁區或是主開機記錄 (Master Boot Record, MBR)。
  4. 在硬碟建立磁碟分割區與格式化磁碟分割區。

電視卡沒認證過,沒關係

MCE 對電視卡的要求是很特殊且嚴格的,不是市面上隨便一塊阿貓阿狗牌的電視卡就可以支持的,所以常常在網路討論區上看到很多人提出:「我的電視卡是某某牌子某某型號的,可不可以在 MCE 裡使用呢?」什麼樣的電視卡才可以被 MCE 所辨識並使用呢?只要符合下列條件就可以:
  1. 如果是類比電視卡的話,需要內建硬體 MPEG-2 壓縮功能。
  2. 需要經過微軟的 MCE Logo 認證,確認該電視卡可以在 MCE 裡正常運作,而這個認證授權要花費一大筆費用,不是一般的公司所能夠負擔,所以目前市面上只有與微軟合作的幾個事業夥伴才有辦法推出 MCE 認證的電視卡。

想當初,為了在台灣找一塊經過微軟 MCE 認證過的電視卡,翻遍光華商場還找不到合用的,時過境不同,今日不論是在 X 虎網拍、Pxhome 或是其他實體電腦商店大都可以買到 MCE 的全配套件或是零售的 MCE 遙控器、電視卡。

如果您電視卡是使用飛利浦 Philips SAA7130、7133、7134 或是 7135(以下統稱SAA713X)晶片,只要再搭配上 MainConcept 公司的 MCE Encoder 就能將沒被微軟認證的類比電視卡,透過高速的 PCI 匯流排進行壓縮與處理 MPEG-2 串流資料,這樣一來 MCE 就能夠識別這塊電視卡了!其實可以這樣偷吃步,乃是因為 Philips SAA713X 晶片提供高達720x480 的解析度,相較其它只有 8bits 的晶片,光是顏色就比人家多了 8 倍(RGB 三原色每一種原色多 2 個 bit,所以 2x2x2=8),影像畫質自然當然高人一等。不過,假設您的電腦CPU 速度不夠快速,建議您還是乖乖地去購買經過認證過的電視卡,免得看個比賽刺激的世足賽都只能觀看慢動作。

首先您當然要把採用飛利浦 Philips SAA713X 晶片的電視卡給安裝好,實體的電視卡要安裝到 PCI 插槽上,電視卡的驅動程式也都要安裝妥當。此外,不要忘記還需要安裝 MPEG-2 的 DVD 解碼器(請翻閱本刊三月份相關文章的介紹)。

接著連線到 http://www.mainconcept.com/,找到 Developer Products 產品中的 MCE Encoder,根據網頁上對該產品的介紹是說:MCE Encoder 可以讓您的類比電視卡在 MCE中發揮其功效。只是要取得這個開發套件 (SDK) 需要先填寫 Pricing/Evaluation SDKs 中的表單,然後靜待 MainConcept 公司的通知,可能還需要填寫 NDA 才能取得該 SDK 套件。

MCE Encoder 產品說明
圖 12 MCE Encoder 產品說明
安裝介面是中文的
圖 13 安裝介面是中文的

當您取得 MCE Encoder 之後,只需要按照一般安裝應用程式的方式進行安裝就可以了。待安裝完畢之後,不要急著開啟 MCE 來測試電視卡是否可以正常收看電視,先把 MCE 重新啟動以便讓 MCE Encoder 運作正常!

假設您原本 MCE 的主選單中沒有出現【我的電視】功能選項,而在安裝 MPEG Encoder 與重新啟動 MCE 之後,就出現的話,恭喜您!您的電視卡可以被 MCE 所辨識。而如果還是沒出現【我的電視】功能選項,那就表示您的電視卡跟 MCE 八字不合,請您再到該電視卡廠商網站去下載最新版的驅動程式並測試看看嘍!

假設原本就有安裝電視卡了,那要如何測試新安裝的 Philips SAA713X 晶片電視卡是否可以使用了呢?最簡單的方式就是開啟 MCE,由【設定】選單中的【電視】→【設定電視節目訊號】那邊來檢查。以個人的電視卡為例,原本安裝兩張有經過MCE認證的電視卡,分別是麗台科技 PVR2000 與 ATI 550 Pro,後來安裝號稱是全球第一片雙頻電視卡(可同時接收數位與類比訊號)廣寰科技的君臨天下版。在設定電視訊號時,會同時出現三張電視卡可供選取,雖然有三張可供選擇,但同時僅能有兩張被 MCE 使用到。很嘔吧!明明就有三張電視卡,怎麼不能全部都用呢?請往下觀看下一個要討論的主題,我們將透過修改機碼的方式來讓 MCE 即使安裝 N 張電視卡,也不會只能使用兩張電視卡,要 MCE 通通買帳,通通都可以使用 N 張電視卡。當然這要有個前提,安裝的電視卡要取得 MCE Logo 認證或是採用飛利浦Philips SAA713X 晶片的電視卡並且可以被 MCE Encoder 所認識。

小檔案
NDA 是 Non-Disclosure Agreement 的縮寫,中譯為「保密協議」,其的目的就是規範機密資訊的交換、限制資訊的使用,以保護這些祕密。一般來說這個協議會列出雙方應該遵守的條例以及各自的責任與義務,例如:載明您不得在某會議或事件之外,針對您所知悉的某些資訊進行散佈或重述。因此 NDA 不僅保障雙方的機密,同時也保護與兩造雙方往來的策略合作夥伴的權益。

安裝多張電視卡,一次錄N台

由於 MCE 本身設計的限制,僅允許我們最多同時使用兩張電視卡,這種講法有點問題。應該說是最多僅能使用兩個調諧器 (Tuner),即便您安裝多個 Tuner,MCE 也只讓您使用兩個 Tuner。假設現在我們已經安裝了三個 Tuner,那麼 MCE 怎麼會知道要使用哪兩個 Tuner 呢?其實這在您第一次使用 MCE 時,您就已經設定好了。我們現在來複習一下設定使用哪幾片調諧器的操作步驟:
  1. 按一下 MCE 遙控器上【綠色開始】按鈕。
  2. 依序選取【設定】→【電視】→【設定電視訊號】,當出現提示您進行電視訊號設定可能會影響錄製電視節目的作業訊息時,請按一下【是】按鈕。
  3. 此時開始進行電視訊號的設定作業,按一下【下一步】。
  4. 在【確認您的地區】設定中,選取【是,…】選項,然後按一下【下一步】。
  5. 在【選取您的電視訊號】設定,依照您實際的環境選取電視訊號來源。在此,我們將選取【有線】,接著按一下【下一步】。
  6. 在【您是否有機上盒】設定中,依照您是否有機上盒的實際狀況選取【是】或【否】選項,接著按一下【下一步】。
  7. 此時會出現【您要設定哪片調諧器】畫面設定,我們先選取最前面兩個 Tuner,然後按一下【下一步】。
  8. 在【已完成】畫面中,直接選取【返回電視設定】並按一下【完成】即可。若是您想讓 MCE 再次進行節目表設定的話,請選擇【設定節目表清單】選項,然後按一下【下一步】,接著依照畫面指示進行後續的設定即可。
按下 MCE 遙控器上【綠色開始】按鈕,把游標移到左上方的【關機】按鈕上,按一下遙控器上的【確定】按鈕,然後選擇【關閉 Media Center】。我們準備把關於電視卡設定的機碼匯出,操作步驟如下:
  1. 開啟「登錄編輯程式」。
  2. 找到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Media Center\Service\Video\Tuners,接著展開 Tuners,此時您可以看到裡面至少有兩個子機碼,一個是 DVR,跟另外一個是 {A799A800-A46D-11D0-A18C-00A02401DCD4}。如果您有另外一個被{} 包起來的一串英文摻雜著數字,就是所謂的 GUID,表示您擁有數位跟類比電視卡。這個 GUID 的值是 {71985F48-1CA1-11D3-9CC8-00C04F7971E0}。在此先以類比電視卡為例子進行說明,畢竟數位電視卡的頻道也不過十多個,要同時錄製超過兩個頻道以上的電視節目機會不多。
  3. 展開 {A799A800-A46D-11D0-A18C-00A02401DCD4},您會看到有三個子機碼被{}所包住的。還記得我們先前的假設嗎?就是我們目前安裝了三張類比電視卡。如果你安裝了 N 張類比電視卡,在這邊即會看到 N 個子機碼。以個人的為例,這三個電視卡的子機碼分別是:{5ECCF700-B635-49C4-B3CD-672655A36DD6}、{644478FA-A997-438E-A892-3167BC35013A} 與 {C97929F8-0896-477A-AA83-D03248F52310}。因此後續的操作,我們就以這三個子機碼的順序來作說明。
  4. 按一下第一個子機碼 {5ECCF700-B635-49C4-B3CD-672655A36DD6} 前面的加號,用滑鼠左鍵在【UserSettings】上按一下,然後在右邊窗格中名稱為【UserDefName】的機碼上,按兩次滑鼠左鍵,接著我們要將【編輯字串】對話視窗中【數值資料】欄位上的「有線 A」或是「有線 B」換掉,所以請輸入您希望顯示的電視卡名稱,例如輸入電視卡的型號,並按下【確定】按鈕。
  5. 用滑鼠按一下 {5ECCF700-B635-49C4-B3CD-672655A36DD6},接著點選【檔案】功能表的【匯出】來將這個機碼匯出。請讓【匯出登錄檔案】對話視窗中的【匯出範圍】選項保持原本的設定,並將匯出的檔名指定為 01.reg。
  6. 重複步驟 4 到 5 的操作,將第二個 Tuner 的設定匯出成 02.reg。
  7. 開啟 MCE,並依照先前我們於「設定使用哪幾片調諧器的操作步驟」中的說明來指定使用其他的電視卡。設定完成之後,要記得關閉 MCE,並重複上述步驟 1 到 5 的操作,只是在步驟 4 與 5 中,要找到第三個子機碼,並將它的機碼匯出成 03.reg。
  8. 依序在 01.reg、02.reg 以及 03.reg 這三個檔案上面,用滑鼠左鍵按兩次。此時,就已經完成讓 MCE 可以使用三個 Tuner的設定,但是個人還希望可以指定於觀看、錄製節目時,要使用 Tuner 的順序,所以還要進行後面幾個步驟。如果您不打算指定的話,可以就此打住,至少這樣子 MCE 已經可以運作的很好了。
  9. 開啟「登錄編輯程式」。 
  10. 展開 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Media Center\Service\Video\Tuners\{A799A800-A46D-11D0-A18C-00A02401DCD4},然後再展開每個電視卡的子機碼。用滑鼠左鍵在【UserSettings】上按一下,接著依照表列的說明來修改右邊窗格中的機碼。
  11. 設定完成之後,請重新啟動 MCE。等待 MCE 啟動完成之後,您可以一次錄製多個電視節目進行測試。

先設定前兩個 Tuner
圖 14 先設定前兩個 Tuner
Tuners 機碼的位置
圖 15 Tuners 機碼的位置
匯出 Tuner 機碼
圖 16 匯出 Tuner 機碼

在先前的設定中,我們曾經修改過【UserDefName】機碼的值,使其變成是電視卡的型號,這樣做的好處是,可以比較不同的 Tuner 所錄製出來的節目品質,同時得知 MCE 是使用那個 Tuner 來錄製電視節目。察看的方式很簡單,選取 MCE 的【設定】→【電視】→【錄影機】→【歷程記錄】→【依日期排序】,接著將游標移到右邊您欲察看的節目名稱上,按下 MCE 遙控器上【確定】按鈕,當出現詳細的節目歷程記錄時,請仔細看一下「調諧器」後面的名稱,這樣子是不是比起原本顯示「有線 A」或是「有線 B」更容易辨識用了哪個 Tuner 呢?

一次錄製 3 個頻道
圖 17 一次錄製 3 個頻道
察看所使用的調諧器名稱
圖 18 察看所使用的調諧器名稱

指定Tuner使用的順序
機碼名稱設定值說明
RecordOrder錄製節目時,使用 Tuner 的順序,優先權最高的是 0,然後是 1,接著是 2,以此類推。假設您有5個Tuner,那麼要設定優先權最低的那個就應該指定為 4(因為從 0 開始起算,所以 5-1=4)。因此,如果您希望耗用  CPU 時間與資源最少的那個 Tuner 是被先拿來錄製節目的話,就可以將這個 Tuner 的 RecordOrder 機碼值設定成 0。
RecordPrefered錄製節目時,是否指定為優先使用的 Tuner。如果要的話,就設定為 ffffffff(16進位的數值);如果不要的話,就設定成 0(16進位的數值)。
WatchOrder觀賞節目時,使用 Tuner 的順序,優先權最高的是 0,然後是 1,接著是 2,以此類推。因此,如果您希望耗用 CPU 時間與資源最少的那個 Tuner 是被先拿來觀賞節目的話,就可以將這個 Tuner 的 WatchOrder 機碼值設定成 0。
WatchPrefered觀賞節目時,是否指定為優先使用的 Tuner。如果要的話,就設定為 ffffffff(16進位的數值);如果不要的話,就設定成 0(16進位的數值)。
表 3 指定Tuner使用的順序

小檔案
GUID 的原文是 Globally Unique IDentifier,中文稱為「全球唯一識別元碼」是由一串 128 個位元長的英文以及數字所組成的,用來確保某個物件、程式、元件甚至是使用者是唯一的。比方說,我們瀏覽網頁時,網站可能會產生一個 GUID 並傳送給瀏覽器,用來記錄網站與瀏覽器的對話訊息。產生 GUID 的方式有很多種,最常見的方式是使用 IP 位址、網路卡的硬體編號 (MAC) 與目前的時間以及日期的組合來產生。

破解EPG更新時間密碼

MCE 會自動將最後一次下載 EPG 節目表的執行時間以及下一次應該執行下載的時間都儲存在登錄機碼裡面,它們的位置分別是在:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Media Center\Service\EPG\dlLastTime 與 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Media Center\Service\EPG\dlRegTime。儲存在裡面的值是從 1601 年 1 月 1 日開始到某個時間點的累計經過時間,單位為 100 奈秒 (nanosecond, ns),亦即 1 千萬分之 1 秒。可是當您開啟「登錄編輯程式」並找到 dlLastTime 與 dlRegTime,卻怎麼看都看不出來裡面的值居然會是累計經過時間,因為裡面的數值都是十六進位且採用 Qword 格式存放。沒關係,我們即將展開破解 EPG 更新時間密碼之旅。

存放 EPG 更新時間密碼的機碼
圖 19 存放 EPG 更新時間密碼的機碼

MCE 內建有一個用來診斷 Windows 時間問題的命令提示字元小工具:w32tm.exe,其中有個 /ntte 的參數可以將以十進位顯示的 NT 系統時間(NT Time Epoch,簡稱 NTTE)轉換成我們人類可以讀取的格式,不僅只顯示 GMT 時間,連本地的時間也會顯示。使用的方式就是先開啟【命令提示字元】視窗,然後輸入 w32tm /ntte <十進位的時間數值>,接著要按下 Enter 鍵以便執行該命令。那麼 <十進位的時間數值> 要怎麼計算呢?雖然 MCE 【附屬應用程式】內附的小算盤小歸小,但是功能還不差。所以請先開啟小算盤,選取【檢視】功能表中的【工程型】,然後再選取【檢視】功能表中的【十六進位】。接著就是將登錄機碼中的 dlLastTime 與 dlRegTime 值,以相反的順序,一個位元組一個位元組地把值輸入到小算盤裡。

舉兩個例子來作個說明,相信這樣大家可以更清楚地知道該如何進行。假設 dlLastTime 的值是 88 7c d7 ca b6 93 c6 01,那麼就要在小算盤裡輸入 01c693b7cad77c88,您會發現小算盤會自動去掉最前面的 0,因為這個 0 不影響計算的結果。接著請按一下【十進位】那個選擇鈕,此時會得到 127952052723088520 這個十進位的結果。在【命令提示字元】視窗中,輸入 w32tm /ntte 127952052723088520,並按下 Enter 鍵,可以看到如下的結果:

C:\>w32tm /ntte 127952052723088520 148092 15:48:21.8055816 - 2006/6/19下午 11:41:12 (local time)

此意味著,EPG 最後一次下載的執行時間是在本地時間為 23:41:12,也就是 GMT 時間15:48:21,沒錯吧!台灣的時區比 GMT 快八個小時。接下來,我們繼續來看看 dlRegTime。個人的 dlRegTime 值是 b5 44 92 80 5c 94 c6 01,所以在小算盤裡先按一下【十六進位】選擇鈕,然後輸入 01c6945c809244b5,接著按一下【十進位】那個選擇鈕,此時會得到 127952764441609397 這個十進位的結果。在【命令提示字元】視窗中,輸入w32tm /ntte 127952764441609397,並按下 Enter 鍵,可以看到如下的結果:

C:\>w32tm /ntte 127952764441609397 148093 11:27:24.1609397 - 2006/6/20下午 07:27:24 (local time)

其實這個下一次執行 EPG 下載時間的記錄,可以在【事件檢視器】裡查到。開啟【事件檢視器】之後,選擇【Application】事件類別,用滑鼠左鍵在來源為【Media Center Scheduler】的事件上按兩次,即可開啟【事件內容】對話視窗,在【描述】文字方塊會顯示類似的說明:下一個已排程的最新電視節目表清單(EPG)下載作業是 6/20/2006 11:27:24。等一下!怎麼會是用 GMT 時間,而不是本地時間呢?萬一下載 EPG 的時間都剛好是電腦關機睡覺的時間,那不就沒辦法取得最新的節目表了嗎?然而,事實上,在【事件檢視器】裡所看到的執行 EPG 下載時間的確是本地時間,也就是說,我們使用 w32tm /ntte換算出來的 GMT 時間就是本地執行 EPG 的下載時間,只是不知道為什麼微軟會這樣直接把 GMT 時間當作本地時間,徒增大家在分析下載時間的困擾。

下一次執行 EPG 的下載時間
圖 20 下一次執行 EPG 的下載時間

先不管這件事,我們的重點是在破解 EPG 時間的密碼,既然已經破解完成了,接著我們將使用圖形化工具來調整 EPG 下載時間,深怕大家改錯機碼,還得自己動手去計算與修改機碼,十進位、十六進位轉換來、轉換去的,導致更多問題,因此使用現成的工具是最簡單的作法。首先請到 http://tinyurl.com/mck92 下載 Change Guide Download Time for MCE,下載完畢之後,將壓縮檔 EPG_ChangeDownloadTime.zip 解開,並執行 EPG_ChangeDownloadTime.exe。在畫面中,我們可以看到上次下載 EPG 的時間,而在這個時間的下面,您可以指定一個新的下載時間,要注意的是,這個時間格式是 24 小時制的。指定完成之後,請按一下【Set】按鈕,此時會出現一個提示對話方塊,提醒您設定已經寫入到登入機碼裡,而且必須重新開機才能讓新的設定生效。就按照它的指示重新啟動 MCE 吧!

變更 EPG 下載時間
圖 21 變更 EPG 下載時間

等待 MCE 重新啟動之後,開啟【事件檢視器】裡的【Application】事件類別,用滑鼠左鍵在來源為【Media Center Scheduler】的事件上按兩次,接著您可以看到【事件內容】對話視窗中的【描述】文字方塊裡的時間已經變成您先前所指定的時間了。

MCE 預設會一個星期會與網路上的時間伺服器同步一次,如果您希望縮短更新週期,可以到 http://tinyurl.com/qg85a 下載調整時間的圖形化工具。使用方式很簡單,將壓縮檔裡面的檔案解開並放到某個資料夾中,接著到該資料夾中,在 InternetTime.exe 上按兩次滑鼠左鍵來執行該工具。依照您要的更新週期作設定,可以有每週、每日、每個小時以及自訂的週期,設定完成之後,請按下【Apply】按鈕,並按下提示對話方塊中的【是】按鈕。同樣地,這個設定也需要重新啟動 MCE 之後才會生效。

縮短時間同步的更新週期
圖 22 縮短時間同步的更新週期

小檔案
Qword (quadruple word) 是一種資料的計量單位,它是 Dword 的兩倍,也是 Word 的四倍。在常見的 32 位元 x86 系統上,Qword 的大小應該是 64 個位元,因為一個 Word 的大小是 16 個位元。而在近年盛行的 AMD64/EM64T 這種 64 位元 x86 的架構來說,Qword 的大小就會高達 256 個位元,此乃係在 64 位元系統上,一個 Word 的大小真的就是 64 個位元。

手動備份錄製的節目表

隨著 XML 的盛行,很多軟體的設定檔也都逐漸改用 XML 檔案格式,微軟也不能免俗地要跟上流行腳步,尤其是在 MCE 裡,可以發現更多 XML 的設定檔。例如位於 C:\Documents and DocumentsandSettings\All Users\Application Data\Microsoft\eHome\Recording 裡的 Recordings.xml,就是用來儲存錄製的節目表資訊。當您使用【檔案及設定轉移精靈】要把舊 MCE 電腦中的檔案與設定轉移到新的 MCE 電腦時,您將會發現這些錄製的節目表資訊沒有被複製到新電腦中。發生問題的原因乃是因為「檔案及設定轉移精靈設定檔」 (Migsys.inf) 中並未列出要處理 Recordings.xml,此時只能請您手動把 C:\Documents and DocumentsandSettings\All Users\Application Data\Microsoft\eHome\Recording 裡的 Recordings.xml以 及 Recordings.xml.bak 複製到新的 MCE 電腦中。

其實不是只有在更換新電腦時,才可以手動複製 Recordings.xml 以及 Recordings.xml.bak 檔,就連您變更不同的電視訊號來源時,也是可以手動備份檔案。例如:從有線電視訊號來源切換成收看數位電視時,就可以先把錄製的節目表設定檔 Recordings.xml 與 Recordings.xml.bak 先行備份起來。等到換回有線電視收看時,再把這兩個檔案覆蓋回去。

任務完成了嗎?

說實在的,真的要把 MCE 給完全駭掉,絕非一篇文章三言兩語就可以說清楚、講明白,因此本文儘量使用現成的工具來讓您可以親自動手去 DIY。同時也期待有更多的人可以加入 MCE 的使用行列之中,雖然說,目前微軟提供的 EPG 比起以前自己使用 TVxb 搭配QuickGuide 來 DIY 所產生的 EPG 還要爛,但人總是有惰性的,要週期性地手動更新 EPG,還不如把 MCE 電腦開著,讓 MCE 自動定時去更新來的方便。 事實上,MCE 還有幾多可以去駭的地方,比如說,把 ehres.dll 這個資源檔裡面的聲音檔、按鈕圖片、主畫面的背景圖換掉。但由於工程浩大,若沒有一步一步地說明,相信有不少人可能會打退堂鼓,不想玩下去了。如果有興趣的朋友可以自行去找到修改資源檔的工具(例如:RecHack),並準備好聲音檔、按鈕圖片、主畫面的背景圖,自己嘗試去駭看看吧!

附註
本文原載於:PC DIY 2006 年 11 月份(作者:鄔愷民、卓立民)。

沒有留言:

張貼留言