23 Mart 2010 Salı

The following boot-start or system-start driver(s) failed to load: i8042prt Hatasinin Giderilmesi

Birkaç gün önce IBM x3400 M2 sunucuya Windows 2003 Server kurduktan sonra, sunucuyu yeniden başlattığımda

“The following boot-start or system-start driver(s) failed to load: i8042prt.”

hatasını aldım. i8402prt servisi PS/2 portlar ile ilgili olduğundan ve sunucu üzerine kurulum sırasında bağladığım klavye ve fare USB olduğundan sorunu ilk anda tam olarak anlayamadım. Hata Event Viewer’da 7026 ID ile kayıt altına alınmıştı.

Biraz araştırınca sorunun ne olabileceğini anladım: i8042prt servisi başladığında kontrolcü (controller) üzerinde herhangi bir cihaz bağlı olmadığı için kontrolcü kendisine bir IRQ atayamıyor ve bu sebepten başlayamıyordu. Sorunun çözümü şu şekilde:

  1. Regedit’i çalıştırın (ve mümkünse hemen File –> Export ile yedeğini alın)
  2. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\i8042prt\Parameters altında “Headless” isimli bir REG_DWORD kaydı oluşturun ve değerini 1 olarak atayın.
  3. Sunucuyu yeniden başlatın.
Bir başka çözüm de i8042prt servisinin başlatılma durumunun değiştirilmesi. Bu durum  

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Start

altındaki Start REG_DWORD kaydı ile belirleniyor:
  • REG_DWORD = 0 ise servis kapalı (disabled)
  • REG_DWORD = 1 ise servis açık (enabled)
  • REG_DWORD = 4 ise servis kısıtlı (restricted) durumda.
Bizim sorunumuzu servisin kapatılması (DWORD değerinin 0 olması) ile çözülmüyor. Ben DWORD değerini 4 yaparak bu sorunu giderdim.