i8042prt failed to load on boot

When you boot up your computer you get a message that atleast one service failed to start. On checking the eventlogs you figure out that i8042prt failed to load. You do not face this issue on all your computers but mostly on ‘headless’ servers.

You get the following error message in Windows event logs.

Event Type:                 Error
Event Source:              Service Control Manager
Event Category:           None
Event ID:                     7026
Date:                          11/13/2007
Time:                         9:51:01 AM
User:                          N/A
Description:
The following boot-start or system-start driver(s) failed to load: i8042prt

i8042 is a system service that controls ps2 mouse and keyboard ports. Some of the features of this driver are:

  • Hardware-dependent, simultaneous operation of a PS/2-style keyboard and mouse device
  • Management of I/O Port and IRQ settings and routines
  • Plug and Play and power management
  • Operation of legacy devices
  • Other interface and interaction components between the operating system and these types of devices

However if your server does not have a ps2 device attached or your BIOS disables ps2 ports to save IRQ, i8042 would still search for hardware and if it deos not find any ps2 device OR gets a weird data from BIOS, it would error out.

There are two ways to fix this:

A. Create a parameter in i8042 service properties to identify it as a headless node.

  • Go to Start > Run and put "regedit.exe" and click "Ok"
  • Navigate to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\i8042prt\Parameters in Registry Editor
  • Add a new REG_DWORD "Headless" and set the value to 1
  • Reboot the server.

OR

B. Disable the i8042 service from registry.

(**Be careful you may not be able to use PS2 Mouse and keyboard if you do so**)

  • Go to Start > Run and put "regedit.exe" and click "Ok"
  • Navigate to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\i8042prt in Registry Editor
  • Change the REG_DWORD value "Start" from  "1" to "4". This sets the i8042 service from SERVICE_BOOT_START to SERVICE_DISABLED
  • Reboot the server

The reason why it only happens in some cases only is because some BIOSes have a setting to enable/disable ps2 ports. You can set this to enable, disable or auto.

In auto mode, if it does not detect a ps2 device it might disable the ps2 port to save an irq. However, some BIOSes have no setting at all and behave as "auto" mode by default. If i8042 search for hardware and finds no ps2 or gets a weird data from BIOS pnp, might error out.

————– End of Document —————–

Tags: Windows Server 2003

Published Date: 20071113

Advertisements

3 Responses to “i8042prt failed to load on boot”

  1. mercedesman1981 Says:

    Thanks, worked for me.

  2. Phil Johnson Says:

    Setting the “headless” registry entry worked for me too. The service only started failing after a set of successful MS patch updates.

    Thanks!

  3. Moreau Gilles Says:

    Works for me too 🙂
    Thank’s a lot


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: