Abstract
Access Connection是ThinkPad的招牌軟體,相當好用,不過XP開機時在『載入你的個人設定』時會卡很久,本文提出解決方法。

Introduction
轉貼自http://thinkpanda.wordpress.com/2006/11/29/%e7%99%bb%e5%85%a5%e7%9a%84%e7%ad%89%e5%be%85/與 http://thinkpanda.wordpress.com/2007/01/02/%e5%a6%82%e4%bd%95%e6%aa%a2%e6%9f%a5windows-xp%e7%99%bb%e5%85%a5%e7%b7%a9%e6%85%a2%e7%9a%84%e5%95%8f%e9%a1%8c/

自從T60 入手後, 發覺在Windows XP 登入時老是要在”Loading your User Settings” 顯示時等好一陣子, 大概是一分鐘吧. 這段時間似乎小黑沒有什麼忙著, 就只是等. 

後來發現這等待時間和AccessConnection 掛在登入過程的一個DLL 有關. 那個叫ACNotify.dll 的東東.於是我在Registry動了點手腳. 

在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\ACNotify鍵下的Asynchronous 的值由0改成1, 那麼登入時就快如閃電的進入桌面了. 

有效歸有效, 不過我還是不太肯定有沒有副作用. 還有, 我的AccessConnections 是4.12, 不知道這方法對其他版本是否同樣有效. 

後記: 

如何找到這個改動呢。先看這個 。做了所述的改動後,就可以看到登入時有什麼Windows Notification Package DLL 在動作。在我的Thinkpad, 我看到的是ACNotify.dll 佔用了最多時間。從Microsoft MSDN得知,有個Asynchronous 數值可以令Windows 以一個分開的Thread 去調用有關DLL,那麼ACNotify.dll 的工作就可以不佔用時間了。放膽一試,真的可行。 

在Windows XP 登入後,我們會見到”Loading your personal settings” 訊息,然後要等好一陣子才能夠進入Windows 桌面。要等多久視乎這Windows 裝了什麼軟件。但問題是我們往往不知道在那段等候時間中,Windows 在幹什麼。故此也無從判斷是什麼程序佔用了這段時間。 

其實Windows 的 Registry 已備有設施讓我們作這樣的檢查。在Registry 有這樣的一個value: 

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\
policies\system\verbosestatus 

這個值的預設內容是0。如果將之改成1,那麼在登入和登出Windows XP 是就不會在畫面顯示”Loading your personal settings” 訊息,而以更詳細的資訊取代。其中一項重要資訊就是執行已登記成為Winlogon Notification Package 的DLL。要知道有什麼DLL 已經登記,可在registry 中查看 

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\
Winlogon\Notify 

啟動了verbosestatus 之後,我們就可以看到什麼DLL 佔用了最多時間,從而思考因應之道。 

這注意,Windows Vista 已取消支援Winlogon Notification Package, 所以以上所說的不適用於Windows Vista. 

參考網頁: 
Microsoft TechNet (verbosestatus)

See Also
(原創) 如何自行在ThinkPad X61安裝Windows XP Professional SP3? (NB) (ThinkPad) (X61) (OS) (Windows)

arrow
arrow
    全站熱搜

    戮克 發表在 痞客邦 留言(0) 人氣()