Есть еще такая хрень, что разные ядра распаковываются в один hal.dll
Например, на самом деле это может быть halacpi.dll, вот например
почитайте. А исчезнуть файл мог, потому что есть вирус, поражающий hal.dll а антивирус соотв зараженный файл сносит, или просто этот хал не загружается. Если плохой еще остался, то посмотрите свойства, какое у него имя было изначально, именно то и надо. Например на моей машине halmacpi.dll, это внутри.
UPD еще неплохо было бы язык системы и сервиспак.