跳到主要內容

發表文章

目前顯示的是 五月, 2007的文章

電腦無緣無故變慢?!

今天我的Windows XP突然無緣無故的變慢了?原本以為是電腦中毒還是被種了後門。但是,用了好幾個掃毒程式及後門檢查工具後,卻一無所獲。

後來以為是硬體的問題,於是就想是不是硬碟快壞掉了。但是,看了很久還是不覺得硬體上有什麼問題。因為一切的運作都很正常,就只是變慢了而已。

後來在網路上面突然看到有人說Windows XP有時會自己將硬碟由DMA mode換成PIO mode來存取。而且,還不會自己換回來。於是趕快透過下面的操作將硬碟的設定調出來看。

裝置管理員->IDE ATA/ATAPI控制器->主要IDE通道->進階設定裝置管理員->IDE ATA/ATAPI控制器->次要IDE通道->進階設定如果設定畫面上的轉送模式不是PIO only,可是目前轉送模式卻是PIO模式,或者是較低的DMA模式(以目前較新的硬碟而言,跑不到Ultra DMA 5就有點怪了)。

根據Microsoft的說法,當Windows遇到超過6次的硬碟CRC錯誤,之後就會嘗試將硬碟以較低的模式運行。而且也不知道是否會自動回覆成較高的模式。所幸,在網路上面有人提供了一些有效的方法。我自己試過有效的就是修改下面的registry值。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\ {4D36E96A-E325-11CE-BFC1-08002BE10318}\000*其中,根據每個人電腦裝置的不同,可能會有0000到0005或更多的數字。透過其下的DriverDesc找到您對應的裝置。並在這下面新增一個型態為DWORD的鍵值:
ResetErrorCountersOnSuccess = 1如果這個鍵值已經存在,就把他的值修改為1。

另外也有人提出另外一種作法,就是把同一個Registry location下的MasterIdDataCheckSum及SlaveIdDataCheckSum的鍵值給移除。如果上述的作法不行,不妨試試這個作法。

雖然,在Microsoft網站上面表示這個問題在Windows XP SP2已經被解決。但是我的電腦已經是SP2了,而且所有該裝的update也都裝了。不過,還是有這個問題。

完成後,重新開機應該就可以感覺到系統速度恢復正常。如果系統仍舊沒有提昇速度,那就表示您的問題可能…

在Microsoft VC8寫的程式找不到DLL的問題

最近在新版的Visual Studio下面寫了一個小程式,本來測試是沒什麼問題的。沒想到換到另外一台電腦上面執行就出現問題了。花很多時間才把真正的問題找出來。原來是Microsoft的side by side技術所造成的。想知道怎麼解決的話,就看看下面這篇文章吧。
在Microsoft VC8寫的程式找不到的DLL問題

一個用來計算CRC16及CRC32的Python模組

這幾天需要在Python下面計算CRC的值。找了很久都沒有找到一個合用的Python模組。所以就決定自己來寫了一個。這個模組是純Python的。同時,並沒有綁定特定的多項式。所以屬於比較一般用途的。有需要的人就參考參考吧。

一個用來計算CRC16及CRC32的Python模組